1

У меня OCS Vector 150 с установленной на нем Ubuntu 15.04 . Диск вставлен в Transcend StoreJet 25S3 .

Мне довольно удобно пользоваться им как дома, так и на работе. Также я могу просто подключить его к любому ПК и везде иметь свою собственную полностью сконфигурированную среду .

Проблема в том, что это решение слишком чувствительно к потерям питания / соединения, вызванным плохим USB-портом / плохим кабелем / реальной потерей питания / и т.д. Это означает, что если я, например, отключу кабель во время некоторой активности с файловой системой, такой как загрузка / компиляция / копирование файлов / и т.д., Я получу полностью сломанную файловую систему при следующем подключении диска. Я использую ext4 , но файловая система все равно ломается. Это похоже на кучу ошибок после запуска fsck . fsck исправляет эти ошибки, но никогда не восстанавливает все файлы.

Еще более (не) забавно, что содержимое файла может быть полностью перепутано между всеми файлами, которые записывались во время потери соединения. На самом деле даже между файлами, которые читали. Однажды я увидел, что в двоичном файле dpkg есть несколько json, вероятно, из данных профиля firefox. Это делает восстановление довольно неприятным.

Я стараюсь не хранить никаких важных данных на диске, кроме тех, которые могут быть легко восстановлены.

Когда приходит армагеддон, я использую debsums чтобы найти испорченные системные файлы (когда сами debsums/dpkg/zsh/etc не сломаны :)), переустановить соответствующие пакеты и вытащить из своих репозиториев git некоторые файлы конфигурации и скрипты. Поскольку диск ssd довольно быстрый, это не займет много времени. Если урон невелик, может потребоваться менее 10 минут, чтобы восстановить почти все и сделать систему (по крайней мере, выглядит) чистой.

Таким образом, после этой длинной истории возникает вопрос: что, по вашему мнению, можно улучшить? Я знаю, что вряд ли найдется простое и приятное решение, но я был бы очень признателен, если бы вы поделились своими мыслями по этой теме.

ОБНОВЛЕНИЕ 10 СЕНТЯБРЯ 2015 В настоящее время я не думаю, что причина повреждения файловой системы заключается в физическом воздействии. Я использую устройство в основном дома и на работе, и, по статистике, оно гораздо чаще повреждает дома, чем на работе, в то время как активность на работе включает компиляцию, vcs pull/commit, то есть тяжелый дисковый ввод-вывод. Однажды мой коллега случайно уронил диск из шасси во время моей обычной деятельности. Он отключился, и я подумал, что это вызовет серьезные проблемы. Но когда я подключил его обратно и перезагрузил, fsck не показал ошибки! В то же время дома я на минуту загрузился в kubuntu с этого диска, открыл браузер, перезагрузился и вуаля! Потерял около пары тысяч инодов.

Симптомы очень похожи на эти: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/992424 и https://bugzilla.kernel.org/show_bug.cgi?id=42723

Я видел почти то же, что видели эти парни:

[11742.577091] EXT4-fs error (sdc2) ext4_mb_generate_buddy:757 group 1, block and bg descriptor inconsistent: XXX vs YYY free clusters
[11742.577337] Aborting journal on device sdc2-8

Поскольку проблема каким-то образом зависит от машины, и у меня нет никакой другой подсказки, я склонен полагать, что проблема заключается в логике контроллера / мощности USB или что-то в этом роде.

Теперь возникает вопрос: как сделать файловую систему более надежной? Вы думаете, что brtfs поможет?

ОБНОВЛЕНИЕ 29 января 2016

Я сдался. Я снял левую часть корпуса дома и на работе и использую SATA-соединения. Пока никаких проблем.

2 ответа2

0

Будет ли высокопроизводительный USB-накопитель большой емкости улучшением? Он весит меньше, не трясется (так как не нуждается в дополнительной поддержке) и будет относительно безопаснее в разъеме USB. При 128 ГБ цена сопоставима, и я сомневаюсь, что вы все равно сможете в полной мере использовать производительность SSD.

ext4 сообщит об ошибках, но в этом случае журнализированная файловая система должна быть лучше, чем журнализированная.

Возможно, Btrfs будет более подходящим, поскольку он реализует Copy on Write (COW).

0

Вау, это звучит ужасно. Ext4 является журналируемой файловой системой, но это похоже на проблемы с не журналируемой файловой системой. Мы видим это недавно, когда люди используют exFAT на дисках, которые переключаются между компьютерами Windows и Mac и не отсоединяются должным образом, некоторые операции записи все еще происходят, или, например, ваши сценарии.

Удивительно слышать, что ваше питание / соединение может быть настолько плохим, что это может произойти на любой частоте. Я слышал, как другие люди использовали внешние USB-накопители для запуска Ubuntu без проблем. Чтобы было ясно, как часто это происходит без каких-либо действий с вашей стороны, и как часто это происходит из-за того, что вы намеренно отключаете его?

extundelete - хороший инструмент для ограниченных опций, которые Ext4 предоставляет для восстановления файлов, однако это не случай удаленных данных, а повреждение. Если вы (надеюсь, что нет) постараетесь жить с подобными потрясениями, я бы определенно попробовал файловую систему с лучшими вариантами восстановления, чтобы у вас был лучший вариант в крайнем случае. Я не уверен, что это будет для Linux. Btrfs - отличная идея. Это не будет хорошим вариантом восстановления в крайнем случае, но, возможно, копия при записи может спасти вас от головной боли.

Кроме того, я не ожидал, что он висит на USB-кабеле, верно? (как было впечатление, которое я получил в другом ответе). Надеюсь, он не движется. Я должен спросить. Любые другие вещи, которые я не понимаю?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .