Встроенное устройство, раздел журнала, какая файловая система более устойчива и использует меньше операций чтения / записи?

Утилита sponge предназначена именно для этого случая. Если он у вас установлен, то ваши две строчки могут быть записаны:

tail -n 1000 myscript.log | sponge myscript.log

Обычно чтение из файла одновременно с записью в него ненадежно. sponge решает эту проблему, не записывая в myscript.log , пока tail не закончит его чтение и не завершит конвейер.

Установить

Чтобы установить sponge в системе, подобной Debian:

apt-get install moreutils

Чтобы установить sponge в системе RHEL / CentOS, добавьте репозиторий EPEL, а затем выполните:

yum install moreutils

Документация

Из man sponge :

sponge считывает стандартный ввод и записывает его в указанный файл. В отличие от перенаправления оболочки, sponge поглощает весь свой ввод перед записью выходного файла. Это позволяет создавать конвейеры, которые читают и записывают в один и тот же файл.

2
11.05.2016, 18:04
2 ответа

Вы можете безопасно использовать ext3 с опцией noatime: тогда только фактические записи файлов будут касаться вашего флэш-устройства в режиме записи. Журнал ext3fs - хорошая вещь для встроенной системы, которая может внезапно остаться без питания.

Я лично эксплуатировал таким образом несколько Raspberry PI, оснащенных простыми картами памяти SD, в течение нескольких лет (24/7, без резервного копирования UPS и с внезапными перебоями питания), и мне еще не приходилось заменять карты, и у меня не было никаких проблем с запуском после восстановления питания.

Что касается vfat, как я уже говорил, журналирование является преимуществом.

Edit: более того, я запускаю их с rw-mounted root fs

4
27.01.2020, 21:52

Ext4 не предназначен для флэш-памяти. Он может работать, и это безопасная ценность из-за чрезвычайно широкого использования, но это не обязательно лучший выбор, особенно для флэш-носителей, которые не выравнивают износ.

UBIFS специально разработан для необработанной флэш-памяти NAND. Он не работает на произвольных блочных устройствах, для него требуется базовое запоминающее устройство MTD (в отличие от устройств, которые выполняют собственное отображение блоков, таких как MMC и SD).Как правило, он имеет хорошую производительность и, возможно, является лучшим выбором для необработанной флэш-памяти NAND, но его отладка и тестирование может раздражать, потому что вы не можете просто смонтировать образ диска.

LogFS может быть другим претендентом. Он имеет хорошую производительность для большинства операций, но у него есть проблемы со стабильностью истории, и я думаю, что это не поддерживается. В презентации компании Toshiba в 2009 году ее раскритиковали за ошибки, связанные с коррупцией, и я не уверен, были ли они полностью устранены с тех пор.

YAFFS и JFFS2 - старые файловые системы, которые в наши дни в значительной степени вытеснены. Я думаю, что JFFS2 по-прежнему считается подходящим для небольших файловых систем (например, данных конфигурации), но не для «больших» файловых систем - избегайте этого, если у вас более нескольких МБ журналов.

F2FS - относительный новичок. Он разработан для больших файловых систем на флеш-памяти (минимальный размер 10 МБ!). Я не уверен, что это можно считать зрелым.

(Примечание: у меня нет реального промышленного опыта работы с какой-либо из этих файловых систем.)

3
27.01.2020, 21:52

Теги

Похожие вопросы