1.1 У чому проблема ліцензування ZFS?
Проблема в тому, що ліцензія GPL, під якою поширюється ядро Linux, несумісний з ліцензією CDDL, під якою поширюється ZFS. Хоча і GPL, і CDDL - відкриті, їх умови такі, що неможливо одночасно задовольнити вимоги обох. Це означає, що поширення системи, що включає і ядро Linux, і ZFS, буде незаконним.
Один із способів вирішення цієї проблеми - реалізація ZFS в просторі користувача (FUSE), де вона не буде частиною ядра ядра. Такий підхід вирішує питання ліцензування, але має деякі технічні недоліки.
Однак існує й інший варіант. Ліцензія CDDL не обмежує зміна і поширення початкових кодів ZFS, які є загальнодоступними в рамках OpenSolaris. Код ZFS може бути змінений так, щоб зібрати модуль ядра, ліцензірованниий під CDDL і не розповсюджується в складі ядра Linux. Це уможливлює реалізацію в Linux нативной ZFS, якщо ви готові завантажити і зібрати такий модуль самостійно.
1.4 Як монтувати файлову систему?
Монтуємий набір даних буде створений і автоматично змонтований при створенні пулу за допомогою zpool create. Додаткові набори даних можуть бути створені за допомогою zfs create. і вони також будуть змонтовані автоматично.
1.5 Чому я повинен використовувати 64-бітну систему?
1.7 Які імена пристроїв слід використовувати при створенні пулу?
Є різні системи іменування пристроїв, які можуть бути використані при створенні ZFS пулу. Кожен варіант має свої переваги і недоліки, правильний вибір для даного пулу ZFS дійсно залежить від вимог. Для розробки і тестування легше і швидше використовувати імена виду / dev / sdX. Для типового домашнього сервера, можливо, краще імена / dev / disk / by-id через простоти і зручності читання. А для дуже великих конфігурацій з декількома контролерами, швидше за все, краще імена виду / dev / disk / zpool для максимального контролю. Але врешті-решт, вибір ідентифікації ваших дисків залежить від вас.
/ Dev / sdX, / dev / hdX. кращий вибір для розробки і тестування
Резюме. Верхній рівень імен пристроїв за замовчуванням забезпечує сумісність з іншими реалізаціями. Вони доступні у всіх дистрибутивах Linux і можуть використовуватися спільно. Однак вони не є постійними, і повинні використовуватися тільки з пулами розробляються або тестованими
Переваги. Цей метод простий для швидкої перевірки, імена короткі, і вони будуть доступні для всіх дистрибутивів.
Недоліки. ці імена не є постійними, і можуть змінюватися в залежності від того, в якому порядку підключені диски. Додавання або видалення носіїв в системі може легко привести до зміни імен. І тоді доведеться видаляти файл zpool.chache і реімпортувати пул, який використовує нові імена
/ Dev / disk / by-id /. кращий вибір для маленьких пулів (менше 10 дисків)
Резюме. Цей каталог містить ідентифікатори дисків з більш человекочітаемимі іменами. Вони зазвичай складаються з типу інтерфейсу, імені вендора, номера моделі, серійного номера пристрою, і номера розділу.
Переваги. Добре для невеликих систем з одним дисковим контролером. Оскільки імена постійні і гарантовано не зміняться, не має значення, як диски підключені до системи. Диски можна відключити, випадково змішати і підключити знову довільним чином - і пул буде як і раніше коректно імпортовано.
Недоліки. конфігурація груп з надмірністю стає важким і може спричинити помилки.
/ Dev / disk / by-path /. хороший вибір для великих пулів (більше 10 дисків)
Резюме. конкретний диск прив'язаний вказаним номером шини PCI.
Переваги. передача топології пристроїв зберігання в імені допомагає не тільки для локалізації диска в великих системах. Але вона дозволяє також уникнути надмірності при багатьох адаптерах.
Недоліки. імена довгі, громіздкі і важко сприймаються людиною.
/ Dev / disk / zpool /. кращий вибір для великих пулів (більше 10 дисків)
Резюме. По суті, це зміна моделі / dev / disk / by-path /. що дозволяє вибрати свої власні унікальні і осмислені імена для дисків. Ці імена будуть відображатися усіма утилітами ZFS, що може сприяти точному адміністрування великого пулу.
Переваги. Цей підхід має всі переваги методу / dev / disk / by-path / і плюс дозволяє вибрати значимі человекочітаемие імена.
Недоліки. Цей метод заснований на наявності файлу /etc/zfs/zdev.conf. який повинен бути правильно налаштований для вашої системи.
1.8 Як змінити імена пристроїв існуючого пулу?
Змінити імена пристроїв існуючого пулу можна, просто експортувавши пул, а потім ре-імпортувати його з опцією -d. в якій вказуються нові імена, які повинні бути використані. Наприклад, щоб використовувати замовні імена в / dev / disk / zpool:
1.10 Яка продуктивність ZFS?
Для досягнення гарної продуктивності вашого пулу ви повинні слідувати декільком простим практичним рецептами.
Рівномірний розподіл навантаження на дискові контролери: Часто чинником, що обмежує продуктивність, є не диск, а контролер. Рівномірний розподіл навантаження на останні часто збільшує пропускну здатність.
Створення пулу на цілих дисках: При запуску zpool create вказувати імена цілих дисків (а не дискових розділів - А.Ф.). Це дозволить ZFS автоматично розмітити диск, забезпечивши правильне вирівнювання, а також поліпшить сумісність з іншими реалізаціями ZFS, які використовують диски цілком.
Наявність достатнього обсягу пам'яті: для використання ZFS рекомендовано 2 ГБ. При включенні функцій стиснення і дедуплікаціі настійно рекомендується якомога більше пам'яті.
Підвищення продуктивності шляхом установки ashift = 12: ця опція встановлюється тільки при первинному створенні пулу, і призводить до зниження навантаження. Деталі про встановлення цієї опції при використанні Advanced Format дисків - див. Розділ 1.15.
1.11 Як створити файл /etc/zfs/zpool.cache?
При кожному імпорті пулу в систему створюється файл /etc/zfs/zpool.cache. Він містить інформацію про конфігурацію пулу, таку, як імена входять до нього пристроїв і активність стану. Якщо цей файл існує при завантаженні модулів ZFS, то будь-який пул, перерахований в кеш-файлі, буде завантажений автоматично. Якщо пул в кеш-файлі не вказано, він повинен бути імпортований явно.
1.13 Чи можлива завантаження з ZFS?
1.15 Як налаштувати ZFS on Linux для роботи з дисками Advanced Format?
Advanced Format (AF) являє собою новий формат дисків, в яких спочатку використовується розмір сектора 4096 байт замість 512 байт. Для забезпечення сумісності зі старими системами AF диски емулюють сектора розміром 512 байт. За замовчуванням ZFS автоматично визначає розмір сектора на диску. Однак в разі AF це може призвести до поганого погодженням доступу до диска і значно погіршити продуктивність пулу.
Починаючи з версії 0.6.0-rc5 команді zpool була додана опція ashift - для явної вказівки призначити розміру сектора створюваного пулу. Значення ashift можливі в діапазоні від 9 до 16, із значенням за замовчуванням 0, що означає автоматичне визначення розміру сектора. Це значення і визначає зміщення: ashift для 512-байтного сектора становить 9 (2 9 = 512), а ashift для сектора в 4096 байт - 12 (2 12 = 4096). Щоб змусити пул використовувати сектора по 4096 байт, ми повинні поставити це під час створення пулу:
2.1 Як я можу допомогти?
Найкорисніше, що ви можете зробити, це випробувати ZFS на Linux-системі і повідомляти про будь-які проблеми. Якщо ви такі побачите захочете внести свій вклад в проект, будь ласка, пишіть мені по електронній пошті. Є чимало відкритих питань в треккер, які вимагають уваги, або якщо у вас є своя ідея - це теж добре.