Записываются ли в кэш-память в память и данные ZIL через коммиты TXG?

В настоящее время ZFS имеет интервал 5 секунд для выполнения TXG (транзакций групповых транзакций) в кэш-памяти записи в памяти. Как и через какое время данные ZIL записываются на ротационный носитель, скажем, из SSD SLOG?

Команды ZIL также происходят через 5 секунд (конечно, как и когда позволяет загрузка системы?)

1 ответ

Решение

Не существует такого понятия, как "ЗИЛ коммит". Фактически блоки всегда загрязняются в кеше памяти при запросе на запись, независимо от того, является ли он синхронным или асинхронным. ZIL просто добавляет устойчивость для синхронных запросов на запись.

Таким образом, если у вас есть отдельное устройство журналирования ZFS для вашего пула, вы можете заметить, что оно загружается только при записи, данные не считываются с него при нормальных обстоятельствах. Только если у вас нечистое завершение работы вашего пула (например, из-за аппаратного сброса или сбоя питания), журнал намерений читается и применяется к данным пула по мере загрузки пула.

Загрязненные блоки сбрасываются при фиксации TXG, тип операции не имеет большого значения.

Другие вопросы по тегам