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

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

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

Що таке Btrfs?

Як я вже сказав, Btrfs була розроблена компанією Oracle в 2007 році. Однією розшифровки назви немає, одні кажуть, що це означає B-tree FS, інші Better Fs. Також як і в інших файлових системах, всі дані зберігаються на диску за певними адресами. Ці адреси збережені в метаданих. І тут вже починаються відмінності. Всі метадані організовані у вигляді b-дерев. Це дає велику продуктивність при роботі з файловою системою, а також дозволяє додавати необмежену кількість файлів.

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

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

Btrfs надходить по-іншому. Кожен диск, незалежно від його розміру ділиться на блоки по 1 Гб для даних і 256 Мб для метаданих. Потім ці блоки збираються в групи, кожна з яких може зберігатися на різних пристроях, кількість таких блоків в групі може залежати від рівня RAID для групи. Менеджер томів вже інтегрований в файлову систему, тому більше ніяке додаткове ПЗ використовувати не потрібно.

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

  • Підтримка знімків файлової системи, тільки для читання або для запису;
  • Контрольні суми для даних і метаданих за допомогою алгоритму crc32. Таким чином, можна дуже швидко визначити будь-які пошкодження блоку;
  • Стиснення з допомогою Zlib і Lzo;
  • Оптимізація для роботи з SSD, файлова система автоматично визначає ssd і починає вести себе по-іншому;
  • Фоновий процес для виявлення та виправлення помилок, а також дефрагментації і дедуплікаціі в реальному часі;
  • Підтримується перетворення з ext4 і ext3 і назад.

Все це дуже добре, але чи можна вже використовувати цю файлову систему? Спробуємо розібратися і з цим.

Чи готова Btrfs до використання?

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

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

Але чому ж Btrfs вважається багатьма нестабільної? Цьому є кілька причин. По-перше, це боязнь користувачів до нових технологій. Це було не тільки в Linux, але і в Microsoft, при їх переході на NTFS, і в Apple. Але тут є певний парадокс, файлова система XFS пройшла 20 років стабільного розвитку, але найстабільнішою файлової системою вважається ext4, яка була розроблена з ФОРКОМ ext3 в 2006 році. Фактично вона на рік старша за Btrfs.




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

Але вже є багато підтверджень, що файлова система готова. Ця файлова система використовується на серверах Facebook, де компанія зберігає свої важливі дані. А це вже саме по собі важливий фактор. Над поліпшенням файлової системи працюють такі компанії як Facebook, SuSE, RedHat, Oracle, Intel та інші. Ця файлова система використовується в SUSE Linux Enterprise за замовчуванням, починаючи з випуску 12. Всі ці фактори разом доводять, що файлова система цілком готова до використання. А з огляду на функціональність і особливості btrfs її вже можна використовувати.

використання Btrfs

Чому варто використовувати Btrfs і чи варто взагалі, розібралися. Тепер хотілося б показати трохи практики, щоб ви могли оцінити цю файлову систему в дії. Я буду наводити приклади на основі Ubuntu. Спочатку встановимо інструменти для управління файловою системою:

$ Sudo mkfs.btrfs / dev / sdb / dev / sdc

btrfs

За замовчуванням буде використовуватися RAID0 для даних (без дублювання, і RAID1 для метаданих (дублювання на один диск). При використанні одного диска метадані теж дублюються, якщо ви хочете відключити цю поведінку можна використовувати опцію -m single:

$ Sudo btrfs filesystem show / dev / sdb

btrfs1




Або про всі підключені файлових систем:

$ Sudo mount / dev / sdb / mnt

btrfs2

Ви можете монтувати будь-який з дисків, це призведе до однакового ефекту. Рядок в / etc / fstab буде виглядати так:

$ Sudo btrfs filesystem df / mnt

btrfs3

Стиснення в btrfs

Для включення стиснення досить додати опцію compress при монтуванні. Їй можна передати алгоритм lzo або zlib:


$ Sudo mount -o compress = "zlib" / dev / sdb / mnt

відновлення Btrfs

Для відновлення пошкодженої Btrfs використовуйте опцію монтування recovery:

$ Sudo mount -o recovery / dev / sdb / mnt

зміна розміру

Ви можете змінити розмір тому в реальному часі, для цього використовуйте команду resize:

$ Sudo btrfs filesystem resize + 1g / mnt

btrfs5

створення подтомов

Ви можете створювати логічні розділи, подтома всередині основного розділу за допомогою Btrfs. Вони можуть бути примонтировать всередині основного розділу:


$ Sudo btrfs subvolume create / mnt / sv2
$ Sudo btrfs subvolume list / mnt

btrfs6

монтування подтомов

Ви можете примонтировать підтем по id, отриманого за допомогою останньої команди:

$ Sudo umount / dev / sdb $ sudo mount -o subvol = sv1 / dev / sdb / mnt

видалення подтомов

Спочатку підключіть корінь btrfs замість подтома:

$ Sudo mount / dev / sdb / mnt /

Щоб видалити підтем можна використовувати шлях монтування, наприклад:

$ Touch / mnt / sv1 / test1 / mnt / sv1 / test2

Створюємо знімок:

$ Sudo btrfs filesystem defrag / mnt

btrfs9

висновки

Як бачите, файлова система btrfs дуже цікава і перспективна. До того ж вона вже повністю готова до використання і досить стабільна. А ви вже користуєтеся Btrfs? Чи збираєтеся користуватися після прочитання статті? Напишіть в коментарях внизу!

Поділися в соціальних мережах:

Схожі
Файлова система zfsФайлова система zfs
Файлова система linuxФайлова система linux
Продуктивність btrfs vs. Ext4 vs. F2fs vs. Xfs vs. Ntfs в ядрі linux 4.7Продуктивність btrfs vs. Ext4 vs. F2fs vs. Xfs vs. Ntfs в ядрі linux 4.7
Яка файлова система краще exfat або ntfs?Яка файлова система краще exfat або ntfs?
Розбивка диска для установки linuxРозбивка диска для установки linux
Продуктивність ext4 vs f2fs vs btrfsПродуктивність ext4 vs f2fs vs btrfs
Кращі завантажувачі linuxКращі завантажувачі linux
Нове покоління файлової системи для windows - refsНове покоління файлової системи для windows - refs
Огляд ext4 vs btrfs vs xfsОгляд ext4 vs btrfs vs xfs
Помилка / dev / sda2 clean files blocks при завантаженніПомилка / dev / sda2 clean files blocks при завантаженні
» » Файлова система btrfs