Що таке журнал?


8

Я вимкнув комп'ютер важким шляхом і наступного запуску було повідомлення про завантаження протягом декількох секунд, кажучи recovering journal. Пізніше чотири стартапи, і повідомлення там не було - лише перший раз. Схоже, немає ніяких наслідків і побічних ефектів. Завдяки цьому питанню я знаю, чому це сталося, але ніде в Інтернеті не сказано, що таке журнал. Проблем з цим немає, мене просто цікавить, що це таке.

Відповіді:


5

У багатьох сучасних файлових системах використовується журнал, включаючи NTFS, Ext3 / 4, XFS, HFS + та інші. Журнал допомагає у двох випадках, уникаючи пошкодження файлової системи та прискорюючи відновлення після збою, наприклад, втрати електроенергії або збоїв у роботі системи. У файловій системі є два основних компоненти, дані та метадані. Дані - це вміст файлу, зображення, відео, документів, і в кінцевому підсумку саме це надає файловій системі його значення. Метадані - це те, що описує структуру файлової системи, включаючи те, як файли називаються, зберігаються в каталогах, права доступу, час модифікації файлів та області запису диска, які використовуються або можуть вільно розподілятися під інші файли під час їх зростання або створюються. Якщо метадані будуть пошкоджені через збій системи, це може призвести до подальшої втрати / пошкодження даних. Наприклад, частина диска може бути обрана для розподілу до файлу, але якщо він записаний неправильно перед збоєм, він може бути доданий до списку файлів блоків даних, але все-таки до списку безкоштовних блоків даних і виділений для другого файлу пізніше. Тепер є два файли, які обмінюються однаковими блоками даних / вмістом.

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

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

Крім того, для завершення цього є деякі файлові системи, які наразі не пропонують журнали, включаючи FAT32, exFAT, Ext2 та UDF. Якщо під час оновлення стався збій, необхідно провести повне сканування файлової системи для виявлення помилок або пошкоджень.


8

Хтось знає, що таке журнал?

Частиною сучасної файлової системи є функція під назвою "ведення журналів". Ми використовуємо "ext4" як файлову систему. (ext3, ext2 - старіші версії. NTFS - еквівалент Microsoft.)

Файлова система журналу - це файлова система, яка відслідковує зміни, ще не здійснені в основній частині файлової системи, записуючи наміри таких змін у структурі даних, відомі як "журнал", який, як правило, є круговим журналом. У випадку збою системи або відмови живлення такі файлові системи можна швидше повернути в Інтернет, з меншою ймовірністю пошкодження.

Джерело: Wikipedia - Файлова система журналу , цитує: IBM - Анатомія файлових файлів журналів Linux

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


1
Чи правильно сказати, що журнал використовується для захисту цілісності файлових систем, але не обов'язково цілісності файлів (їх вмісту)?
Ральф

2
@Ralf: Це залежить виключно від того, про що йдеться. Наприклад, JFFS2, щоденники пише щоденно, таким чином, він захищає цілісність усіх даних. Apple, HFS +, лише журнали метаданих файлової системи, таким чином, вона захищає лише метадані файлової системи, але не файлові дані. Ext4 налаштовується: ви можете реєструвати все, нічого, або лише метадані файлової системи. За замовчуванням встановлено журнал, але лише метадані файлової системи. У цьому випадку він захищає лише метадані файлової системи, але не файлові дані. Основною причиною такого вибору є те, що журнал означає писати двічі.
Йорг W Міттаг

2
Інша крайність так звані лог-структуровані файлові системи , які мають тільки журнал. Іншими словами, вони завжди додаються до журналу, але не мають регулярної області даних. Таким чином, вони уникають "подвійного запису" журнальної файлової системи, але тепер у них виникає проблема, що файлова система ніколи не скорочується, оскільки навіть видалення просто додаються до журналу. Отже, їм потрібен такий собі "сміттєзбірник", щоб очистити зайві записи журналів і знову ущільнити журнал. (Деякі з цих FS називають це "пилососом".)
Jörg W

1
@ JörgWMittag Дякую Я думаю, що важливо розуміти, що журнал FS взагалі не означає, що ви не можете втратити дані.
Ральф

1
@Ralf: Так, журнал не захищає вас від втрати даних, а лише від пошкодження даних. Це лише гарантує, що операція або повністю успішна, або взагалі не відбувається, не гарантує, що операція завжди успішна. По-друге, журнал захищає лише те, що передається в журнал, що для більшості поширених реалізацій є лише метаданими FS.
Йорг W Міттаг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.