Руководство по продвинутым файловым системам

о том, как файловая система


Теперь можно поговорить о том, как файловая система ext3 обеспечивает журналирование и данных, и метаданных. Фактически в ext3 имеются два метода достижения гарантии непротиворечивости.

Первоначально ext3 разрабатывалась для журналирования и всех данных, и метаданных. В этом режиме (называется "data=journal" mode), JBD журналирует все изменения в файловой системе, связанные как с данными, так и с метаданными. При этом JBD может использовать журнал для отката и восстановления метаданных и данных. Недостаток "полного" журналирования в достаточно низкой производительности и расходе большого объема дискового пространства под журнал.

Недавно для ext3 был добавлен новый режим журналирования, который сочетает высокую производительность и гарантию непротиворечивости структуры файловой системы после сбоя (как у "обычных" журналируемых файловых систем). Новый режим работы обслуживает только метаданные. Однако драйвер файловой системы ext3 по-прежнему отслеживает обработку целых блоков данных (если они связаны с модификацией метаданных), и группирует их в отдельный объект, называемый тразакцией (transaction). Транзакция будет завершена только после записи на диск всех данных. "Побочный" эффект такой "грубой" методики (называемой "data=ordered" mode) - ext3 обеспечивает более высокую вероятность сохранности данных (по сравнению с "продвинутыми" журналируемыми файловыми системами) при гарантии непротиворечивости метаданных. При этом происходит журналирование изменений только структуры файловой системы. Ext3 использует этот режим по умолчанию.


Содержание раздела