У Linux все є файлом. Тип організації в Linux є хорошою основою підвищення безпеки ОС. Системи монтуються в каталог, файли якого формують його вміст. Такий каталог називається точкою монтування. Коли файлову систему BTRFS і EXT4 змонтована, власні файли точки монтування будуть виявлятися нею. Ця чудова особливість Linux, дозволяє оперативно монтувати і деінсталювати різні файлові системи, без необхідності застосування драйверів. Це дає користувачам і розробникам свободу вибору для обробки документів.
Історія розвитку файлової системи
При написанні вихідного ядра Linux Лінусу Торвальдсу потрібна була нова файлова система, але він не хотів писати і просто використав Minix, написану Ендрю С. Таненбаумом і є частиною ОС Unix-подібної ОС Minix, написаної для освітніх цілей. Її код до цих пір знаходиться у вільному доступі і має відповідну ліцензію.
Minix має структури, більшість з яких розташовані в розділі, де генерується файлова система – це завантажувальний сектор в першому секторі жорсткого диска, де він встановлений. Завантажувальний блок включає в себе завантажувальний запис і таблицю розділів.
Оригінальна файлової системи EXT (Extended) була написана Rémy Card і випущена спільно з Linux в 1992 році, для подолання деяких обмежень розміру Minix. Основні структурні зміни торкнулися метаданих ОС, заснованої на Unix (UFS), також відомої як FFS. EXT мала значні проблеми і була швидко замінена EXT2, а потім EXT3.
EXT4 – остання модифікація оригінальної файлової системи. Вона підвищує продуктивність, функціональність і пропускну здатність ОС. Для безпеки були додані метадані і контрольні суми журналу. Тимчасові мітки були покращені з додаванням інтервалів аж до наносекунд.
У 2014 році відбулися значні зміни – два найбільш важливих професійних дистрибутива Linux Red Hat, SUSE, попрощалися з класичної файлової системи EXT і випустили нові стандарти – BTRFS і XFS. B-tree – це файлова система наступного покоління для Linux, вимовляється як Butter FS або B-tree FS. BTRFS має ряд функцій, які роблять його привабливим рішенням для локального дискового сховища. Тим не менш остаточний вибір BTRFS або EXT4 залишається за користувачем.
Типи файлів
У Linux все розглядається як файл, навіть такі пристрої, як принтери і дисководи. Оскільки всі дані, по суті, являють собою потік байтів, кожен пристрій може логічно розглядатися як файл.
Для того щоб правильно зробити вибір – BTRFS або EXT4, потрібно розуміти будову файлової системи. Всі файли в Unix можна умовно розділити на 3 типи, а саме:
- Звичайні;
- каталоги;
- пристрою.
Останні два інтуїтивно не схожі на файли, тому вважаються «спеціальними». Перший тип, перерахований вище, є звичайним файлом, тобто без “спеціального призначення”. Він складається з потоків даних (байтів), що зберігаються на якомусь фізичному пристрої. Приклади – прості текстові документи, додатки, що містять вихідний код високого рівня, виконувані текстові та двійкові файли.
Другий тип – спеціальний файл, який називається каталогом. Цей тип виступає в якості контейнера для інших категорій, званих подкаталогом. Вони не містять даних користувача сенсі, а тільки посилання на файли, що містяться в них.
Третя категорія, згадана вище, є пристроєм. Це ще один спеціальний тип, який використовується для опису фізичного пристрою, такого як принтер або портативний накопичувач. У цьому випадку BTRFS або EXT4 не будуть містити ніяких даних, а просто відображають інформацію, що надходить на описуваний пристрій.
BTRFS: масштабування для сховищ
BTRFS заснований на B-дереві копіювання при записі COW. За словами Кріса Мейсона, автора BTRFS, його мета полягала в тому, щоб дозволити Linux масштабуватися для доступних сховищ. Масштабування – це не тільки звернення до сховища, але і можливість адміністрування і управління за допомогою простого інтерфейсу, що дозволяє користувачам бачити, що використовується, роблячи процес більш надійним. Тому вибір BTRFS або EXT4 має більше переваг у першого стандарту.
BTRFS також є системою зберігання на основі розміри, таких як XFS. Він економить місце для невеликих індексованих файлів і каталогів та підтримує динамічне розміщення “inode”. Він обробляє кілька пристроїв зберігання і забезпечує підтримку чергування RAID, віддзеркалення, а також спільне чергування і віддзеркалення. Він також має підтримку флеш-накопичувачів з прямою підтримкою операцій TRIM/скидання.
Система підтримує стислі, записувані і доступні дані для читання знімків, а також ефективне інкрементне резервне копіювання. Эпитома дозволяють розділяти внутрішні корені файлової системи, а також реалізацію квот і зовнішньої дедуплікаціі. Ці функції дуже корисні у вбудованих системах високої доступності.
BTRFS має мінімальну інформацію, що зберігається у фіксованих місцях. Це є перевагою для міграції EXT2/3/4, оскільки перетворення на місці можливе за умови наявності достатнього вільного місця. Крім того, стандарт є базою для зберігання Ceph, файлової системи кластера. Для користувача досить цих аргументів при виборі BTRFS і EXT4.
Розширена система
Цей багаторічний стандарт є сімейством, яке включає в себе EXT2, EXT3 та EXT4 і досі де-факто широко використовується.
EXT2 був представлений в 1993 році і підтримував функції Linux, такі як символічні посилання і довгі імена файлів, обробляв тома до 32 ТБ і файли розміром до 2 ТБ. Формат раніше використовується в багатьох сховищах на основі флеш-пам’яті разом з FAT. У ньому відсутня система журналів, притаманна стандартам EXT3 і EXT4. Для розміщення EXT2 використовується багаторівнева ієрархія, яка забезпечує швидкий доступ до файлів меншого розміру. Великі файли додають одно – та дворівневу посилання, перш ніж стануть доступні.
EXT4 володіє рядом функцій, включаючи файлові системи розміром до 1 байта і файли до 16 Тбайт. Экстенты замінюють традиційний механізм відображення блоків, що використовувався з більш ранніми родичами. Незважаючи на зворотну сумісність, EXT4 не може бути змонтована як EXT3, якщо включені нові функції, такі як підтримка небачених.
EXT4 підтримує постійне попередній розподіл – корисно для додатків, таких як потокове мультимедіа, де продуктивність послідовного доступу є першорядною. Він також підтримує відкладене розподіл, моноблочний розподільник, швидку перевірку та журнали для підвищення надійності.
Формат наступного покоління
BTRFS – стандарт наступного покоління для Linux, призначений для великих файлів і системи з нуля, моментальних знімків, спрощеного адміністрування, інтегрованого RAID і керування томами.
BTRFS має переваги по відношенню EXT4:
Порівняння: BTRFS vs EXT4
Не так давно користувачі Linux ще працювали з файловими системами, які мало змінилися з часів Unix, наприклад, EXT3. Стандарт використовує покажчики блоків, індекс кожного файлу центральної структури даних, що містить всю інформацію про файл список покажчиків на кожен окремий блок.
Більш пізні стандарти EXT4 використовують покажчики на «экстенты». Кожен являє собою групу суміжних блоків. Оскільки вони працюють з безперервним зберіганням даних на основі розміри, що значно знижує витрати на управління простором файлу.
BTRFS також використовує экстенты, але вони суттєво відрізняється від інших ОС Linux і здатні копіювати при запису COW. Коли дані перезаписуються в EXT4, нові дані записуються поверх існуючих на пристрої зберігання, знищуючи стару копію. BTRFS переміщує перезаписані блоки в інше місце і запише туди нові, залишивши колишню копію на місці.
Ще одна важлива функція BTRFS – вбудований менеджер. Ця файлова система може охоплювати кілька фізичних пристроїв в ряді конфігураціях RAID. Будь – набір з однієї або кількох фізичних дисків також можна розділити на «підйоми», які розглядають як незалежні системи, спільно використовують один набір фізичних томів. Таким чином, BTRFS дозволяє згрупувати частину або всі сховище у великий пул, а потім розділити цей пул між набором файлових систем, кожна з яких має свої власні обмеження.
BTRFS пропонує широкий спектр інших функцій, які не підтримуються іншими файловими стандартами Linux. Він може виконувати повне контрольне підсумовування, як даних, так і метаданих, що робить його надійним перед можливим пошкодженням даних на обладнанні. Повна контрольна сума обходиться дорого, тому буде використовуватися лише в невеликій кількості установок.
Дані можуть зберігатися на диску в стислому вигляді. Функція прийому/передачі використовується, як частина додаткових схем резервного копіювання. Механізм дефрагментації виправляє фрагментовані файли у працюючій системі. В ядрі 3.12 додана функція автономної дедуплікаціі, переглядається блоки, що містять повторювані дані, і згортає їх в одну загальну копію.
Незважаючи на те, що порівняння EXT4 і BTRFS на користь останнього стандарту, чудова нова функціональність BTRFS не безкоштовна. У багатьох випадках адміністратори можуть вирішити, що витрати, пов’язані з BTRFS, переважують переваги. Як тільки стане загальноприйнятим, що BTRFS готовий до спільного використання в реальному світі, є ймовірність, що стандарт з’явиться в багатьох системах.
Вибір моделі для SSD
При налаштуванні нової установки Linux з SSD багато користувачів не знають, з якою файловою системою працювати. Це зрозуміло, оскільки коли користувачі встановлюють Linux, часто вони вибирають параметри за замовчуванням.
SSD-BTRFS має багато супротивників. Вони кажуть, що він нестабільний, і це схоже на правду, так як він до цих пір знаходиться в складній стадії розвитку. Тим не менш, насправді це досить солідна файлова система для базового застосування, тим більше для твердотільних накопичувачів.
BTRFS не веде журнал на відміну від інших систем, заощаджуючи дорогоцінний простір для SSD. Він також підтримує TRIM, важливу функцію для власників твердотільних дисків. TRIM дозволяє стирати непотрібні блоки, що вкрай важливо для підтримки працездатності такого диска в Linux.
SSD-EXT4 – сьогодні це найбільш використовувана і надійна система в Лінукс. Він використовується у великих центрах обробки даних і на виробництві, на всіх типах жорстких дисків, включаючи твердотільні накопичувачі.
Конвертація файлів
Під час завантаження з Live USBumount потрібно кореневий розділ каталогу конвертувати EXT4 в BTRFS. В іншому випадку не можна буде виконати команду BTRFS-convert, коли буде запропоновано: /dev/sda1 is mounted.
Алгоритм виконання:
Далі змінюють UUID menu.lst файлі. З Grub Legacy потрібно змінити root=UUID значення menu.lst файлі для BTRFS-розділу вручну. Для цього використовують наступні рядки для Grub s menu.lst файлу. Оскільки скрипти і перехоплення додаються initramfs, initrd, зображення в boot-каталозі повинні бути оновлені.
Перетворення розділу диска
Перед виконанням перетворення файлової системи попередньо виконують повну резервну копію ОС, для можливого майбутнього відновлення.
Процес перетворення EXT2, EXT3 або EXT4 в кореневі файли BTRFS:
Synology: оптимізація SSD
BTRFS порівняно недавно з’явився на syno, і вже вважається стабільним рішенням і пропонується в якості стандарту в більшості дистрибутивів. Вибираючи файлову систему для SSD – BTRFS і EXT4, базуються на наступних аргументах.
Ця файлова система – це багатокореневих файлова система, вбудована в ядро Linux в 2013 році оголошена стабільною. Вона може зберігати 16 мільйонів ТБ за обсягом (16 Eo) і надає безліч функцій:
BTRFS – файлова система Linux наступного покоління і змінює уподобання користувачів у відношенні вибору. Це справжній мобільний інструмент, який вимагає навчання по мірі зростання споживчих запитів.