Режим журнала по умолчанию для Ext4 - это data=ordered
, что, согласно документации, означает, что
«Все данные передаются напрямую в основную файловую систему до того, как ее метаданные будут переданы в журнал».
Тем не менее, есть также data=journal
вариант, который означает, что
«Все данные сохраняются в журнале до их записи в основную файловую систему. Включение этого режима отключит отложенное размещение и поддержку O_DIRECT».
Насколько я понимаю, этот data=journal
режим будет регистрировать все данные, а также метаданные, что, на первый взгляд, означает, что это самый безопасный вариант с точки зрения целостности и надежности данных, хотя, возможно, и не столько для производительности.
Должен ли я пойти с этим вариантом, если надежность имеет первостепенное значение, но производительность гораздо меньше? Есть ли какие-либо предостережения относительно использования этой опции?
Для справки, рассматриваемая система находится на ИБП, и кэширование записи отключено на дисках.
data=journal
обеспечит более безопасный результат, чемdata=ordered
+nodelalloc
. У тебя есть один?Эта тема очень старая, но все еще актуальна.
Мы хотели объединить множество мелких записей в базе данных MySQL, работая как виртуальная машина под KVM с использованием образов Ceph RBD.
Гость: CentOS 6 VM / etc / fstab:
Устройство / dev / sda (1 ТиБ) находится в пуле NVMe со сжатым стиранием, с относительно небольшим (128 МБ) выделенным журнальным устройством в пуле с тройной репликацией NVMe.
При этом команды, которые мы использовали в спасательной среде:
Отделить журнал:
Проверьте файловую систему на несоответствия:
Получить размер блока:
Форматирование выделенного журнала устройства (ВНИМАНИЕ):
Минимальный размер журнала должен быть 1024 * размер блока (для безопасности мы используем 128 МБ)
Установите размер блока, соответствующий размеру / dev / sda1
Подключите выделенное устройство журнала к файловой системе:
Настройки MySQL:
источник