44-контактная индустриальная вспышка на встроенных системах Debian замораживается через неопределенное время

На встроенной системе, использующей 44-контактную трансцендентную промышленную флэш-память, через некоторое время я замечу, что не могу ни читать файлы, ни записывать на диск. Я использую ядро ​​3.2.0.* BPO i686 SMP PAE. Иногда это сопровождается зависанием ядра бэкпорта, но это всегда вызывало полное зависание системы в ядре Debian 6 по умолчанию. Когда я пытаюсь перезагрузиться в этот момент, он всегда зависает, если я включаю питание (что обычно нормально, так как это корневая система только для чтения), я обычно получаю зависшую загрузку на fsck, жалуясь, что один из записываемых разделов не был чисто размонтирован. fsck /dev/... -y всегда исправляет это.

Когда я заметил это, я изменил наше основное приложение, чтобы только читать из ide при запуске и записывать только в файлы конфигурации, когда клиент вызывает функцию WriteConfigurationToDisk. Это резко улучшило положение, однако, через некоторое время то же самое начинает происходить. Это, кажется, не происходит повсеместно, только на 10% продукта.

Это корневая система только для чтения. Каждый раздел является журнальной файловой системой ext3. Кроме того, только операционная система записывает что-либо на диск - и большая часть этого находится при загрузке. Любые идеи о том, что я должен проверить?

Обновление Я проводил дополнительные исследования, и кажется, что ext3 может убить мою флешку, поэтому замороженные операции чтения / записи являются результатом плохой флешки. Должен ли я переключиться на JFSS2?

1 ответ

На SSD вы можете попробовать использовать файловую систему ext4, а затем смонтировать ее с помощью опции discard. В фстабе:

UUID=XXXXXXXXXXXX       /            ext4     discard         0       1

Добавьте любые другие параметры, которые вы хотите, например, noatime или errors=remount-ro.

Параметр сброса потенциально включает TRIM в твердотельном накопителе, что может увеличить его срок службы, https://ext4.wiki.kernel.org/index.php/Ext4_Howto.

Однако это будет работать, только если другие (базовые) системы также поддерживают это.

Я не уверен, поддерживает ли ваш флеш-накопитель TRIM, поскольку это не часть самих микросхем, а часть логики диска, который содержит микросхемы. Мне нужно точно знать, что это за устройство.

Но просто изменение самой файловой системы может облегчить ситуацию, я предпочитаю xfs. Файловая система ext3 достаточно хороша для многих целей, но у нее больше проблем с восстановлением (требующих fsck -y), чем у других, таких как xfs, которые я никогда не обнаруживал для меня.

Установка этого параметра в /etc/default/rcS включает автоматическое восстановление (ext3) файловой системы при загрузке, не нужно нажимать "y":

FSCKFIX=yes

Обновление: я проверил характеристики этого устройства и оказалось, что оно не поддерживает TRIM, хотя это довольно симпатичное устройство. Вы правы в отношении ведения журнала, и если TRIM не поддерживается, вы можете добиться большей надежности при использовании файловой системы ext2 или другой файловой системы без журналирования.

Другие вопросы по тегам