Автор: Максим Мишутин | 29.12.2010 | 12:00 | В рубриках: Файловая система

Большинство современных файловых систем сегодня используют журналирование, заимствованное из мира баз данных, которое призвано улучшить восстановление данных после сбоев в работе системы.
Файловая система – это программное обеспечение, которое используется для организации и управления данными, хранящимися на носителях информации, она обеспечивает целостность данных, контролирует идентичность данных при их записи и последующем чтении. Также, помимо хранения данных, файловая система хранит и управляет информацией о файлах и о самой файловой системе – информация о дате и времени, владельце, правах доступа, размере файла, носителе информации и местонахождении файлов на диске. Такую информацию называют метаданными.
Журналируемая файловая система - это устойчивая к сбоям файловая система, в которой целостность данных гарантирована, потому что обновления метаданных записываются в лог на диске перед любыми изменениями в структуре файловой системы, тем самым сохраняя список изменений, которые она будет проводить с файловой системой, перед фактическим их осуществлением. Дисковые транзакции последовательно записываются в специальную зону  файловой системы диска и эти записи называются журналом. Журнал – это файл, представляющий собой кольцевой буфер, в который заносятся все действия, связанные с изменением файловой системы. Периодически эти изменения применяются к файловой системе. В случае сбоя, журнал может быть использован в качестве отправной точки для восстановления несохраненных данных и для предотвращения повреждения метаданных. Как только изменения файловой системы внесены в журнал, она применяет эти изменения к файлам или метаданным, а затем удаляет эти записи из журнала. В случае сбоя журналируемая файловая система гарантирует восстановление всех потерянных данных. Если сбой происходит перед внесением записи в журнал, то первоначальная версия файла сохраняется на диске, а теряются только не сохраненные изменения. а если в момент обновления данных на диске, то запись в журнале показывает, что планировалось сделать. Поэтому после перезагрузки системы снова считывается журнальные записи и прерванные операции записываются на диск до конца.
По типу внесения в журнал журналируемые ФС подразделяются на:
- в режиме обратной связи (журналированию подвергаются только метаданные, а блоки с данными записываются непосредственно на диск): XFS, ext3
- упорядоченные (в журнал заносятся также только метаданные, но сами данные записываются до журналирования метаданных): JFS2, ReiserFS
- в режиме данных (в журнал заносятся как метаданные, так и сами данные): ext4
IBM первой разработала журналируемую файловую систему, которая называлась JFS (Journaled File System) и была представлена в 1990г. В 1994 году компания Silicon Graphics представила высокопроизводительную файловую систему XFS, а в 2001 году XFS была портирована для Linux. Наибольшее распространение получила файловая система ext3, которая является расширением системы ext2 с добавлением журналирования, поддержка появилась в Linux в 2001 году.
В семействе ОС Microsoft Windows к журналируемым относится файловая система NTFS, в Mac OS X - HFS+, в FreeBSD - UFS2, в Linux существует несколько доступных журналируемых файловых систем, наиболее известные XFS, ReiserFS (разработанная специально для Linux), JFS, ext3, ext4 (используемой на большинстве версий GNU/Linux), btrfs.

Эта запись была опубликована 29.12.2010в 0:03. В рубриках: Файловая система. Вы можете следить за ответами к этой записи через RSS 2.0. Вы можете оставить свой комментарий или трекбек со своего сайта.