Файлова система ZFS – найкраща файлова система, можливо

Операційна система Linux є досить гнучкою системою. Це дозволяє використовувати її як на настільних комп’ютерах, так і на серверах. Головне вибрати правильну файлову систему, яка буде відповідати саме вашим вимогам. У цій статті ми детально розглянемо файлову систему ZFS.

Файлова система ZFS – найкраща файлова система, можливо

Зміст

  1. Що є файлова система ZFS?
  2. Історія розвитку файлової системи ZFS
  3. Структура файлової системи ZFS
  4. Можливості файлової системи ZFS
  5. Недоліки файлової системи ZFS
  6. Безпека даних у ZFS
  7. ZFS та Mac OS
  8. Як відкрити ZFS накопичувач у Windows?
  9. Кращі альтернативи файловій системі ZFS

Що є файлова система ZFS?

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

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

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

І ось, у 2005 році команда розробників, під керівництвом Меттью Арена та Джефа Бонвіка, представила файлову систему, що відповідає всім цим вимогам.

ZFSвийшла дуже швидкою, технологічною та новаторською. Крім того, вона 128-бітна, замість звичних 64-біта. Таким чином, розробники зробили величезний акцент на її актуальності в майбутньому.

Фактично ZFSзмогла зібрати багато рішень, які використовуються в інших файлових системах окремо. Наприклад, файлова система так чи інакше використовує LVM(менеджер томів), Linux RAID mdadm (хоч і дещо модифікований), деякі функції XFS, снапшоти та багато іншого.

Більше інформації про Linux mdadm RAID – у статті «Створення програмного mdadm RAID у Linux».

Технологія LVM детально описана у статті «LVM – що це таке, переваги та недоліки»

Не можна не згадати, що файлова система ZFS використовує технологію copy on write. Це означає, що під час перезапису файлу фізично він не перезаписується.

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

Використання методу copy-on-write дозволяє не використовувати журналювання зовсім і мати при цьому можливість відновлення втрачених даних.

Всі вищеописані переваги та величезний потенціал файлової системи ZFS стали причиною, чому багато хто звернув на неї увагу і досі її обговорює.

Історія розвитку файлової системи ZFS

Після релізу файлової системи ZFS її вихідний код був інтегрований в ядро ​​операційної системи Solaris. У тому ж році почалися інтегруватися до інших операційних систем.

Вже у 2008 року ZFSбула інтегрована уFreeBSD і почалися роботи з портування ZFS для Linux. Однак, процес портування був ускладнений переходом на CDDL (Common Development and Distribution License) ліцензію. Вона хоч і ґрунтується на принципах вільного розповсюдження ПЗ, проте суперечить принципам ліцензування GNU/Linux. Це призвело до того, що порт допрацювали, проте в операційній системі Linux, ZFSможна використовувати в дуже обмеженому режимі. Щоб вирішити це питання, сучасні дистрибутиви Linux пропонують методи для встановлення ZFS. Тобто, користувач спочатку встановлює потрібний дистрибутив Linux, а потім використовує запропонований дистрибутивом спосіб встановити файлову систему ZFS.

Найбільш ефективні методи інсталяції ZFS у Linux є використання модуля FUSE або встановлення окремого модуля ядра ZFS on Linux.

Незабаром, після цього, компанія Oracle придбала Sun Microsystems разом з усіма ліцензіями та закрила код ZFS. Відповідно, подальша вільна розробка була неможливою. Це стало причиною переходу багатьох ключових розробників до інших компаній та створення проекту OpenZFS, в якому дотримуються концепції вільної розробки.

Проте ліцензію так і не змінили, оскільки багато авторських прав на ZFSмає досить велику кількість розробників, які розійшлися по інших компаніях або роз’їхалися по світу. Відповідно простіше було залишити все як є і використовувати методи, запропоновані дистрибутивами Linux, ніж домагатися дозволу кожного розробника.

На сьогоднішній день, існує 37 версій файлової системи ZFS, кожна з яких привносить нові покращення.

Варто також зазначити, що файлова система ZFS активно розвивається. Якщо врахувати її технічний потенціал, і додати до цього постійне поліпшення швидкодії та інших функцій – можна зробити висновок, що через кілька років ZFS може стати системою №1 для серверних систем.

Структура файлової системи ZFS

Структура файлової системи ZFS оформлена у вигляді дерева Меркла, або Хеш-дерева. Для початку, варто сказати, що дерево хешей використовується в блокчейні криптовалют (наприклад, Bitcoin або Ethereum). Фактично файлова система ZFS є менеджером дисків і LVM в одній упаковці.

Структура файлової системи ZFS

Тобто на найнижчому рівні кілька фізичних дисків об’єднуються в якусь віртуальну групу – VDEV(Virtual Device). Таких груп може бути досить багато. Також на цьому рівні забезпечується надмірність.

Чергування відбувається усередині кожної групи дисків. Можна обрати Mirror (аналог RAID 1) або RAID-Z (працює за принципом RAID-5 з кількома модифікаціями ). Останній тип поділяється на кілька рівнів: RAID-Z1 – використовує два диски для зберігання даних та один для парності, RAID-Z2 – використовує два диски для зберігання даних та два диски для зберігання даних парності та RAID-Z3 – використовує два диски для даних користувача та три диски для даних парності.

Вибір типу RAID-Z здійснюється залежно від того, що більше потрібно користувачеві – надійність чи продуктивність.

Потім, усі VDEV (групи дисків) об’єднуються у спільний пул. Фактично це LVM, який поєднує в собі кілька RAID масивів.

Поверх усієї цієї структури знаходиться сама файлова система з даними користувача.

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

Можливості файлової системи ZFS

У цій частині статті ми розглянемо найцікавіше – можливості файлової системи ZFS і розберемося в чому її технологічність і чому її так люблять.

У ZFSрозробники реалізували дуже велику кількість корисних функцій, серед яких найбільш помітні такі:

  1. Дуже збільшено максимальний розмір файлу, що записується – тепер він становить 16 ексбібайт (EiB);
  2. Максимальний розмір тома досягає 256 зебібайт(ZiB), кількість таких томів може бути будь-якою;
  3. ZFS є 128-бітною файловою системою – на практиці це означає, що вона надає ємність 16 мільйонів 32 або 64-бітних систем.
    Це означає, що заповнити такий 128-бітний пул практично неможливо. Один із творців ZFSДжеф Бонвік навіть пожартував із цього приводу. Він сказав, що для забезпечення працездатності пулу таких розмірів потрібно більше енергії, ніж для того, щоб закип’ятити океан;
  4. Снапшоти використовуються для стеження за станом системи – у знімку записано оригінальний стан файлової системи та стан на даний момент. Якщо файл видаляється із системи – він також видаляється зі знімка.
    При записі нової інформації виділяються нові блоки. Головна особливість полягає в тому, що жодного додаткового простору для знімків не потрібно;
  5. Перевірка цілісності даних та автоматичне їх виправлення – щоразу, коли записуються нові дані – файлова система створює для них чек-суму (контрольну суму). Під час читання даних відбувається порівняння чек-суми. За наявності невідповідностей файлова система відзначає помилку та автоматично намагається її виправити;
  6. Мінімум дві копії контрольних сум для метаданих – зазвичай вони знаходяться в різних місцях для забезпечення більшої безпеки;
  7. Висока швидкість стиснення на льоту – тут багато залежить від алгоритму. Наприклад, при використанні алгоритму LZ4, ZFS без проблем може показати швидкість запису 800 Мб/с на одне ядро, а швидкість читання буде не нижче 4.5 Гб/с .
  8. Атомарність – файлова система ZFS є атомарною за рахунок застосування дерева Меркла. Цілісність блоків гарантується транзакційністю файлової системи. Таке рішення дозволяє не використовувати WAL-лог. Мінусом такого рішення є необхідність знання великої кількості команд та утиліт;
  9. Підтримка пулів – диски можна об’єднувати в групи VDEV, які у свою чергу можна об’єднувати в пули;
  10. Висока швидкість роботи – ZFS без проблем може працювати з сотнею пулів (не дисків, а саме пулів) без втрати продуктивності;
  11. Можливість створити легку файлову систему – у ZFS маніпулювання файловою системою відбувається легше, ніж в інших файлових системах. Усі маніпуляції більше схожі на роботу з каталогами, ніж з файловою системою;
  12. Завдяки використанню методу копіювання під час запису – ви ніколи не втратите файл під час запису на диск;
  13. Автоматично розширюваний канал передачі – при підключенні додаткових дисків потрібно збільшити пропускну здатність, інакше продуктивність знижуватиметься. У ZFS це врахували. Тому при підключенні нових VDEVфайлова система автоматично налаштує диски та розширить канал передачі даних;
  14. Можливість планувати роботу з даними – ця можливість стає корисною, наприклад, на серверах. Тобто, коли виникає «простій процесора», ви можете використовувати ці ресурси для роботи з даними. У такий засіб можна більш ефективно використовувати апаратні ресурси вашої машини.

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

Недоліки файлової системи ZFS

У попередньому пункті цієї статті ми розглянули головні переваги файлової системи ZFS. Тепер настав час поговорити про її недоліки, яких теж вистачає:

  1. Не надто швидка робота на жорстких дисках – через свою структуру, ZFS вимагає швидкого випадкового доступу, яким не можуть похизуватися жорсткі диски. Відповідно, при збільшенні кількості жорстких дисків продуктивність може знижуватися.
    Відомі випадки, коли на домашньому комп’ютері з не надто швидким жорстким диском продуктивність настільки падала, що користуватися комп’ютером було нестерпно. Відповідно, весь потенціал ви зможете отримати тільки на SSD накопичувачах;
  2. Необхідність знання великої кількості команд і утиліт – щоб отримати максимальний ефект ви повинні вміти дуже добре «спілкуватися» з цією файловою системою;
  3. Неможливість змінити структуру дисків VDEV – ви можете лише один раз налаштувати кожну групу дисків VDEV (кількість дисків, надмірність тощо). Після застосування конфігурації внести зміни не вдасться. В даний час вже розробляється патч, який зможе виправити цю проблему;
  4. Необхідність у великій кількості оперативної пам’яті – незважаючи на те, що в мінімальних вимогах вказано мінімальний обсяг ОЗУ в 4ГБ, на практиці найкраще використовувати комп’ютер не нижче 8 ГБ та більше.
  5. Великий рівень фрагментації даних – виникає через особливості роботи файлової системи. На сьогоднішній день відсутній нормальний дефрагментатор;
  6. Не можна зменшити кількість VDEV – виправлення цієї проблеми планується в найближчому майбутньому;
  7. Відсутність розподілу квот між користувачами – на сьогоднішній день це питання вирішують шляхом створення файлової системи різних розмірів для кожного користувача;
  8. Не можна змішувати VDEV та ZPOOL – тобто ви не зможете створити аналог RAID 10 або RAID 01, оскільки надмірність можна організувати лише на нижньому рівні, всередині кожної групи дисків VDEV;
  9. Можливість сильного падіння продуктивності при видаленні великої кількості даних;
  10. Підвищене навантаження на процесор при використанні RAID Z – виникає через необхідність розрахунку даних парності. Така сама ситуація спостерігається і при використанні програмного масиву RAID 5. Однак RAID 5 зазвичай використовується у сховищах меншого розміру. Сховища ZFS зазвичай дуже великі, відповідно залізо має бути дуже потужним;

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

Безпека даних у ZFS

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

Одним із методів захисту даних стало впровадження RAID Z. Як згадувалося вище, ця технологія побудована на масиві RAID 5. У разі поломки будь-якого накопичувача RAID Z дозволяє просто витягнути зламаний жорсткий диск та вставити новий. Головне, щоб він був такого самого розміру. Решта файлова система зробить сама. Користувач помітить лише невелике зниження продуктивності, викликане перерахуванням алгоритму та подальшим відновленням даних на новий диск.

Файлова система ZFS автоматично аналізує свій стан шляхом порівняння снапшотів. У разі виникнення проблем ZFS виправить помилку, а якщо це буде неможливим – ви побачите повідомлення, але все одно зможете відновити дані. Вся справа в методі “copy on write”, на якому побудована вся ZFS. При перезаписі нові дані записуються в новий блок, не змінюючи старі дані.

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

SHA-256 – ще одна технологія, яка захищає дані від втрати. Під час запису файлова система автоматично генерує контрольну суму файлу та при копіюванні розраховує її знову. Якщо при порівнянні виникнуть відмінності, ZFS відразу ж розпізнає помилки.

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

ZFS та Mac OS

У 2009 році компанія Apple оголосила про портування файлової системи ZFS для Mac OS. На жаль, процес портування так і не був завершений і до презентації нової версії Mac OS усі згадки про ZFS було видалено. Причини відмови від ZFS не розкриваються.

Як відкрити ZFS накопичувач у Windows?

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

Так чи інакше операційна система Windows не підтримує ZFS із коробки, оскільки нативні файловими системами Windows є NTFS і FAT (16, 32).

Але що робити, якщо потрібно відкрити ZFS накопичувач у Windows?

Існує кілька способів, як це зробити.

Перший спосіб полягає у використанні програми RS Partition Recovery. Програма проста у використанні і дозволяє відразу працювати з даними на ZFS диску. Вам навіть не потрібно перезавантажувати комп’ютер.

Логотип RS Partition Recovery

Але найголовніше – ви можете відновити втрачені дані у разі їх зникнення, пошкодження файлової структури диска або його форматування. Функція відновлення помітно виділяє RS Partition Recovery на фоні конкурентів, оскільки нерідко Windows некоректно працює з файловою системою ZFS. Це може призвести до втрати важливих даних.

RS Partition Recovery

RS Partition Recovery

Універсальне рішення для відновлення даних

Також варто зазначити, RS Partition Recovery підтримує ВСІ сучасні файлові системи, включаючи Btrfs, Ext2,3,4, XFS, HFS, UFS та багато інших.

Всі перелічені можливості програми RS Partition Recovery роблять її програмою «must have» для кожного користувача.

Другий спосіб полягає в установці особливого драйвера під назвою ZFSin.

Логотип ZFSin

Цей драйвер додає підтримку ZFS на натівному рівні. Але, насправді, все не так райдужно, як це виглядає на перший погляд.

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

В додаток, якщо під час конфлікту драйверів ваша ZFS-флешка буде підключена до системи – дуже висока ймовірність пошкодження даних або логічної структури накопичувача.

Таким чином, замість підтримки ZFS на Windows ви з великою ймовірністю можете отримати неробочу операційну систему. Це і є причина, чому перший спосіб кращий, ніж другий.

Кращі альтернативи файловій системі ZFS

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

Якщо говорити про альтернативи для домашнього використання – найкращою альтернативою буде використання Ext4. Так, вона повільніша за ZFS і не має багато сучасних функцій.

Але, водночас вона надійна, проста в обслуговуванні та забезпечує продуктивність достатню для більшості користувачів.

Linux ноутбук

Якщо мова йде про використання на сервері, найкращою альтернативою сміливо можна назвати файлову систему Btrfs. Також, як і ZFS, вона активно розвивається, але в той же час вона помітно простіше в обслуговуванні та забезпечує достатню продуктивність. З мінусів Btrfs можна назвати ще не дуже зрілу екосистему і порівняно менші обсяги даних, що обробляються (у порівнянні з ZFS).

Вибір файлової системи повністю залежить від потреб та вмінь користувача. Ми лише показали сильні та слабкі сторони файлової системи ZFS і сподіваємося, що допомогли вам зробити правильний вибір.

Залишити коментар

Схожі публікації

Відновлення даних віртуальних машин Virtualbox
Відновлення даних віртуальних машин Virtualbox
Як відновити дані віртуальних машин Virtualbox? Якщо віртуальний жорсткий диск машини не пошкоджений, її відновлення не стане проблемою. В іншому випадку дані машини доведеться відновлювати за допомогою спеціальних програмам для відновлення даних із функціоналом доступу до вмісту віртуальних дисків. Такі … Continue reading
Відновлення даних з віртуальних машин XenServer
Відновлення даних з віртуальних машин XenServer
Як відновити дані з віртуальної машини XenServer, якщо внаслідок своїх дій чи збою роботи гіпервізора втратити машину. Вона може перестати запускатися, може пошкодитися або зникнути її віртуальний диск, може пошкодитися сховище XenServer Xen Storage. Що можна зробити в такій ситуації?
Відновлення даних із VMFS-розділів
Відновлення даних із VMFS-розділів
Як виконати відновлення даних з розділів VMFS – розділів із файловою системою VMFS, які використовуються гіпервізором першого рівня VMWare vSphere ESXi? Розглянемо рішення для цих ситуацій.
Відновлення даних з віртуальних машин VMWare vSphere ESXi
Відновлення даних з віртуальних машин VMWare vSphere ESXi
Втратити дані можно через помилку або внаслідок збою у роботі гіпервізора. Як відновити дані з віртуальної машини VMWare vSphere, ESXi? Нижче розглянемо, що робити у такому випадку.
Online Chat with Recovery Software