[RU] Повреждение файловой системы на флеш диске

Иногда Вы можете обнаружить свой риг с ошибками, подобными на фото ниже. В основном это связано со сбоем flash диска. Как правило наличие такой ошибки говорит о том, что Вам нужно заменить вашу флешку на новую (другую). Но Вы можете попытаться записать образ системы на нее заново.

Конечно, Вы можете попытаться восстановить её, но это требует немного навыков Linux администратора. Но для ускорения процесса дабы не тратить на это время рекомендуем просто записать образ заново.
Также не лишним будет напомнить, что хотя и HiveOS работает с флеш диска большинство контроллеров флеш накопителей капризные и могут привести к подобным сбоям. Поэтому стоит обратить свое внимание на какой-нибудь небольшой по объему SSD диск (16 Гб будет достаточно, возможно даже немного б/у).

Да, было такое пару раз. Думал, во флешке дело

Silicon Power 16Gb USB 3.0 серебристая, на всех работают. Transcend or DataTravel etc сыпятся на раз, после нескольких ребутов

Вопрос к разрабам:
Почему не отключаете журналирование ext4? Очевидно же, что флехи мрут из-за него.

Ладно, раз разрабы игнорят эту тему, попытаюсь я спасти ваши флешки)

Для отключения журналирования нужно будет подключить флешку к другой Linux системе, т.к. системный раздел должен быть не смонтирован, можно для этого использовать какой-нибудь LIVE образ типа Knoppix или подключить флешку к другой ферме с Hive.OS.

Запускаем

fdisk -l

и определяем имя диска (обычно /dev/sdb).

Отключаем журналирование на втором (ext4) разделе флешки:

tune2fs -O ^has_journal /dev/sdb2

Проверяем отключился ли журнал:

sudo dumpe2fs /dev/sdb2 | grep features

должно выдать примерно следующее:

 Filesystem features:      ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

Внимание! Если при этом в фичах присутствует “has_journal”, значит журнал не отключился, проверяйте, что сделали не так.

Если всё нормально, то для верности проверяем ФС на наличие ошибок:

sudo e2fsck -f /dev/sdb2

Готово. Можно грузить риг с флешки! После загрузки можно ещё разок убедиться, что нет журналирования:

dmesg | grep EXT4

Должно выдать:

[    4.813323] EXT4-fs (sda2): mounted filesystem without journal. Opts: (null)
[    7.316126] EXT4-fs (sda2): re-mounted. Opts: errors=remount-ro,commit=120

ATrump подскажи, что делать, после “tune2fs -O ^has_journal /dev/sdb2” выдает “The needs_recovery flag is set. Please run e2fsck before clearing the has_journal flag.” Пробовал подключать к другой ферме с HiveOS.

fdisk -l

Disk /dev/sda: 7.5 GiB, 8009023488 bytes, 15642624 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x244b7fbe

Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 43007 40960 20M e W95 FAT16 (LBA)
/dev/sda2 * 43008 14690303 14647296 7G 83 Linux

Disk /dev/sdb: 14.4 GiB, 15500574720 bytes, 30274560 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x244b7fbe

Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 43007 40960 20M e W95 FAT16 (LBA)
/dev/sdb2 * 43008 14690303 14647296 7G 83 Linux

Все, разобрался: надо было отмонтировать раздел “umount /dev/sdb2” перед “tune2fs -O ^has_journal /dev/sdb2”

Спасибо, надеюсь это поможет флэшке!