Новини високих технологій
» » BTRFS або EXT4: огляд систем, продуктивність, перетворення

BTRFS або EXT4: огляд систем, продуктивність, перетворення

17-02-2019, 16:40
501
У 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: Вбудована цілісність даних - контрольні суми і метадані. Виявлення і усунення пошкодження даних, покращує загальну надійність файлової системи. Створення полегшених копій і клонів файлів або цілих структур каталогів з мінімальними додатковими вимогами до дискового простору. Ця функція особливо корисна в поєднанні з технологіями віртуалізації, наприклад, для зберігання образів віртуальних машин і контейнерів Linux. Швидко знаходить останні зміни файлу. Покращує операції резервного копіювання, замість необхідності обходити всю структуру каталогів для файлів, які були змінені, файлова система може надати цю інформацію безпосередньо. Підтримка Discard і TRIM. Оптимізована підтримка твердотільних (Flash) пристроїв зберігання, що дозволяє їм відновлювати сектору з видалених файлів для майбутніх операцій запису. Інтеграція моментальних знімків з управлінням пакетами yum. Дозволяє швидко відкотити оновлення програмного забезпечення та ОС або швидко завантажиться на старий рівень виправлення. Онлайн-дефрагментація. Запобігає фрагментації, коли безліч дрібних файлів створюються і видаляються в швидкій послідовності і, таким чином, підвищується загальна продуктивність файлової системи за рахунок зменшення кількості звернень до диску. Очищення з виправленням помилок. Знаходить і виправляє пошкодження файлової системи автоматично. Онлайн-стиснення даних. Збільшує ємність сховища, і зменшує кількість операцій вводу-виводу. Інтегрована підтримка декількох пристроїв. Дозволяє охопити одну файлову систему на кількох дисках без окремого менеджера томів і забезпечує функціональність RAID для підвищення надлишковості або продуктивності.

Порівняння: BTRFS vs EXT4

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

Більш пізні стандарти EXT4 використовують покажчики на «экстенты». Кожен являє собою групу суміжних блоків. Оскільки вони працюють з безперервним зберіганням даних на основі розміри, що значно знижує витрати на управління простором файлу. BTRFS також використовує экстенты, але вони суттєво відрізняється від інших ОС Linux і здатні копіювати при запису COW. Коли дані перезаписуються в EXT4 нові дані записуються поверх існуючих на пристрої зберігання, знищуючи стару копію. BTRFS переміщує перезаписані блоки в інше місце і запише туди нові, залишивши колишню копію на місці. Ще одна важлива функція BTRFS - вбудований менеджер. Ця файлова система може охоплювати кілька фізичних пристроїв в ряді конфігураціях RAID. Будь - набір з однієї або кількох фізичних дисків також можна розділити на «підйоми», які розглядають як незалежні системи, спільно використовують один набір фізичних томів. Таким чином, BTRFS дозволяє згрупувати частину або всі сховище у великий пул, а потім розділити цей пул між набором файлових систем, кожна з яких має свої власні обмеження.
BTRFS пропонує широкий спектр інших функцій, які не підтримуються іншими файловими стандартами Linux. Він може виконувати повне контрольне підсумовування, як даних, так і метаданих, що робить його надійним перед можливим пошкодженням даних на обладнанні. Повна контрольна сума обходиться дорого, тому буде використовуватися лише в невеликій кількості установок. Дані можуть зберігатися на диску в стислому вигляді. Функція прийому/передачі використовується, як частина додаткових схем резервного копіювання. Механізм дефрагментації виправляє фрагментовані файли у працюючій системі. В ядрі 312 додано функція автономної дедуплікаціі, переглядається блоки, що містять повторювані дані, і згортає їх в одну загальну копію. Незважаючи на те, що порівняння 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. Алгоритм виконання: Заходять в Додаток> Ubuntu Software Center меню Правка> Джерела програмного забезпечення. Перевіряють весь список: Retry apt-get install BTRFS-tools. Рекомендується використовувати оновлену версію BTRFS-tools. Наприклад, отримати BTRFS-tools_019+20100601-3ubuntu3_amd64.deb і прописати: sudo dpkg -i BTRFS-tools v019+20100601-3ubuntu3 _amd64.deb Без цього оновленого інструменту можна видалити snapshot з BTRFS. Якщо вдалося перетворити EXT4 в BTRFS і виконана функція BTRFS-convert, то будуть відображені наступні повідомлення.
Далі змінюють UUID menu.lst файлі. З Grub Legacy потрібно змінити root=UUID значення menu.lst файлі для BTRFS-розділу вручну. Для цього використовують наступні рядки для Grub s menu.lst файлу. Оскільки скрипти і перехоплення додаються initramfs, initrd, зображення в boot-каталозі повинні бути оновлені.

Перетворення розділу диска

Перед виконанням перетворення файлової системи попередньо виконують повну резервну копію ОС, для можливого майбутнього відновлення. Процес перетворення EXT2 EXT3 або EXT4 в кореневі файли BTRFS: Виконують команду mount, щоб визначити пристрій, яке змонтовано, як кореневе і тип файлової системи. Використовують команду ls -l, щоб визначити, що зіставлення пристрій відповідає /dev/vg hostol6/lv_root, а коренева файлова система відповідає розділу диску /dev/sda2. Вимикають ПК. Завантажують з завантажувального компакт-диска Oracle Linux, DVD або ISO. В меню установки вибирають Rescue Installed System. При появі запиту вибирають мову і клавіатуру, локальний CD/DVD як інсталяційного носія, і далі «Ні», щоб обійти запуск мережевого інтерфейсу. Вибирають «Пропустити», щоб обійти вибір середовища відновлення. Вибирають Start shell, щоб отримати bash - запрошення оболонки bash-4.1#) внизу екрану. Якщо існуюча коренева система налаштована, як те LVM, використовують наступну команду для запуску групи томів: vg_hostol6. Запускають правильну версію fsck, наприклад, fsck.ext3 або fsck. ext4 щоб перевірити і виправити цілісність системи. Перетворюють систему в BTRFS. Створюють точку монтування (/mnt 1) для перетвореної кореневої системи. Використовують команду для редагування файлу /mnt1/etc/fstab і змінюють тип кореневої системи BTRFS. Створюють файл .autorelabel докорінно змонтованої системи. Наявність .autorelabel файлу вказує SE Linux відтворити атрибути безпеки для всіх файлів в системі. Размонтируют перетворену кореневу систему. Витягують завантажувальний CD, DVD або ISO і перезавантажують систему.

Synology: оптимізація SSD

BTRFS порівняно недавно з'явився на syno, і вже вважається стабільним рішенням і пропонується в якості стандарту в більшості дистрибутивів. Вибираючи файлову систему для SSD - BTRFS і EXT4 базуються на наступних аргументах. Ця файлова система - це багатокореневих файлова система, вбудована в ядро Linux в 2013 році оголошена стабільною. Вона може зберігати 16 мільйонів ТБ за обсягом (16 Eo) і надає безліч функцій: Автоматичне виявлення і оптимізація SSD. Диски без пластин виграють від певних оптимізацій і це проблема розробки. Спочатку розглядається SF, особливо в EXT4 якщо необхідно вимкнути певні опції під час редагування, такі як час запису файлу. Лінійний RAID корисний, коли у користувача є різні і різноманітні носії даних, які потрібно об'єднати для переробки, наприклад, NAS, додавши сервер NFS. Це неможливо з картою RAID, з MDADM або з LVM. BTRFS JBOD пропонує більше шансів на збереження даних, особливо з невеликою кількістю дисків, тому вибір стандарту для Synology - BTRFS і EXT4 залишається за першим типом. Після первісного повного копіювання тільки для читання BTRFS може виконувати інкрементне резервне копіювання з ротацією, наприклад, зберігати одну резервну копію в день, потім одну на місяць, потім одну в рік. Перенесення знімків також відбувається поступово, легше і швидше, ніж при використанні «rsync», оскільки система може розрізняти видалення файлу і просте перейменування дерева. BTRFS - файлова система Linux наступного покоління і змінює уподобання користувачів у відношенні вибору. Це справжній мобільний інструмент, який вимагає навчання по мірі зростання споживчих запитів.
Цікаво по темі
Грамотна розмітка диска для Linux
Грамотна розмітка диска для Linux
Розмітка диска Linux розбиває його логічно на більш дрібні частини, які будуть використовуватися різними програмами. На твердотільних пристроях слово
Linux: плюси і мінуси, опис, особливості установки
Linux: плюси і мінуси, опис, особливості установки
Кажучи простими словами, Linux - це програмне забезпечення на комп'ютері, що дозволяє додаткам і користувачеві доступ до пристроїв для виконання
MiniDLNA - настройка сервера, поради по установці, конфігурації
MiniDLNA - настройка сервера, поради по установці, конфігурації
MiniDLNA надає безкоштовне рішення для обміну цифровими медіа між пристроями, з можливістю використовувати цю технологію в локальній мережі.
Функції та структура ОС Windows і Linux
Функції та структура ОС Windows і Linux
Операційна система являє собою набір програмного забезпечення, який з'єднує користувачів і фізичне обладнання комп'ютера. Формуючи перспективу роботи
Файлова система "Лінукс": тип, опис, структура, перевірка системи, відновлення пошкоджених файлів
Файлова система "Лінукс": тип, опис, структура, перевірка системи, відновлення пошкоджених файлів
Що таке файлова система "Лінукс"? Як вона організована, якими є її основні функції? Структура каталогів. Які основні типи даних файлових систем