файловые системы ext4, часто повреждая

Только ища строки и вопросы скорости, необходимо почти всегда использовать grep. Это - порядки величины быстрее, чем awk когда дело доходит до просто грубого поиска.

получите функциональные различия и различия в производительности sed, awk и других утилит парсинга Unix

UTILITY    OPERATION TYPE      EXECUTION TIME     CHARACTERS PROCESSED PER SECOND
                               (10 ITERATIONS)
-------    --------------      ---------------    -------------------------------
grep       search only         41 sec.            489.3 million
sed        search & replace    4 min. 4 sec.      82.1 million
awk        search & replace    4 min. 46 sec.     69.8 million
Python     search & replace    4 min. 50 sec.     69.0 million
PHP        search & replace    15 min. 44 sec.    21.2 million

4
24.09.2016, 18:15
1 ответ

Все три режима протоколирования данных должны оставлять файловую систему полностью нетронутой после отключения питания. Поэтому она всегда должна монтироваться без ошибок. Разница только в данных в ваших файлах; режим data=writeback может оставить залежавшиеся данные (т.е. то, что хранилось в секторах диска до того, как было записано ваше приложение). data=заказанные и data=ournaled не должны этого делать.

Скорее всего, вы видите, что барьеры ввода/вывода не работают в вашей установке. Во-первых, убедитесь, что вы не устанавливаете барьер=0/nobarrier. Это увеличивает производительность, но приводит к повреждению при отключении питания.

Если барьер ввода/вывода включен, возможно также, что вы проходите через уровень хранилища, который их не поддерживает. На старых релизах LVM не поддерживался, а различные mdraid-уровни не поддерживались. (Это было исправлено в Linux 2.6.33; так что только если вы все еще используете Lucid)

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

Обратите внимание, что диски с флэш-памятью имеют много работы под капотом, и многие из них плохо справляются с отключением питания. (Например, выравнивание износа иногда требует перемещения полного блока данных флэш-памяти. Если питание отключается посередине, на некоторых флэш-дисках случаются плохие вещи.)

Наконец... Вы рассмотрели возможность использования ИБП?

3
27.01.2020, 20:58

Теги

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