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

У 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 остання модифікація

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:

  1. Вбудована цілісність даних-контрольні суми та метадані.
  2. Виявлення та усунення пошкодження даних, покращує загальну надійність файлової системи.
  3. Створення полегшених копій і клонів файлів або цілих структур каталогів з мінімальними додатковими вимогами до дискового простору. Ця функція особливо корисна в поєднанні з технологіями віртуалізації, наприклад, для зберігання образів віртуальних машин і контейнерів Linux.
  4. Швидко знаходить останні зміни файлу.
  5. Покращує операції резервного копіювання, замість того, щоб обходити всю структуру каталогів для файлів, які були змінені, файлова система може надати цю інформацію безпосередньо.
  6. Підтримка Discard і TRIM.
  7. Оптимізована підтримка твердотільних (Flash) пристроїв зберігання, що дозволяє їм відновлювати сектора з віддалених файлів для майбутніх операцій запису.
  8. Інтеграція моментальних знімків з управлінням пакетами yum.
  9. Дозволяє швидко відкотити оновлення програмного забезпечення та ОС або швидко завантажитися на старіший рівень виправлення.
  10. Онлайн-дефрагментація. Запобігає фрагментації, коли безліч дрібних файлів створюються і видаляються у швидкій послідовності і, таким чином, підвищується загальна продуктивність файлової системи за рахунок зменшення кількості звернень до диска.
  11. Очищення з виправленням помилок. Знаходить і виправляє пошкодження файлової системи автоматично.
  12. Онлайн-стиснення даних. Збільшує ємність сховища, і зменшує кількість операцій введення-виведення.
  13. Інтегрована підтримка декількох пристроїв. Дозволяє охопити одну файлову систему на декількох дисках без окремого менеджера томів і забезпечує функціональність RAID для підвищення надмірності або продуктивності.

Порівняння: BTRFS проти EXT4

Порівняння: BTRFS проти EXT4

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

Порівняння стандартів

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

BTRFS також використовує екстенти, але вони істотно відрізняється від інших ОС Linux і здатні копіювати при записі COW. Коли дані перезаписуються в EXT4, нові дані записуються поверх існуючих на пристрої зберігання даних, знищуючи стару копію. BTRFS переміщує перезаписані блоки в інше місце і запише туди нові, залишивши колишню копію на місці.

Ще одна важлива функція BTRFS-вбудований менеджер. BTRFS може охоплювати кілька фізичних пристроїв у ряді конфігурацій RAID. Будь-який тому-набір з одного або декількох фізичних дисків також можна розділити на "підйоми"» які розглядають, як незалежні системи, які спільно використовують один набір фізичних томів. Таким чином, BTRFS дозволяє згрупувати частину або все сховище у великий пул, а потім розділити цей пул між набором файлових систем, кожна з яких має свої обмеження.

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

Дані можуть зберігатися на диску в стислому вигляді. Функція прийому / передачі використовується, як частина додаткових схем резервного копіювання. Механізм оперативної дефрагментації виправляє фрагментовані файли в працюючій системі. В ядрі 3.12 додана функція Автономної дедуплікації, що переглядається блоки, що містять дубльовані дані, і згортає їх в одну загальну копію.

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

Вибір моделі для SSD

Вибір моделі для SSD

Під час налаштування нової інсталяції Linux із SSD багато користувачів не знають, з якою файловою системою працювати. Це зрозуміло, оскільки коли користувачі встановлюють Linux, часто вони вибирають параметри за замовчуванням.

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

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

SSD-EXT4-сьогодні це найбільш використовувана і надійна система в Лінукс. Він використовується у великих центрах обробки даних і на виробництві, на всіх типах жорстких дисків, включаючи твердотільні накопичувачі.

Конвертація файлів

Під час завантаження з Live USBumount потрібно кореневий розділ каталогу конвертувати EXT4 в BTRFS. В іншому випадку не можна буде виконати команду Btrfs-convert, коли буде запропоновано: / dev / sda1 is mounted.

Алгоритм виконання:

  1. Заходять в додаток> Ubuntu Software Center з меню Правка> Джерело програмне забезпечення.
  2. Перевірте весь список: Retry apt-get install Btrfs-tools. Рекомендується використовувати оновлену версію Btrfs-tools. Наприклад, отримати BTRFS-tools_0.19+20100601-3ubuntu3_amd64.deb і прописати: sudo dpkg-i BTRFS-tools v0.19+20100601-3ubuntu3 _amd64.deb
  3. Без цього оновленого інструменту ви не можете видалити snapshot з BTRFS.
  4. Якщо вдалося перетворити 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:

  1. Виконують команду mount, щоб визначити пристрій, який Змонтовано, як кореневе і тип файлової системи.
  2. Використовують команду ls-l, щоб визначити, що зіставлений пристрій відповідає/dev / vg hostol6/ lv_root, а коренева файлова система відповідає розділу диска / dev / sda2.
  3. Вимикають ПК.
  4. Завантажують із завантажувального компакт-диска Oracle Linux, DVD або ISO.
  5. В меню установки вибирають Rescue Installed System. При появі запиту вибирають мову і клавіатуру, локальний CD / DVD в якості інсталяційного носія, і далі " Ні " «щоб обійти запуск мережевого інтерфейсу.
  6. Вибирають "Пропустити", щоб обійти вибір середовища відновлення.
  7. Вибирають Start shell, щоб отримати Bash-запрошення оболонки (bash-4.1#) внизу екрана.
  8. Якщо існуюча коренева система налаштована, як тому LVM, використовують наступну команду для запуску групи томів: vg_hostol6.
  9. Запускають правильну версію fsck, наприклад, fsck.ext3 або fsck. ext4, щоб перевірити та виправити цілісність системи.
  10. Перетворюють систему в BTRFS.
  11. Створюють точку монтування (/mnt 1) для перетвореної кореневої системи.
  12. Використовують команду для редагування файлу / mnt1 / etc / fstab і змінюють тип кореневої системи BTRFS.
  13. Створюють файл .autorelabel в корені змонтованої системи.
  14. Наявність .autorelabel файлу вказує SE Linux відтворити атрибути безпеки для всіх файлів в системі.
  15. Демонтують перетворену кореневу систему.
  16. Витягують завантажувальний CD, DVD або ISO і перезавантажують систему.

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

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

BTRFS порівняно недавно з`явився на syno, і вже вважається стабільним рішенням і пропонується в якості стандарту в більшості дистрибутивів. Вибираючи файлову систему для SSD - Btrfs і EXT4, базуються на наступних аргументах.

BTRFS - це багатокоренева файлова система, вбудована в ядро Linux у 2013 році та оголошена стабільною. Вона може зберігати 16 мільйонів ТБ за обсягом (16 Eo) і надає безліч функцій:

  1. Автоматичне виявлення та оптимізація SSD. Диски без пластин виграють від певних оптимізацій і це проблема розробки. Спочатку розглядається SF, особливо в EXT4, якщо необхідно відключити певні опції під час редагування, такі як час запису файлу.
  2. Лінійний RAID корисний, коли користувач має різні та різноманітні носії даних, які потрібно об`єднати для переробки, наприклад, NAS, додавши сервер NFS. Це неможливо з картою RAID, з MDADM або з LVM. BTRFS JBOD пропонує більше шансів на збереження даних, особливо з невеликою кількістю дисків, тому вибір стандарту для Synology-BTRFS і EXT4, залишається за першим типом.
  3. Після початкового повного копіювання лише для читання BTRFS може виконувати додаткові резервні копії, наприклад, зберігати одну резервну копію на день, потім одну на місяць, потім одну на рік. Передача знімків також відбувається поступово, легше та швидше, ніж використання "rsync", оскільки система може розрізняти видалення файлу та просте перейменування дерева.

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

Статті на тему