Журнальована файлова система
Журнальована файлова система — файлова система, що зберігає інформацію про усі зроблені зміни на диску в спеціальному журналі (це зазвичай циклічний буфер у спеціальній області файлової системи). Зміни завжди зберігаються перед їх застосуванням до основної файлової системи і у разі виникнення збою системи або відключення живлення, відновлення таких файлових систем проходить швидше і існує менша ймовірність пошкодження.
Оновлення файлової системи для відбиття змін файлів і каталогів, як правило, вимагає безліч окремих операцій запису. Це може спричинити пошкодження даних у разі раптового припинення роботи між окремими операціями.
Наприклад, видалення файлу у файловій системі Unix включає два кроки:
- 1) видалення запису директорії;
- 2) маркування простору видаленого файлу та його inode у категорію «вільний простір».
Якщо збій стається між кроками 1 і 2, то з'являється завислий inode, а це є помилкою узгодженості файлової системи. У нежурнальованій файловій системі виявлення і відновлення після таких неполадок вимагає повного проходження через усі структури даних файлової системи. Це зазвичай треба робити перед монтуванням ФС для запису/зчитування. Якщо ФС відносно велика і має низьку пропускну здатність, то відновлення може зайняти багато часу і призвести до довшого простою.
Щоб запобігти цьому, журнальовані файлові системи виділяють спеціальну область — журнал — у яких заздалегідь записуються зміни, що мають бути застосовані до основної ФС. Після збою відновлення являє собою просто читання журналу файлової системи та відтворення змін із нього, поки ФС не відновиться.
Ця стаття не містить посилань на джерела. (30 березня 2018) |