Журнальована файлова система

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Журнальована файлова системафайлова система, що зберігає інформацію про усі зроблені зміни на диску в спеціальному журналі (це зазвичай кільцевий запис у спеціальній області файлової системи). Зміни завжди зберігаються перед їх застосуванням до основної файлової системи і у разі виникнення збою системи або відключення живлення, відновлення таких файлових систем проходить швидше і існує менша ймовірність пошкодження.

Опис[ред.ред. код]

Оновлення файлової системи для відбиття змін файлів і каталогів, як правило, вимагає безліч окремих операцій запису. Це може спричинити пошкодження даних у разі переривання роботи між окремими записами.

Наприклад, видалення файлу у файловій системі Unix включає два кроки:

  1. Видалення запису директорії.
  2. Маркування простору видаленого файлу та його inode у категорію "вільний простір".

Якщо збій стається між кроками 1 і 2, то з’являється завислий inode, а отже і витік пам'яті накопичувача. У нежурнальованій файловій системі виявлення і відновлення після таких неполадок вимагає повного проходження через усі структури даних файлової системи. Це зазвичай треба робити перед монтуванням ФС для запису/зчитування. Якщо ФС відносно велика і має низьку пропускну здатність, то відновлення може зайняти багато часу і призвести до довшого простою.

Щоб запобігти цьому, журнальовані файлові системи виділяють спеціальну область — журнал — у яких заздалегідь записуються зміни, що мають бути застосовані до основної ФС. Після збою відновлення являє собою просто читання журналу файлової системи та відтворення змін із нього, поки ФС не відновиться.

Приклади журнальованих фс[ред.ред. код]

Xfs, ext4, ReiserFS.