Файлова система 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За замовчуванням буде використовуватися RAID0 для даних (без дублювання, і RAID1 для метаданих (дублювання на один диск). При використанні одного диска метадані теж дублюються, якщо ви хочете відключити цю поведінку можна використовувати опцію -m single:
$ Sudo btrfs filesystem show / dev / sdbАбо про всі підключені файлових систем:
$ Sudo mount / dev / sdb / mntВи можете монтувати будь-який з дисків, це призведе до однакового ефекту. Рядок в / etc / fstab буде виглядати так:
$ Sudo btrfs filesystem df / mntСтиснення в btrfs
Для включення стиснення досить додати опцію compress при монтуванні. Їй можна передати алгоритм lzo або zlib:
$ Sudo mount -o compress = "zlib" / dev / sdb / mnt
відновлення Btrfs
Для відновлення пошкодженої Btrfs використовуйте опцію монтування recovery:
зміна розміру
Ви можете змінити розмір тому в реальному часі, для цього використовуйте команду resize:
$ Sudo btrfs filesystem resize + 1g / mntстворення подтомов
Ви можете створювати логічні розділи, подтома всередині основного розділу за допомогою Btrfs. Вони можуть бути примонтировать всередині основного розділу:
$ Sudo btrfs subvolume create / mnt / sv2
$ Sudo btrfs subvolume list / mnt
монтування подтомов
Ви можете примонтировать підтем по id, отриманого за допомогою останньої команди:
видалення подтомов
Спочатку підключіть корінь btrfs замість подтома:
$ Sudo mount / dev / sdb / mnt /Щоб видалити підтем можна використовувати шлях монтування, наприклад:
$ Touch / mnt / sv1 / test1 / mnt / sv1 / test2Створюємо знімок:
$ Sudo btrfs filesystem defrag / mntвисновки
Як бачите, файлова система btrfs дуже цікава і перспективна. До того ж вона вже повністю готова до використання і досить стабільна. А ви вже користуєтеся Btrfs? Чи збираєтеся користуватися після прочитання статті? Напишіть в коментарях внизу!
- Нове покоління файлової системи для windows - refs
- Кращі завантажувачі linux
- Кращі дистрибутиви linux для сервера
- Кращі мережеві сховища linux
- Огляд ext4 vs btrfs vs xfs
- Що нового в linux kernel 4.9
- Як відновити файлову систему в fsck
- Файлова система raw - що це?
- Типи файлових систем для linux
- Лінус торвальдс повідомив про перший релізі linux 4.6 rc1
- Розбивка диска для установки linux
- Автоматичне монтування fstab і systemd
- Відмінність fat32 від ntfs
- Файлова система reiserfs
- Помилка / dev / sda2 clean files blocks при завантаженні
- Файлова система xfs
- Продуктивність ext4 vs f2fs vs btrfs
- Файлова система zfs
- Файлова система linux
- Продуктивність btrfs vs. Ext4 vs. F2fs vs. Xfs vs. Ntfs в ядрі linux 4.7
- Яка файлова система краще exfat або ntfs?