ZFS: Дзеркало проти RAID-Z


14

Я планую створити файловий сервер за допомогою OpenSolaris та ZFS, які надаватимуть два основних сервіси - бути ціллю iSCSI для віртуальних машин XenServer і бути загальним домашнім файловим сервером. Програмне забезпечення, на яке я дивлюсь, включає 2x 4-портові контролери SATA, 2x невеликі завантажувальні накопичувачі (по одному на кожному контролері) та 4х великих накопичувачів для зберігання. Це дозволяє один вільний порт на контролер для оновлення масиву вниз по дорозі.

Де я трохи заплутався - як налаштувати накопичувачі. Для продуктивності дзеркальне відображення виявляється корольним. Мені важко зрозуміти, яка користь буде від використання RAIDZ над дзеркальним відображенням. За допомогою цього налаштування я бачу два варіанти - два дзеркальних басейни в одній смузі або RAIDZ2. Обидва повинні захищати від 2 відмов накопичувача та / або відмови одного контролера ... Єдиною перевагою RAIDZ2 було б те, що будь-які 2 диски можуть вийти з ладу. У обох випадках сховище має становити 50%, але перший повинен мати набагато кращі показники, правда?

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

Відповіді:


14

Проста відповідь полягає в тому, що для дзеркального чогось не потрібно майже ніякої потужності обробки - він просто записує на диск вдруге. Для RAID-Z2 вам доведеться обчислити абсолютно новий блок паритету, який, хоч і невеликий, МОЖЕ знищити процесор, коли вам доведеться швидко записувати велику кількість даних.

Дзеркальне відображення завжди є кращим рішенням для високошвидкісних даних, якщо це просто об'ємне зберігання даних без швидкої швидкості запису, RAID-Z2 - хороша альтернатива, яка дозволяє будь-яким двом накопичувачам загинути, як ви нагадаєте.

Інша перевага полягає в тому, що дзеркальний пул можна розширити за допомогою більш дзеркальних пристроїв - хоча RAID-Z2 не можна розширити - хоча в пул можна додати більше сховища RAID-Z2, це буде два об'єднані сховища RAID-Z2 (у ефект), а не однаково розділений між усіма сховищами та смугастими.


Але в ZFS що дає блок паритету RAIDZ? Чи надає якась додаткова цілісність даних, крім того, що вже надає ZFS? Або просто потрібно, щоб якісь два накопичувачі померли? Якщо це єдина вигода, ніж у тристоронньому сценарії, немає переваги RAIDZ над дзеркалом, правда?
Джон Клейтон

1
RAID-Z дозволяє померти на одному диску - якщо у вас 10 дисків, ви отримуєте дані на 9 накопичувачів. За допомогою RAID-Z2 ви можете мати будь-які два накопичувачі і мати 8 даних, варті даних. За допомогою дзеркала ви можете мати половину приводів вмирати, але лише один з кожного набору з двох. Я підозрюю, що ви це вже знаєте, але саме ця обстановка з 4-х дисків дає два рішення відмови від двох приводів - RAID-Z2 та режиму дзеркала. Немає додаткових дозволів на цілісність даних, які "корисні" у звичайному сценарії.
dotwaffle

Тож щоб зрозуміти, що користь від RAIDZ над дзеркалами - це трохи більше захисту від апаратних збоїв? RAIDZ1 і дзеркало з дисками X по суті еквівалентні?
Джон Клейтон

5
Паритет RAID-Z - це набір вбудованих контрольних сум ZFS. Усі контрольні суми - це переконання, що дані, що читаються з дисків, є правильними. Він призначений для швидкої перевірки з невеликими накладними витратами. Паритет RAID-Z дає вам можливість відновити пошкоджені дані у разі втрати накопичувача (або 2 для RAID-Z2). Але обчислення для генерування даних даних паритету набагато більші, ніж CPU, ніж звичайна контрольна сума блоку, і їх потрібно обчислювати на всій смузі, навіть якщо ви пишете лише блок 4KB.
фельдшер

4
@John Clayton: рівень надмірності залежить від способу налаштування вашого сховища. Ви можете створити дзеркало N-напрямку, тобто ваша ємність даних - це розмір одного накопичувача, але ви можете втратити диски N-1, не втрачаючи жодних даних. Наприклад, якщо у вас 3-х дзеркальне дзеркало, усі 3 диски містять однакові дані, і ви можете втратити 2 диски, не втрачаючи жодних даних. Різниця полягає в тому, що додавання накопичувачів до дзеркала N-way збільшує надмірність (але ваша ємність завжди розміром в 1 диск), а додавання дисків до raidz2 збільшує ємність (але надмірність завжди становить 2 диски).
пограбувати

18

RAID-Z виключає більшість штрафних санкцій за запис та проблеми цілісності даних, від яких страждають томи RAID 5/6, за деякий час процесора. Зазвичай системи мають запасні цикли процесора, тому витрачати час процесора на підвищення продуктивності IO та цілісність даних є хорошим компромісом проти дзеркального відображення.

Ось детальне пояснення RAID-Z, яке може відповісти на інші запитання.

Також пам’ятайте, що RAID - це рішення відмовостійкості . Ви не застосовуєте RAID-Z2 для захисту від втрати даних - для цього виконайте резервне копіювання чи копіювання. Ви вирішили впроваджувати RAID-Z2 проти RAID-Z або RAID-10 проти RAID-6 проти RAID-5, щоб забезпечити роботу ваших систем у разі відмови обладнання.


1
Я повинен дати відповідь на dotwaffle, оскільки він допоміг мені зрозуміти технічну різницю. Чудова порада щодо призначення, хоча ... що насправді змусило мене зупинитися і задуматися.
Джон Клейтон

1
Важливо зауважити, що поки RAIDZ вирішує питання про штрафні санкції за запис , він вводить питання про штрафні санкції, пов'язані з читанням, через збільшення одночасності для кожної операції читання
ваббіт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.