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

Операційна система Linux підтримує досить широкий вибір файлових систем. У цій статті ми розглянемо переваги та недоліки використання файлової системи Btrfs

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

Зміст

  1. Що являє собою файлова система Btrfs?
  2. Можливості файлової системи Btrfs
  3. Структура файлової системи Btrfs
  4. Головні недоліки файлової системи Btrfs
  5. Можливості відновлення файлової системи Btrfs
  6. Як відкрити накопичувач Btrfs у Windows?
  7. Кращі альтернативи файловій системі Btrfs?

Що являє собою файлова система Btrfs?

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

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

Перша версія файлової системи Btrfs з’явилася ще в 2007 році. Її презентувала компанія Oracle. Також, як і багато інших файлових систем, Btrfs використовувала адреси блоків даних для зберігання інформації. Однак структура метаданих, в якій зберігалися адреси блоків, була організована у вигляді B-дерев.

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

Використання B-дерев дозволило реалізувати метод «копіювання під час запису», суть якого полягає у використанні загальної копії блоків даних під час читання інформації. Завдяки такому підходу зростає продуктивність файлової системи. У деяких випадках швидкість роботи навіть вище, ніж у Ext4. Крім того, така структура дозволяє робити миттєві снепшоти файлової системи практично без падіння продуктивності.

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

Можливості файлової системи Btrfs

Структура файлової системи Btrfs у вигляді B-дерев дозволила розробникам внести цілу низку сучасних функцій, яких немає, наприклад, в Ext4. Серед найбільш значущих можна виділити такі:

1) Максимальний розмір записуваного файлу помітно зріс. Тепер він складає 16 Екзабайт (замість 1 Екзабайту в Ext4);

2) Можливість створення снепшшотів (знімки файлової системи) без втрати продуктивності. Тепер користувачі можуть створювати снепшоти для читання або запису;

3) Можливість провести перевірку цілісності файлової системи без її розмонтування. В Btrfs перевірка цілісності здійснюється за допомогою кількох команд;

4) З’явився новий фоновий процес, головним завданням якого є виявлення та виправлення помилок. Цей же процес автоматично робить дефрагментацію та дедуплікацію даних;

5) Кількість inodes виділяється динамічно. Це означає, що ви не зіткнетеся з ситуацією, коли у вас є вільний простір на диску, але ви не можете створити файл через відсутність вільних inodes.

6) Використання контрольних сум як для даних, так і для метаданих. Для розрахунку використовується алгоритм crc32. Такий підхід дозволяє швидко визначити пошкодження блоків;

7) Btrfs повністю оптимізована для встановлення і роботи на SSD накопичувачах. Визначення типу накопичувача відбувається автоматично, після чого застосовуються відповідні параметри файлової системи;

8) З’явилася можливість використання складних багатодискових конфігурацій. Тобто тепер ви можете створити якийсь аналог RAID 0, 1, 5, 6 або 10, використовуючи можливості файлової системи. Рівні 5 та 6 поки що знаходяться на експериментальній стадії. У майбутньому також планується реалізувати надмірність окремих файлів і папок.

9) Впроваджена підтримка стиснення. Для цього використовується Zlib та LZO;

10) Підтримка підтомів.

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

Структура файлової системи Btrfs

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

Структура файлової системи Btrfs

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

Потім у хід йдуть метадані та екстенти, адресація яких відбувається вже на логічному рівні. На цьому рівні відбувається реалізація надмірності (аналог RAID 0, 1, 5, 6, 10).

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

На верхньому рівні знаходяться дані користувача вже у звичайному вигляді.

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

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

Головні недоліки файлової системи Btrfs

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

  1. Високий рівень фрагментації даних – виникає через використання технології копіювання під час запису. Найчастіше спостерігається під час перезапису великої кількості дрібних блоків даних.
  2. Активна розробка – хоч файлова система Btrfs і є досить стабільною, через активну розробку в ній регулярно з’являються нові функції або модернізуються старі. Це може призвести до проблем та потенційної втрати даних. У деяких випадках після модернізації різних функцій файлової системи програми, які їх використовували, починають поводитися не коректно.
  3. Занадто мало документації – незважаючи на те, що з моменту релізу файлової системи Btrfs пройшло вже більше десяти років (фактично вона лише на рік молодша за Ext4), на сьогоднішній день документації не дуже багато. Відповідно, у користувачів можуть виникати питання, відповіді на які знайти буде нелегко.
  4. Для роботи зі снепшотами краще використовувати спеціальну утиліту Btrfs, оскільки використання стандартного функціоналу Linux не завжди працює коректно і може призвести до пошкоджень інформації .

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

Можливості відновлення файлової системи Btrfs

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

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

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

Якщо у звичайному RAID 1 масиві швидкість запису буде вдвічі нижча, ніж при записі на звичайний диск, то у Btrfs ви практично не відчуєте зниження швидкості.

Крім RAID 1 можна використовувати всі класичні типи RAID масивів.

Щоб вибрати тип масиву RAID для субтомів, прочитайте статтю «Що таке RAID і як використовуються різні типи RAID?» Там ви знайдете багато корисної інформації з цього питання.

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

Таким чином, файлова система Btrfs дозволяє ефективно виявляти приховані пошкодження та виправляти пошкоджені файли.

Як відкрити накопичувач Btrfs у Windows?

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

Уся справа в тому, що операційна система Windows за умовчанням може розпізнати лише три типи файлових систем: NTFS, FAT (16, 32) та exFat. Решти вона не розуміє.

Але є кілька порівняно простих способів відкрити Btrfs накопичувач у Windows.

Перший (і найбільш правильний) спосіб полягає у використанні програми RS Partition Recovery. Ви просто встановлюєте програму і відразу можете працювати з Btrfs накопичувачем. Все дуже просто.

Головне вікно Recovery Software

RS Partition Recovery дуже проста у використанні та абсолютно не вимоглива до ресурсів комп’ютера.

Але найголовніше, RS Partition Recovery дозволяє відновити втрачені дані. Якщо ви випадково видалите важливий файл або відформатуєте накопичувач – ви без проблем зможете повернути важливі дані.

На додачу, RS Partition Recovery підтримує ВСЕ сучасні файлові системи, відповідно ви зможете відкрити в Windows практично будь-який накопичувач. Незалежно від типу файлової системи.

Всі перелічені вище пункти роблять програму RS Partition Recovery практично універсальним інструментом, який має бути в арсеналі кожного користувача.

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

Логотип Winfs

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

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

І часто відновити працездатність системи виходить лише після повної переустановки Windows, що веде до втрати даних на диску С:\

Отже, ми рекомендуємо використовувати перший спосіб, тому що він ефективніший і безпечніший.

Кращі альтернативи файловій системі Btrfs?

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

>

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

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

Linux ноутбук

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

Домашній сервер

Тому ви повинні ретельно зважити всі варіанти та вибрати той, що найточніше відповідає вашим вимогам.

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

Поширені запитання

Так. На сьогоднішній день файлова система Btrfs повністю стабільна та готова до використання. Судячи з нинішнього стану, чутки про її використання в наступних версіях дистрибутивів Linux правдиві.
Якщо вам важлива найвища швидкість роботи і ви хочете використовувати сучасні функції файлових систем - ваш вибір Btrfs. Однак якщо ви боїтеся використовувати нову, ще не зовсім зрілу екосистему та для вас стабільність на першому місці – виберіть Ext4.
Скористайтеся програмою RS Partition Recovery. Програма дозволяє повернути втрачені дані через випадкове видалення, форматування накопичувача, пошкодженя файлової системи диска і т.д. Крім того, RS Partition Recovery дозволяє працювати з даними на накопичувачах BTRFS.
Серед головних недоліків файлової системи Btrfs можна відзначити високий рівень фрагментації, невелику кількість документації, постійні зміни, які можуть впливати на додатки, які використовують функціонал файлової системи.
Найкраще використовувати програму RS Partition Recovery, оскільки різні драйвери типу WinFS і Btrfs for Windows можуть конфліктувати з драйверами Windows, що може призвести до втрати важливих даних замість підтримки Btrfs.
Залишити коментар

Схожі публікації

Як відновити дані з віртуальних машин: Відновлення VMWare VMDK-дисків
Як відновити дані з віртуальних машин: Відновлення VMWare VMDK-дисків
Віртуальні машини стають все популярнішими у всіх сферах використання ПК. Розробники використовують віртуальні машини для створення, тестування та налагодження програм, у той час як багато простих користувачів використовують віртуальні машини для запуску альтернативних операційних систем (таких як Windows на комп’ютерах … Continue reading
Відновлення даних віртуальних машин Hyper-V
Відновлення даних віртуальних машин Hyper-V
Як відновити дані віртуальних машин Hyper-V? Їхні дані можуть загубитися в результаті збою роботи гіпервізора, Windows або через наші дії. Нижче розглянемо, що можна зробити в такій ситуації. Що робити, якщо не запускається віртуальна машина Hyper-V, як її можна відновити? … Continue reading
Відновлення даних з віртуальних машин VMWare vSphere ESXi
Відновлення даних з віртуальних машин VMWare vSphere ESXi
Втратити дані можно через помилку або внаслідок збою у роботі гіпервізора. Як відновити дані з віртуальної машини VMWare vSphere, ESXi? Нижче розглянемо, що робити у такому випадку.
Відновлення даних із VMFS-розділів
Відновлення даних із VMFS-розділів
Як виконати відновлення даних з розділів VMFS – розділів із файловою системою VMFS, які використовуються гіпервізором першого рівня VMWare vSphere ESXi? Розглянемо рішення для цих ситуацій.
Online Chat with Recovery Software