У меня 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-соединения. Пока никаких проблем.