Використовуйте переваги файлової системи ZFS у Solaris

Архів номерів / 2007 / Випуск №3 (52) / Використовуйте переваги файлової системи ZFS у Solaris

Олексій Коробкін

Використовуйте переваги файлової системи ZFS у Solaris

У літньому релізі 6/06 ОС Solaris версії 10 з'явилася підтримка нової файлової системи ZFS. Це цікаве нововведення, і воно не менш значне, ніж зони або система самодіагностики DTrace. Чому потрібно винаходити нову файлову систему замість звичної ufs і чим вона цікава?

Коли адміністратор сервера підключає нове сховище, він діє приблизно так: за допомогою вбудованого в сховище менеджера дисків формує один або кілька апаратних RAID-масивів, отримані дискові томи розбиває на розділи fdisk, а потім розділи розмічує під файлові системи за допомогою newfs, mkfs та інших . Якщо адміністратор, дотримуючись сучасних тенденцій [2], вирішив побудувати програмний, а чи не апаратний RAID-масив, він має скористатися ще й менеджером дисків операційної системи. Іншими словами, процес не виглядає надто простим: потрібно зробити три дії, що вимагають підвищеної уваги та ретельного планування, запустивши для цього три програми, якість однієї з них часто залежить лише від постачальника сховища.

Інженери Sun спробували спростити цю роботу. Створена ними ZFS поєднує у собі три шари управління сховищами. Новизна підходу у цьому, що верхній шар – файлова система – знає, якому масиві вона працює. У чому тут перевага? Наприклад, знаючи розмір файлів, які вона туди пише, ZFS може створювати смужки (stripes) змінної довжини на масивах RAID-0 та RAID-5, забезпечуючи таким чином високу швидкість роботи та підвищенувідмовостійкість. ZFS вираховує контрольні суми для файлів, а не блоків даних, позбавляючись можливої ​​помилки звичайних RAID-масивів, коли блок з правильною сумою буває записаний не туди, куди треба.

Підключені до сервера нові диски ZFS можуть почати використовувати відразу. За аналогією з оперативною пам'яттю, якщо ми додали до сервера пам'ять, немає необхідності щось робити – операційна система автоматично її розпізнає та задіює. Обмежень обсягу практично немає: ZFS - 128-бітна файлова система, і її повна назва звучить як Zettabyte File System. Вона може зберігати 128 квадрильйонів зетабайт даних.

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

Пул файлових систем ZFS можна створити на порожніх дисках, або на слайсах (slice) ufs, або на окремих файлах великого розміру. Звичайно, в останньому випадку надійність і швидкість залежатимуть від властивостей основної файлової системи. Спочатку спробуємо на одному диску:

# zpool create zoopark c1t1d0

Пул zoopark займе весь диск c1t1d0 повністю, а команда zpool автоматично створить усередині нього готову нову файлову систему і примонтує її до /zoopark. Ось статус системи: