У меня есть Raspberry Pi, где я хочу подключить внешний жесткий диск. Теперь я думаю, какую файловую систему я буду использовать. Проблема в том, что Raspberry Pi будет время от времени выключаться, не отключая жесткий диск. Итак, какая файловая система является наиболее надежной для этого варианта использования?
3 ответа
Практически любая файловая система для чтения и записи не ведет себя так хорошо, когда ее закрывают в середине любой операции. Использование файловой системы с журналом будет лучше, это, по крайней мере, сведет к минимуму любые проблемы. На самом деле я не вижу большой разницы между различными вариантами.
Вы должны строго рассмотреть возможность использования чего-то вроде autofs для монтирования файловой системы только по требованию. Autofs может быть настроен на размонтирование файловой системы, когда она не использовалась после настраиваемого периода времени. Таким образом, ваша файловая система будет отключена и полностью безопасна, если вы не выключите систему, пока она находится в середине или сразу после того, как вы попытались что-то сделать с файловой системой.
есть учебник по настройке автоматического размонтирования?
Не зная, какую версию Linux вы используете, у меня нет конкретного руководства. Вот несколько ссылок, которые могут помочь вам начать. Ключевым моментом является --timeout
который устанавливает, как долго файловая система будет оставаться смонтированной, если файлы не используются.
- http://wiki.debian.org/AutoFs
- http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-nfs-client-config-autofs.html
- http://www.autofs.org/
- http://tldp.org/HOWTO/text/Automount
- http://www.linux-consulting.com/Amd_AutoFS/autofs.html
- http://linux.die.net/man/5/autofs
- http://linux.die.net/man/5/auto.master
В принципе, это должно быть отличным вариантом использования для файловой системы с лог-структурой. У меня мало опыта с ними, но NILFS выглядит красиво и уже некоторое время находится в основном ядре Linux. В принципе, он создает каждое изменение в файловой системе как исправление, которое будет применено поверх предыдущего состояния. Таким образом, можно легко вернуться к предыдущему состоянию, если есть проблема с последним состоянием (например, из-за преждевременного сбоя питания), поскольку при обычном использовании ничего не перезаписывается.
С другой стороны, NILFS не так развита, как ext3, и почти не существует такого же количества инструментов восстановления, если что-то пойдет не так. Также обратите внимание, что когда я говорю, что в предыдущем абзаце все возможно, это может означать, что вам придется вручную скомпилировать и использовать какое-то программное обеспечение для этого.
NILFS также требует периодической очистки, так как перезапись или удаление файлов фактически не освобождают дисковое пространство. Я считаю, что это происходит автоматически по умолчанию. Возможно, вы захотите убедиться, что это происходит в то время, когда питание устройства не исчезает.
Вопрос звучит для меня очень плохо. Независимо от того, насколько сильна файловая система, остановка системы в процессе эксплуатации - это ежедневная покупка лотереи за серьезное повреждение файловой системы.
Используя GPIO, вы можете сообщить своему устройству, что вы хотите его переключить. (Обычные настольные ПК имеют такой линейный ввод давно).
С некоторой внешней цепью вы можете выключить ваше устройство только после окончания процедуры остановки. Но вы должны быть уверены, что плохие кошки держат свои лапы на линии электропередачи.
У меня есть Sheevaplug, где светодиод настраивается пользователем, и я добавил скрипт, который должен быть запущен непосредственно перед окончательной остановкой, который выключает этот светодиод. Больше не нужно сомнений или траты времени на попытки выяснить, когда пришло время выключить питание.