Файлова система ZFS - основа надійного та недорогого сховища даних
Файлова система ZFS - основа надійного та недорого сховища даних
На сторінках проекту gotoADM.ru було порушено тему організації файлового сховища:
Вступ до ZFS
АбревіатураZFS вийшло зі словосполучення zettabyte file system, позначаючи тим самим одну з найсучасніших і найдосконаліших файлових систем. Наприклад, з назви випливає, що це зетабайтнафайлова система, якщо бути точніше, то дана FS підтримує 256 квадрильйонів зетабайт. Для довідки - один зетабайт дорівнює 1073741824 терабайт!
Нехай пробачать мені читачі, але великих академічних викладок у цій статті не буде. Пропоную сконцентруватися безпосередньо на практичному аспекті, а саме створенню відмовостійкого та масштабованого сховища даних. Такі сховища безумовно будуються за допомогою технологій RAID масивів, а файлова система ZFS має свій штатний інструмент для роботи з фізичними дисками та організації їх уRAID-Z масиви (аналог RAID5). При цьому, на відміну від аналогічних технологій, FS самостійно відновлює пошкоджені блоки і виправляє їх на льоту без втручання користувача. RAID-Z постійно перевіряє контрольні суми даних для підтримки їхньої цілісності і може ідентифікувати блоки, що потребують перекомпонування. Це робиться до того, як дані, що запитуються, потрапляють до користувача.
До основних плюсів даної FS - практично необмежений дисковий простір і вбудовані інструменти побудови відмовостійких RAID-Z масивів, відноситься також іатомарний запис даних. Під цим терміном розуміється таке - дані або повністю записуються на диск, або незаписуються зовсім. Така технологія дозволяє уникнути проблем, що виникають у випадках збоїв роботи мережі, підсистеми живлення та відмови операційної системи.
Підтримка з боку операційних систем
Спочатку ZFS була розроблена в надрах компанії Sun Microsystems для операційної системи Solaris. Зараз завдяки ряду проектів дана файлова система стала доступною для інших ОС. До них відносяться - крім Solaris, ще й OpenSolaris, Apple Mac OS X 10.5, FreeBSD, Linux (через FUSE або окремий модуль ядра (ZFS on Linux)). Вибір конкретної ОС для свого проекту або, простіше кажучи, для файлового сховища залишається за вами. Найбільшого поширення набулаFreeBSD і похідна -NAS4Free.
Конструктивні особливості системи зберігання
При організації сховища даних доводиться оцінювати низку моментів. Одні з найбільш насущних — скільки необхідно дискового простору надати користувачам і сервісам, а також які є можливості розширення та масштабування масиву пристроїв зберігання даних. Далі виникають більш технічні питання - скільки потрібно дисків, які контролери, материнські плати та конфігураціюRAID-Z потрібно використовувати. Відповісти на ці питання потрібно перед початком робіт, тому зупинимося на їхньому розгляді докладніше.
- Об'єм дискового простору
З потреб та вимог до обсягу створюваного сховища визначається кількістьHDD, їх моделі, а також тип конфігурації RAID-Z. Відразу наведу кілька рекомендацій:
— максимальна надійність і продуктивність досягається при використанні жорстких дисків однієї моделі та виробника
- ОС не слід розміщувати в самому сховищі, краще використовувати окремий HDD/USB-напоїв
— кількість дисків повинна відповідати вибраній системі RAID-Z
- ВаріантиRAID-Z
Існує кілька різновидів RAID-Z масивів, але зараз ми розглянемо два найбільш практичні та популярні:
- raid-z1 - тут використовується для контролю парності один диск з пулу (мінімум дисків для організації цього виду масиву - 3 шт). При виході з ладу одного диска масив працюватиме коректно, при його заміні масив перебудується самостійно. При виході з ладу двох дисків масив руйнується і дані відновленню не підлягають.
- raid-z2 - в даному випадку для контролю парності виділяється 2 диски (мінімум дисків для такої конфігурації - 5 шт.). Ця система є більш стійкою до відмови.
Як було сказано раніше, найкраще використовувати однакові диски одного виробника (обсяг, модель тощо). При цьому варто враховувати один важливий момент, який молоді фахівці втрачають. Настійно рекомендується купувати однією диск більше, тобто. робити закупівлю за формулою n+1 кількість дисків. Це знизить час простою та ризики втрати інформації під час «заводського шлюбу» або пошкодження HDD під час транспортування, а також скоротить час у майбутньому після заміни несправного жорсткого диска. Слід зазначити, ZFS підтримує «hot spare», тобто. можна виконати конфігурування пулу та дисків так, що один з них буде використовуватися для гарячої заміни (без зупинки сховища), у тому числі і в автоматичному режимі. Також варто розуміти, що від кількості жорстких дисків залежить швидкість роботи сховища (за рахунок розподілу навантаження по дисках в моменти читання і запису).
- Інші компоненти системи
З вимог до обсягу сховища, варто вибирати мат. плати,контролери, блоки живлення та корпуси для серверів з можливістю розширення. При організації сховища корпоративного класу варто використовувати лише MB та RAM з контролем парності (ECC)!
Як було сказано в попередньому пункті - MB та корпуси серверів повинні підтримувати установки додаткових пристроїв. При цьому якщо створюється сховище початкового або середнього класу (без серйозних вимог до надійності та продуктивності системи), SATA-контролери можуть стати вузьким місцем.
Підіб'ємо підсумок
Файлова система ZFS має ряд унікальних можливостей по роботі зHDD та організації їх у відмовостійкі та масштабовані пули даних. При цьому, щоб отримати всі переваги цієї FS, необхідно використовувати як мінімум два жорсткі диски.
Коротко перелічу основні переваги та властивості ZFS:
- вбудовані інструменти для роботи з розділами HDD та організації RAID-Z
- немає прив'язки до обладнання
- нечутлива до незапланованих відключень електроживлення
- автоматична підміна HDD, що вийшли з ладу, виправлення помилок і перебудова RAID
- підтримуються величезні розміри томів, файлів, пулів, а також легка масштабованість сховища
- швидке та зручне адміністрування ZFS Pool'ів
- при збільшенні HDD підвищується продуктивність сховища
- дедуплікація та стиск даних
До мінусів цієї файлової системи можна віднести:
- високі вимоги до ресурсів CPU та RAM
- сховища, які використовуються для важливих корпоративних даних, повинні бути побудовані під час використання ECC RAM.