Btrfs vs Ext4 – можливості, сильні і слабкі сторони. У чому різниця і що краще?

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

Ядро Linux підтримує безліч файлових систем. Найчастіше використовуються Ext4, Btrfs, XFS і ZFS, найостанніша файлова система, випущена ще у 2018 році. Кожна з цих файлових систем має свій власний спосіб організації даних, переваг і недоліків.

У цьому керівництві ми порівняємо Btrfs і Ext4, і постараємося зрозуміти їх функціональні можливості, сильні та слабкі сторони.

Файлова система Ext4

Ext4 – файлова система за замовчуванням для багатьох дистрибутивів Linux. Вона була випущена в жовтні 2008 року з ядром Linux 2.6.28. Ext4 – це четверта версія розширеної файлової системи та спадкоємиця Ext3.

Ext4 – це надійна файлова система, яка використовується вже протягом тривалого часу. Це журнальована файлова система, що означає, що вона веде «журнал» про те, де файли розташовані на диску, і відстежує будь-які інші зміни на диску.

Файлова система Btrfs

Btrfs або файлова система B-Tree – це нова, сучасна файлова система з відкритим вихідним кодом. Це файлова система з копіюванням при записі (CoW), адаптована для систем Linux, і її назва походить від використання B-trees для зберігання внутрішніх файлових структур. У налаштуванні файлової системи CoW, коли дані змінюються, копії файлової системи змінюються і записують дані назад в доступне місце в файлової системи.

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

Найбільший недолік файлової системи Btrfs полягає в тому, що великі файли легко фрагментуються, і тому потрібно періодична дефрагментація.

Розробка Btrfs почалася ще у 2007 році в Oracle як альтернатива файлової системи ZFS, а й інші великі компанії, включаючи SUSE, Facebook, Redhat, роблять свій внесок в її розвиток. Btrfs існує тому, що розробники хотіли розширити функціональні можливості файлової системи, включивши в неї такі функції, як моментальні знімки, контрольна сума і т. д.

Можливості BTRFS

Деякі з цікавих функцій, пропонованих btrfs, включають:

1) Підтримка величезних файлів

Файлова система Btrfs може підтримувати до 2 в 64 ступені байтів, що еквівалентно 16EiB або exbibytes! Це величезний розмір сховища!

2) Ефективне сховище файлів

Btrfs надає файлове сховище на основі екстентів. Це описується як безперервна область, зарезервована для зберігання файлів. Накладні витрати на метадані файлів значно скорочуються, а невеликі метадані безпосередньо сприяють підвищенню ефективності та продуктивності сховища.

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

3) Вбудована підтримка RAID

Файлова система Btrfs включає підтримку RAID 0 (видалення даних), 1 (дзеркальне відображення даних) і RAID 10 (видалення і віддзеркалення даних).

4) Онлайн-дефрагментація і зміна розміру

За допомогою Btrfs можна виконувати дефрагментацію і зміну розміру, навіть коли файлова система знаходиться в оперативному режимі.

5) Знімки з можливістю запису і тільки для читання

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

6) Підтримка контрольних сум

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

7) Оптимізована підтримка SSD-накопичувачів

Накопичувачі SSD (твердотільні накопичувачі) дійсно забезпечують пристойну швидкість, надійність і стабільність на ПК. Файлова система Btrfs додатково підвищує їх продуктивність шляхом оптимізації продуктивності читання і запису, таким чином, збільшується термін служби SSD.

Порівняння файлових систем Ext4 і Btrfs

1. Журнал і підтримка копіювання при записі

Це перша істотна відмінність між двома файловими системами. Файлова система Ext4 – це файлова система з журналюванням, а Btrfs – файлова система з функцією копіювання при записі (CoW).

2. Підтримка декількох пристроїв

Поширення однієї файлової системи на кілька пристроїв дає певні переваги, такі як збільшена місткість і надійність. Btrfs має вбудовану підтримку RAID, яка спрощує управління декількома пристроями на рівні файлової системи.

Файлова система Ext4 не має вбудованої підтримки декількох пристроїв. Вам доведеться використовувати сторонні менеджери логічних томів, такі як LVM 2, щоб розподілити вашу файлову систему на кілька пристроїв і дисків.

3. Дедуплікація на рівні файлової системи:

Дедуплікація – це функція, яка автоматично видаляє повторювані копії даних з файлової системи для економії місця на диску. Файлова система Btrfs підтримує дедуплікацію, замінюючи ідентичні блоки в файловій системі логічними посиланнями на одну копію блоку. Ця функція економить величезну кількість дискового простору.

Файлова система Ext4 не підтримує дедуплікацію.

4. Стиснення на рівні файлової системи

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

Файлова система Ext4 не має вбудованої підтримки стиснення.

5. Максимальний розділ і розмір файлу

Найбільший розділ, який вам дозволено створити за допомогою ext4, становить 1 ексбібайт – що еквівалентно приблизно 1 152 921,5 терабайтів. Максимальний розмір файлу складає 16 Тб, що набагато більше, ніж у будь-якого жорсткого диска, який зараз може купити звичайний споживач.

Btrfs підтримує максимальний розмір розділу і файлу до 16Eib.

Ext4 дозволяє створювати максимум 232 (= 4 294 967 296 ~ = 4 мільярди) файлів. Btrfs дозволяє створити максимум 264 (= 18 446 744 073 709 551 616 ~ = 18 квінтильйонів) файлів.

6. Контрольна сума / підтримка ECC

Файлова система Btrfs використовує контрольну суму CRC32C для забезпечення цілісності даних і запобігання їх пошкодження. Файлова система Ext4 не гарантує цілісність ваших даних.

7. Підтримка знімків

Файлова система Btrfs підтримує моментальні знімки файлу тільки для читання і запису. Моментальний знімок – це під-обсяг, який спільно використовує свої дані та метадані з іншим під-томом, використовуючи можливості COW.

Файлова система Ext4 не підтримує створення знімків файлової системи.

8. Підрозділ блоків і пакування хвостів.

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

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

Ext4 не підтримує пакування хвостів.

Висновок

Файлова система Ext4 – це остання версія розширеної файлової системи. Ext4 існує вже давно і зарекомендувала себе як надійна і стабільна. Вона рекомендується для повсякденного використання.

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

З іншого боку, Btrfs – це сучасна файлова система, яка може обробляти в шістнадцять разів більше даних, ніж Ext4. Це поліпшення особливо важливо, оскільки Linux тепер використовується в корпоративних структурах. Btrfs має багато хороших функцій згаданих вище, таких як копіювання при записі, моментальні знімки, контрольні суми та дублювання. Btrfs зростає швидкими темпами, але все ще не вважається стабільною.

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

Поділіться своєю знахідкою
FOX
FOX

Люблю что-то новое

Статті: 126

Залишити відповідь

3 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
OldRunner

Я уже больше года, как перешел на btrfs на всех своих системах – доволен, как слон после купания, и уще ни разу не пожалел.
Рекомендую всем – даже и сомневаться не стоит.

Snow fire

корень системы у меня как раз на btrfs… должен сказать, что загружается довольно быстро система и лучше реагирует, чем на ext4

UALinux

надо будет попробовать.
наверное не зря линуксы редхат/федора и оракл на нее переходят

3
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x