Чи відрізняється обчислення IOPS для ZFS RAIDZ від обчислення IOPS для RAID5 та RAID6?


13

При обчисленні IOPS для традиційних масивів RAID можна використовувати таку формулу (запозичена з отримання програми Hang Of IOPS v1.3 на Symantec Connect):

Ieffective = (n * Isingle) / (READ% + (F * WRITE%))

Де:

  • Неефективним є ефективна кількість IOPS
  • Isingle - це середній показник IOPS на одному приводі .
  • n - кількість дисків у масиві
  • ЧИТАЙТЕ% - частка прочитаних даних, взятих під час профілювання диска
  • WRITE% - частка записів, взятих з профілювання диска
  • F - штраф за запис RAID :

    RAID Level      Write Penalty
    RAID-0          1
    RAID-1          2
    RAID-5          4
    RAID-6          6
    RAID-10         2
    RAID-DP         2
    

Формула по суті є функцією:

  • IOPS для кожного окремого накопичувача в масиві
  • Кількість дисків. Більше дисків означає більше IOPS
  • Штраф RAID за кожну операцію запису.
    • RAID5 та RAID6 вимагають 4+ операцій на диску для кожного запису. Контролер повинен зчитувати блок, а потім зчитувати дані парності (дві операції), обчислюючи нові дані парності, а потім оновлювати блок парності та оновлювати блок даних (Ще дві операції). RAID6 має два блоки парності і тому вимагає трьох зчитування та трьох записів. Отже, масиви RAID5 та RAID6 здатні мати меншу кількість IOPS, ніж RAID1.
    • RAID1 та RAID10 вимагають лише 2 записів, по одному на кожен диск у дзеркалі.

І щоб було зрозуміло, це все дає оцінку теоретичних результатів. Різні контролери та методи RAID мають хитрощі, щоб прискорити деякі з них.

Еквівалент ZFS RAID5 та RAID6 - це RAIDZ та RAIDZ2. Підраховуючи IOPS для масивів RAIDZ, чи можу я використовувати ту саму формулу, яку я використовую для RAID5 та RAID6, чи ZFS має спеціальні хитрощі, щоб зменшити кількість операцій, необхідних для операцій запису.

Чи є інша формула, яку слід використовувати для обчислення IOPS для масивів RAIDZ?


1
Чудове запитання. Я з нетерпінням чекаю відповідей ...
EEAA

1
iops є міфічним, але цей документ може дати деяке розуміння. info.nexenta.com/rs/nexenta/images/…
tony roth

IOPS може бути теоретичним, але він може дати пояснення, чому масив RAID10, як правило, перевершує масив RAID5 з одинаковими накопичувачами.
Стефан Ласєвський

Одна помітна цитата з документа Nexenta: "В конфігурації RAIDZ-2 один IO, що надходить у VDEV, повинен бути розбитий і записаний на всі диски даних. Потім він повинен мати розрахунок паритету і записати на диск перед IO може завершитись. Якщо всі диски мають однакову затримку, всі операції з дисками будуть завершені одночасно, тим самим завершуючи IO для VDEV зі швидкістю одного диска . Якщо є повільний диск з високою затримкою в RADZ-2 VDEV, IO для VDEV не завершується, поки IO на найповільнішому диску не завершиться ".
Стефан Ласєвський

Відповіді:


13

На це простіше відповісти ...

Тут все перегнано: рекомендації ZFS RAID: простір, продуктивність, MTTDL та більш пильний погляд на ZFS, Vdevs та продуктивність

  • RAIDZ з одним накопичувачем паритету дасть вам ефективність IOPS одного диска, але n-1-кратну сукупність пропускної здатності одного диска.

Отже, якщо вам потрібно масштабувати, ви масштабуєтеся з кількістю RAIDZ vdevs ... Наприклад, з 16 дисками, 4 групами 4-дискового RAIDZ буде більший потенціал IOPS, ніж 2 групи 8-дискового RAIDZ.

Дивно, правда?

Як правило, на моїх установках ZFS я розміщую смугасті дзеркала (RAID 1 + 0). Це ж поняття застосовується. Більше дзеркальних пар == краща ефективність.

У ZFS ви можете розширювати лише одиниці повного vdev. Отже, тоді як розширення набору RAID 1 + 0 означає додавання більшої кількості пар, те ж саме для наборів RAIDZ означає додавання більшої кількості груп RAIDZ з рівного складу.


Хороша стаття, але вона настільки стара, що порівняння посилань між ZFS RAID1 та RAID5 ("Результати моделі єдиного паритету" та "Результати моделі подвійного паритету" відсутні). Щури!
Стефан Ласєвський

RAIDZ з одним приводом паритету дасть вам ефективність IOPS одного диска. Цікаво, чи є постійне значення незалежно від відсотків читання проти запису? Наприклад, продуктивність RAID5 сильно змінюється залежно від відсотка прочитаних віршів. 3-дискний масив 15K може змінюватись від 130IOPS до 500IOPS залежно від рівня читання / запису. 50% читання і 50% записів призведе до більшої продуктивності IOPS одного диска. Використання 3+ шпинделів покращує продуктивність проти 1 шпинделя, правильно?
Стефан Ласєвський

Я просто думаю про масштабування vdev і що продуктивність при записі дорівнює 1 диску, незалежно від складу цього vdev; дзеркало, RAIDZ, RAIDZ2 і т. д. Диски всередині vdevs є там, щоб підвищити вашу потужність. Кількість vdevs використовується для створення вашої продуктивності. Читання з vdevs буде масштабуватися з числом # дисків.
ewwhite

1
Я маю значний досвід роботи з цим, і можу підтвердити для вас, що в більшості ситуацій RAIDZ НЕ збирається перевершити таку ж кількість дисків, викинутих у традиційний масив RAID5 / 6, еквівалентний. Більшість традиційних масивів RAID5 / 6 отримують продуктивність IOPS (той, про кого майже всі піклуються, навіть коли вони не думають, що це робить), коли ви додаєте шпинделі до набору RAID, тоді як ZFS не буде. Натомість ZFS не втратить ваші дані і не страждає від проблеми "RAID hole hole". Плюс цілі знімки, клони, стиснення тощо. І АРК. І .. ви отримуєте ідею.
Nex7

2
Я просто хочу бути зрозумілим - ZFS за своєю конструкцією не виграє жодної війни за ефективність. Ви можете знайти альтернативні файлові системи та диспетчери томів (або комбінації), які можуть перевершити ZFS на тому ж апаратному забезпеченні (наприклад, ext4 та RAID-карта Adaptec, наприклад). Єдиний виняток із цього, про який я знаю, - це читання, які легко кешуються, де ARC часто дає ногу ZFS на більшості альтернатив. Але коли мова йде про написання? Ні. Зусилля, які ZFS витрачає на цілісність даних, і те, як він обробляє записи, майже ніколи не виграють швидкі конкурси. Вигідність є цілісністю та набором функцій.
Nex7
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.