LINUX.ORG.RU

[embedded] debian + CF = какую ФС выбрать?

 


0

0

Имеем одноплатник с CompactFlash и 2Gb ОЗУ.
На CF установлен базовый дебиан и xfce.

Корень должен быть rw для того, чтобы перенастройка ПО вызывала минимум телодвижений.
Но требуется максимально продлить жизнь флешки.

inotifywait подсказал что следует смонтировать в ОЗУ:

tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /var/run tmpfs defaults,noatime 0 0
tmpfs /var/log tmpfs defaults,noatime 0 0
tmpfs /var/lock tmpfs defaults,noatime 0 0
tmpfs /var/tmp tmpfs defaults,noatime 0 0
tmpfs /var/lib/logrotate tmpfs defaults,noatime 0 0
tmpfs /var/lib/mlocate tmpfs defaults,noatime 0 0
tmpfs /var/cache/man tmpfs defaults,noatime 0 0

Гугление подсказало, что для корня лучше брать ext2. Но поскольку одноплатник вырубается в режиме "вилка из розетки" при загрузке всегда выполняется проверка ФС и, как ни странно, проскакивают сообщения об ошибках.
Ext3 как бы надежнее, но ведет журнал. Поэтому вопрос: на сколько сильно Ext3 сократит жизнь карты памяти (монтирование с параметром noatime) по сравнению с Ext2? Запросов на запись будет минимум - в основном на чтение.

Возьми voyage -- это дебиан для ембедед с CompactFlash.
Я пользовался -- все замечательно.

sdio ★★★★★
()

>ext2. Но поскольку одноплатник вырубается в режиме "вилка из розетки"
>Поэтому вопрос: на сколько сильно Ext3 сократит жизнь карты памяти

Я бы вопрос по-другому сформулировал - сколько протянет твоя ext2 в таком режиме. Я например после 3-4 отключений потерял /lib на днях в которую обычно вообще ничего не пишут :) CF кстати достаточно интеллектуальные карточки, утверждать не буду но я бы купил лучше недешевую CF которая с большой вероятностью будет распределять нагрузку от записи на секторы.

kerosinkin
()
Ответ на: комментарий от kerosinkin

чувствую, придется все монтироварь в ro

VladimirMalyk ★★★★★
() автор топика

>Корень должен быть rw для того, чтобы перенастройка ПО вызывала минимум телодвижений. Но требуется максимально продлить жизнь флешки.

На корне можно попробовать использовать связку jffs2+squashfs+aufs (для объединения и copy-on-write).

Sectoid ★★★★★
()
Ответ на: комментарий от Sectoid

гугл говорит, что ext3 в среднем пишет всего на 10-15% больше чем ext2 (при наличии noatime,nodirtime,commit=60). то есть можно оставить и ext3 по большому счету.

наиболее устойчивым наверно будет вариант: /boot, /, /home, где / смонтироан ro (при этом в tmpfs смонтированны те части корня куда идет интенсивная запись), /home ext3,rw,noatime,nodirtime,commit=60.

если нужно что-то установить или поменять - монтирование корня в rw на время.

VladimirMalyk ★★★★★
() автор топика
Ответ на: комментарий от VladimirMalyk

Монтируем корень в ro (squashfs), те части, где не нужен persistence == tmpfs. Там где нужна запись -- rw (jffs2) через aufs с copy-on-write. работает на ура. И не нужно извратов вроде "монтирование корня в rw на время."

Sectoid ★★★★★
()
Ответ на: комментарий от sdio

вояж я ковыряю, но пока не успел его заценить.

VladimirMalyk ★★★★★
() автор топика
Ответ на: комментарий от Sectoid

А не получится через пару-тройку апдейтов, что в squashfs мертвый груз, а все перекочевало на jffs2?

sdio ★★★★★
()
Ответ на: комментарий от Sectoid

> Там где нужна запись -- rw (jffs2) через aufs с copy-on-write.

тут проблема не в том чтобы части корня отмонтировать на запись - а в том чтобы знать, какие именно части нужно монтировать на запись.
скажем, работу в дежурном режиме я проанализировал - тут проблем нет. касательно же остального (например apt-get install something) хз что монтировать на запись, а что нет.

вариант с временным переводом корня в rw и обратно в ro хоть и топорный, но позволяет достигнуть желаемого.

VladimirMalyk ★★★★★
() автор топика
Ответ на: комментарий от VladimirMalyk

>тут проблема не в том чтобы части корня отмонтировать на запись - а в том чтобы знать, какие именно части нужно монтировать на запись.

тогда вообще монтируй / в ro и потом поверх него / в rw через aufs.

Sectoid ★★★★★
()
Ответ на: комментарий от Sectoid

>Там где нужна запись -- rw (jffs2) через aufs с copy-on-write. работает на ура.

Правильно ли я понял что jffs2 работает у вас на ура на CF ?

kerosinkin
()
Ответ на: комментарий от Sectoid

Кстати, может кому доводилось на 2.6.28 & 2.6.29 squashfs 3.3 прикрутить (это извраты только из-за инсталятора Lenny).

elipse ★★★
()
Ответ на: комментарий от Sectoid

> тогда вообще монтируй / в ro и потом поверх него / в rw через aufs.

после перезагрузки все данные с / aufs пропадут, я правильно понимаю?

VladimirMalyk ★★★★★
() автор топика
Ответ на: комментарий от VladimirMalyk

А не соизволит ли благородный дон пройтись в гугл и немного почитать что есть AuFS?...

>после перезагрузки все данные с / aufs пропадут, я правильно понимаю?

Нет, не пропадут. Все изменённые данные окажутся на той файловой системе, которую вы указали для записи при монтировании AuFS.

Sectoid ★★★★★
()
Ответ на: комментарий от kerosinkin

Да, с jffs я немного провтыкал. Для CF, конечно, имеет смысл использовать вместо неё ext2.

Sectoid ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.