Якщо коротко: якщо ви використовуєте низькокачественну RAID-карту (без кешу), зробіть собі послугу і перейдіть на програмний RAID. Якщо ви використовуєте плату середнього та найвищого класу (з BBU або NVRAM), то апаратне забезпечення часто (але не завжди! Див. Нижче) - хороший вибір.
Довга відповідь: коли обчислювальна потужність була обмежена, апаратні RAID-карти мали істотну перевагу для вивантаження розрахунку паритету / синдрому для схем RAID, що включають їх (RAID 3/4/5, RAID6, ecc).
Однак із постійно зростаючою продуктивністю процесора ця перевага в основному зникла: навіть давній процесор мого ноутбука (Core i5 M 520, покоління Westmere) має XOR продуктивність понад 4 ГБ / с, а продуктивність синдрому RAID-6 - понад 3 ГБ / с протягом одне ядро виконання .
Перевагою, яку сьогодні підтримує апаратний RAID, є наявність кешу DRAM, захищеного від втрати енергії, у вигляді BBU або NVRAM. Цей захищений кеш дає дуже низьку затримку для доступу до випадкового запису (і читання, що потрапив) і в основному перетворює випадкові записи в послідовні записи. Контролер RAID без такого кешу майже марний . Більше того, деякі контролери RAID низького класу не тільки залишаються без кешу, але насильно вимикають диск приватного кешу DRAM, що призводить до більш повільної продуктивності, ніж без RAID-картки. Прикладом можуть слугувати карти PERC H200 та H300 DELL: якщо новіша прошивка цього не змінила, вони повністю відключають приватний кеш диска (і його неможливо повторно включити, коли диски підключені до контролера RAID). Робіть собі користь і робітьніколи ніколи не купуйте таких контролерів. Хоча навіть контролери вищого класу часто відключають приватний кеш диска, вони принаймні мають свій захищений кеш, що робить приватний кеш жорсткого диска (але не SSD!) Дещо зайвим.
Це ще не кінець. Навіть здатні контролери (той, який має кеш BBU або NVRAM) можуть дати непослідовні результати при використанні з SSD, в основному тому, що SSD-дискам дійсно потрібен швидкий приватний кеш для ефективного програмування / стирання сторінки FLASH. І хоча деякі (більшість?) Контролерів дозволяють вам повторно ввімкнути приватний кеш диска (наприклад: PERC H700 / 710 / 710P, дозволити користувачеві повторно включити його), якщо цей приватний кеш не захищений від запису, ви ризикуєте втратити дані у випадку втрати електроенергії. Точна поведінка дійсно залежить від контролера та вбудованого програмного забезпечення (наприклад: на DELL S6 / i з кешем WB 256 МБ та включеним кешем диска , я не мав втрат під час багаторазових, запланованих тестувань втрат електроенергії), викликаючи невизначеність та велику стурбованість.
З іншого боку, програмні засоби RAID з відкритим кодом є набагато більш контрольованими звірами - їх програмне забезпечення не укладається у власну прошивку і має чітко визначені структури метаданих та поведінку. Програмний RAID робить (правильне) припущення, що приватний кеш DRAM диска не захищений, але в той же час він є критичним для прийнятної продуктивності - тому вони, як правило, не відключають його, скоріше вони використовують команди ATA FLUSH / FUA, щоб бути впевненими, що критичні дані про стабільне зберігання. Оскільки вони часто працюють від портів SATA, приєднаних до чіпсету SB, їх пропускна здатність дуже хороша, а підтримка драйверів - відмінна.
Однак, якщо використовується з механічними жорсткими дисками, синхронізована схема доступу до випадкового запису (наприклад: бази даних, віртуальні машини) сильно постраждає порівняно з апаратним RAID-контролером з кешем WB. З іншого боку, при використанні з корпоративними SSD-дисками (тобто із кешеним запитом керованого запису Powerloss) програмне забезпечення RAID часто перевершує і дає результати навіть вищі, ніж досяжні з апаратними RAID-картами. Це говорить про те, що ви повинні пам’ятати, що споживчі SSD (читати: із незахищеним кешем зворотного запису), хоча вони дуже добре читають та записують асинхронізацію, забезпечують дуже низький IOPS при синхронізованому завантаженні запису.
Також врахуйте, що програмні RAID не всі створені рівними. Програмне забезпечення Windows RAID має погану репутацію, ефективність роботи, і навіть Storage Space здається не надто різним. Linux MD Raid надзвичайно швидкий і універсальний, але стек вводу / виводу Linux складається з декількох незалежних фрагментів, які потрібно ретельно зрозуміти, щоб отримати максимальну продуктивність. RAF парність ZFS (ZRAID) надзвичайно розвинена, але, якщо вона не налаштована правильно, може дати вам дуже погані ВГД; З іншого боку, дзеркальне відображення + смугастість виконує досить добре. У будь-якому випадку йому потрібен швидкий пристрій SLOG для синхронної обробки записів (ZIL).
Нижня лінія:
- якщо ваші навантаження не синхронізовані з урахуванням випадкових записів, вам не потрібна RAID-карта
- якщо вам потрібна карта RAID, не купуйте RAID-контролер без кешу WB
- якщо ви плануєте використовувати програмне забезпечення SSD, бажано використовувати RAID, але майте на увазі, що для високо синхронізованих випадкових записів вам потрібен SSD, захищений від потужності (тобто: Intel S4600, Samsung PM / SM863 тощо). Для чистої продуктивності найкращим вибором є, напевно, Linux MD Raid, але сьогодні я зазвичай використовую смугасті дзеркала ZFS. Якщо ви не можете дозволити собі втратити половину місця через дзеркала і вам потрібні розширені функції ZFS, займіться ZRAID, але уважно подумайте про налаштування VDEV.
- якщо вам, навіть використовуючи SSD, справді потрібна апаратна карта RAID, використовуйте SSD з кешами, захищеними від запису (Micron M500 / 550/600 має частковий захист - не дуже, але краще, ніж нічого - в той час як серії Intel DC і S мають повну втрату електроенергії захист, те ж саме можна сказати і для корпоративних SSD-дисків Samsung)
- якщо вам потрібен RAID6, і ви будете використовувати звичайні механічні жорсткі диски, подумайте придбати швидку RAID-карту з 512 МБ (або більше) кешами WB. RAID6 має високий показник продуктивності запису, і кеш WB належного розміру може принаймні забезпечити швидке проміжне зберігання для невеликих синхронних записів (наприклад, журнал файлової системи).
- якщо вам потрібен RAID6 з жорсткими дисками, але ви не можете / не хочете придбати апаратну RAID-карту, уважно подумайте про налаштування програмного RAID. Наприклад, можливим рішенням з Linux MD Raid є використання двох масивів: невеликий масив RAID10 для записів у журнал / журнали DB та масив RAID6 для зберігання сировини (як файл-сервер). З іншого боку, програмне забезпечення RAID5 / 6 із SSD є дуже швидким, тому для налаштування всіх SSD, ймовірно, вам не потрібна карта RAID.