Як я можу оптимізувати ext4 для надійності?


11

Оскільки ext4 був представлений як надійніший за ext3 із блоковими журналами, чи є шанс припустити, що він на 100% надійний? Що робити, якщо ввімкнути блокування журналу на ньому, яке вимкнено за замовчуванням?

Як керівництво друга, щоб пояснити свій випадок більш детально: у мене є вбудований пристрій Linux, після встановлення клавіатури та монітора від'єднано, і воно працює окремо.

Мій обов’язок - переконатися, що у нього надійна файлова система, тому з помилками немає можливості виправити несправності вручну на пристрої. Я не можу змусити свого клієнта використовувати додаткові вікна з кожним пристроєм, щоб запобігти несправності внаслідок відключення електроенергії.

Що ще може запропонувати мені ext4, окрім блокування журналів?

Заздалегідь спасибі.


я знаю, що у мене є деякі компромісні можливості, такі як блокування журналів, але я дотримуюся надійності і готовий заплатити за це
Амін

Дивіться також: serverfault.com/questions/244095/how-to-make-ext4-more-reliable , закритий для занадто неоднозначного.
Оллі

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

1
@amin Інформація про вашу корисну скриньку була б кориснішою у вашому запитанні, тому, ймовірно, тому вона була закрита, оскільки вона була неоднозначною; додайте більше інформації до свого питання!
Хорхе Кастро

2
Питання занадто розпливчасте. Що означає "100% надійний"? Якщо припустити, що під "блоковим управлінням" ви маєте на увазі дані = журнал, то це просто гігантська трата часу. FS за своєю суттю надійний; журнал просто гарантує, що вам не доведеться чекати тривалий fsck після аварії.
psusi

Відповіді:


11

Ні. Ніколи не можна вважати, що щось є 100% надійним.

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

Також журнал не вимкнено за замовчуванням.

Ось хороший огляд ext4 та його вдосконалень: http://kernelnewbies.org/Ext4


1
+1 за "ти ніколи не можеш вважати, що щось є 100% надійним"
Lekensteyn

а Comparison_of_file_systems блок журнал вимкнено , а метадані журнал на, це компроміс між надійністю і швидкістю
Амін

У мене просто перезавантажився сервер, щоб знайти масштабну пошкодження даних на ext4, де файли містять недійсні дані. Це не могло статися на zfs або btrfs, оскільки дані мають контрольні суми.
user239558

5

Нова функція, додана до ext4 та представлена ​​з ядром 3.5, - це те, що відомо як "контрольні суми метаданих", що є ще однією особливістю ext4, яка повинна підвищити надійність та цілісність структури файлової системи.

Загальна реалізація добре пояснена в новинках Kernel :

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

Будь-яку файлову систему ext4 можна оновити до використання контрольних сум, використовуючи команду "tune2fs -O metadata_csum" або "mkfs -O metadata_csum" під час створення. Після ввімкнення цієї функції у файловій системі старіші ядра без підтримки контрольної суми зможуть встановити її лише в режимі лише для читання.

Такі статті, як ця на kernel.org, детально обговорюють, як використання контрольних сум метаданих може запобігти пошкодження метаданих від пошкодження структури файлової системи.

Однак стаття також попереджає:

Код контрольної суми метаданих почав надходити в основну версію в Linux 3.5, а з 3.7-rc1 він проходить певне тестування користувача. Цей код ще не є твердим.

Він не включений за замовчуванням в Ubuntu 12.10, і, мабуть, найкраще не вмикати його на даний момент після останніх проблем з файловою системою ext4, як зазначено тут .


1

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.