Как стать автором
Обновить

Комментарии 5

Правильно понимаю, что статья описывает как вы сделали rootfs в режим ro и сделали резервное копирование с перемонтированием файловой системы?
Просто rootfs в ro — это нормальная практика, а все временные файлы размещать в tmpfs. Сохранять только ценные логи (в идеале копированием по крону, либо по критической ошибке). Думал, что nand с ubifs и иже с ними уже никто не использует, чтобы не тратить ресурсы процессора на поддержку файловой системы.
Не совсем так, вопрос не в том, где хранить временные файлы. Наше программное обеспечение является конфигурируемым. Конфигурация осуществяляется командами, передаваемыми по сети. После перезагрузки устройства, конфигурация должна сохраниться. Я описал наше решение как сделать так, чтобы при сбоях питания, наша система не оказалась повреждена и продолжила работу в обычном режиме. На nand устанавливается rootfs (в свой раздел ro), а также выделяются отдельные разделы для хранения конфигурации, которыми мы и управляем. Даже в варианте, который Вы привели, при сохранении логов или копировании с использованием cron, файловая система может повредиться, если в момент записи выключится питание.
файловая система может повредиться, если в момент записи выключится питание.

Не работал с UBIFS, но разве у неё нет возможности избежать таких ситуаций? У jffs2 совершенно точно была табличная возможность организации так, что в случае сбоя при записи востанавливается предыдущая копия rootfs. Что гарантирует стабильность работы. У роутеров логи пишутся в nand и как-то же они работают и даже не в ro.

Прошу меня правильно понять, ваша статья полезна и интересна, но разве это не велосипед?
Я написал о реальных сбоях, с которыми мы столкнулись. Надежность для наших изделий является критически необходимой. Да, ubifs, как и jffs2 имеют механизмы восстановления данных, но они не дают 100% гарантии. На хабре кстати была статья об этом.
Спасибо за ссылку.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации