Нужно ли е да се създаде RAID масив от SSD и какви контролери са нужни за това

Здравей, Хабр! В този материал ще разгледаме дали си струва да организираме RAID масиви, базирани на твердотелни решения SATA SSD и NVMe SSD, и дали това ще донесе сериозен профит? Решихме да разгледаме въпроса, изучавайки видовете и типовете контролери, които позволяват това, както и сферите на приложение на такива конфигурации.

Нужно ли е да се създаде RAID масив от SSD и какви контролери са нужни за това

Така или иначе, всеки от нас поне веднъж в живота си е чул такива определения като “RAID”, “RAID масив”, “RAID контролер”, но едва ли е придавал на това сериозно значение, защото на обикновения потребител не му е толкова интересно. Но високи скорости от вътрешните устройства и отказоустойчивост на работа желаят всички. В крайна сметка, колкото и мощен да е компютърът, скоростта на работа на устройството става тясно място, ако говорим за общата производителност на ПК и сървъра.

Така беше до момента, в който традиционните HDD не бяха заменени от съвременни NVMe SSD с капацитет 1 ТБ и повече. И ако преди в компютрите често се срещаха комбинации SATA SSD + два-три обемни HDD, то днес те започват да бъдат заменяни от друга комбинация — NVMe SSD + два-три обемни SATA SSD. Ако говорим за корпоративни сървъри и „облаци”, много от тях вече успешно преминаха на SATA SSD, просто защото те са по-бързи от обикновените “жестянки” и могат да обработват по-голямо количество входно/изходни операции едновременно.

Нужно ли е да се създаде RAID масив от SSD и какви контролери са нужни за това

Въпреки това, отказоустойчивостта на системата все още е на доста ниско ниво: не можем, както в “Битва на екстрасенсите”, да предвидим с точност дори до седмица, когато даден твердотелен носитель ще откаже. И докато HDD „умрят” постепенно, позволявайки да уловим симптомите и да предприемем мерки, SSD „умират” внезапно, без предупреждения. И сега е време да разберем защо всичко това изобщо е необходимо? Струва ли си да организираме RAID масиви на базата на твердотелни решения SATA SSD и NVMe SSD, и дали ще получим сериозен профит от това?

Защо е нужен RAID масив?

Самата дума „массив“ предполагава, че за неговото създаване се използват няколко източника за съхранение (HDD и SSD), които се обединяват с помощта на RAID контролер и се разпознават от операционната система като единно хранилище на данни. Глобалната задача, която RAID масивите решават, е минимизация на времето за достъп до данните, увеличаване на скоростта на четене/запис и надеждност, която се постига благодарение на способността за бързо възстановяване при срив. Що се отнася до домашните резервни копия, използването на RAID не е задължително. Но ако имате свой домашен сървър, за който е необходим постоянен достъп 24/7 — това е друга работа.

Съществуват над десет нива на RAID масиви, всяко от които се отличава с броя на използваните в него устройства и има своите предимства и недостатъци: например, RAID 0 позволява постигане на висока производителност без отказоустойчивост, RAID 1 — автоматично дублиране на данни без увеличаване на скоростта, а RAID 10 съчетава възможностите на изброените. RAID 0 и 1 са най-простите (тъй като не изискват софтуерни изчисления) и следователно — най-популярните. В крайна сметка, изборът между различните нива на RAID зависи от задачите, поставени пред дисковия масив и възможностите на RAID контролера.

Домашен и корпоративен RAID: каква е разликата?

Основата на всеки съвременен бизнес са големи обеми данни, които трябва да бъдат надеждно съхранявани на серверите на компаниите. Освен това, както вече споменахме, те трябва да имат постоянен достъп 24/7. Разбира се, наред с хардуера, важна е и софтуерната част, но в този случай говорим най-вече за оборудването, което осигурява надеждно съхранение и обработка на информация. Никакъв софтуер не може да спаси компанията от фалит, ако „железото“ не отговаря на задачите, поставени пред него.

Нужно ли е да се създаде RAID масив от SSD и какви контролери са нужни за това

За тези задачи всеки производител на „железо“ предлага т.н. корпоративни устройства. При Kingston — това са мощни твърдотелни решения в лицето на SATA модели. Kingston 450R (DC450R) и серия DC500, а също и NVMe модели DC1000M U.2 NVMe, DCU1000 U.2 NVMe и DCP-1000 PCI-e, предназначени за употреба в ЦОД (центрове за данни) и суперкомпютри. Массивите от такива устройства обикновено се използват в комбинация с хардуерни контролери.

Нужно ли е да се създаде RAID масив от SSD и какви контролери са нужни за това

За потребителския пазар (т.е. за домашни РС и NAS-сървъри) са налични устройства като Kingston KC2000 NVMe PCIe, но в този случай не е задължително да се купува хардуерен контролер. Може да се разчита на интегрирания в дънната платка на РС или NAS-сървъра, освен ако не планирате сами да изградите домашен сървър за нетипични задачи (например, да организирате малък домашен хостинг за приятели). Освен това, домашните RAID-масиви по принцип не предвиждат хиляди устройства, о ограничават се до две, четири и осем устройства (по-често SATA).

Видове и типове RAID-контролери

Съществуват три вида RAID-контролери, основани на принципите на реализиране на RAID-масиви:

1. Софтуерни, при които управлението на масива се поема от CPU и DRAM (т.е. изпълнението на софтуерния код става на процесора).

2. Интегрирани, т.е. вградени в дънните платки на РС или NAS-сървъри.

3. Хардуерни (модулни), представляващи дискретни разширителни платки за слотове PCI/PCIe на системните платки.

В какво е принципиалната им разлика една от друга? Софтуерните RAID-контролери отстъпват на интегрираните и хардуерните по производителност и отказоустойчивост, но за сметка на това не изискват специално оборудване за работа. Важно е обаче да се уверите, че процесорът на хост-системата е достатъчно мощен, за да стартира софтуера за RAID, без да оказва негативно влияние на производителността на приложенията, които също работят на хоста. Интегрираните контролери обикновено са оборудвани със собствена кеш-памет и използват известно количество ресурси от CPU.

Апаратите разполагат със собствена кеш-памет и вграден процесор за изпълнение на софтуерни алгоритми. Обикновено те позволяват реализиране на всички видове RAID масиви и поддържат множество типове устройства за съхраняване. Например, към съвременните апаратни контролери на компанията Broadcom могат да се свързват едновременно SATA, SAS и NVMe устройства, което позволява да не се сменя контролер при обновяване на сървърите: в частност, при преминаване от SATA SSD на NVMe SSD контролерите няма да се налага да се сменят.

Нужно ли е да се създаде RAID масив от SSD и какви контролери са нужни за това

Също така, на тази нота стигнахме до типологията на самите контролери. Ако има трирежимни, би трябвало да има и други? В този случай отговорът на този въпрос ще бъде утвърдителен. В зависимост от функциите и възможностите, RAID контролерите могат да бъдат разделени на няколко типа:

1. Обикновени контролери с функция RAID
В цялата йерархия това е най-простият контролер, който позволява обединяване на HDD и SSD в RAID масиви от нива “0”, “1” или “0+1”. Софтуерно това е реализирано на ниво фърмуер. Въпреки това, такива устройства едва ли могат да се препоръчат за корпоративния сегмент, тъй като нямат кеш и не поддържат масиви на нива “5”, “3” и т.н. Но за домашен сървър начално ниво те са напълно подходящи.

2. Контролери, работещи в двойка с други RAID контролери
Този тип контролери може да работи в двойка с интегрирани контролери на дънните платки. Реализирано е по следния принцип: дискретният RAID контролер поема решаването на “логични” задачи, а вграденият — функциите за обмен на данни между устройствата за съхранение. Но има нюанс: паралелната работа на такива контролери е възможна само на съвместими системни платки, а следователно областта на тяхното приложение е сериозно ограничена.

3. Самостоятелни RAID контролери
Тези дискретни решения съдържат на борда всички необходими чипове за работа с корпоративни сървъри, притежавайки собствен BIOS, кеш-памет и процесор за бърза корекция на грешки и изчисляване на контрольни суми. Освен това те отговарят на високи стандарти за надеждност по отношение на производството и разполагат с висококачествени модули памет.

4. Външни RAID контролери
Не е трудно да се досетите, че всички изброени по-горе контролери са вътрешни и получават захранване през PCIe конектор на дънната платка. Какво означава това? Означава, че повреда на дънната платка може да доведе до грешки в работата на RAID масива и загуба на данни. Външните контролери пък са освободени от това недоразумение, тъй като са разположени в отделен корпус с независим захранващ блок. Във връзка с надеждността, такива контролери осигуряват най-високото ниво на съхранение на данни.

Broadcom, Microsemi Adaptec, Intel, IBM, Dell и Cisco са само някои от компаниите, които предлагат хардуерни RAID контролери в момента.

Режими на работа на RAID контролери SAS/SATA/NVMe

Основната задача на три-режимните HBA и RAID контролери (или контролери с Tri-Mode функция) е създаването на хардуерен RAID на база NVMe. В компанията Broadcom, контролерите от серия 9400 могат да правят това: например, MegaRAID 9460-16i. Той е тип самостоятелен RAID контролер, оборудван с четири SFF-8643 конектора и, благодарение на поддръжката на Tri-Mode, позволява свързването на SATA/SAS и NVMe устройства едновременно. Освен това, той е един от най-енергоефективните контролери на пазара (консумира само 17 вата енергия, при това под 1,1 вата на всеки от 16-те порта).

Нужно ли е да се създаде RAID масив от SSD и какви контролери са нужни за това

Интерфейсът за свързване е PCI Express x8 версия 3.1, което позволява реализация на пропускателна способност на ниво 64 Gbit/s (очаква се през 2020 г. появата на контролери за PCI Express 4.0). В основата на 16-портовия контролер лежи 2-ядрен чип SAS3516 и 72-битова DDR4-2133 SDRAM (4 GB), а също така е реализирана възможността за свързване на до 240 SATA/SAS устройства или до 24 NVMe устройства. Що се отнася до организацията на RAID масивите, поддържат се нива “0”, “1”, “5” и “6”, както и “10”, “50” и “60”. Между другото, кеш паметта MegaRAID 9460-16i и на другите контролери от серия 9400 е защитена от прекъсване на захранването с допълнителен модул CacheVault CVPM05.

В основата на трирежимната технология стои функцията за преобразуване на данни SerDes: преобразуване на последователното представяне на данни в интерфейсите SAS/SATA в паралелна форма в PCIe NVMe и обратно. Тоест, контролерът синхронизира скоростите и протоколите, за да работи безпрепятствено с всеки от трите типа устройства за съхранение. Това осигурява непрекъснат начин за мащабиране на инфраструктурите на центровете за обработка на данни: потребителите могат да използват NVMe без съществени промени в други конфигурации на системата.

Нужно ли е да се създаде RAID масив от SSD и какви контролери са нужни за това

Все пак, при планирането на конфигурации с NVMe-накопители, е важно да се отчете, че NVMe-решенията използват за свързване 4 линии PCIe, а това означава, че всеки накопител ангажира всички линии на портовете SFF-8643. Излиза, че директно към контролера MegaRAID 9460-16i могат да бъдат свързани само четири NVMe-накопителя. Или да се ограничим до две NVMe-решения, докато едновременно се свързват осем SAS-накопителя (вж. схемата на свързването по-долу).

Нужно ли е да се създаде RAID масив от SSD и какви контролери са нужни за това

На изображението е показано използването на конектора "0" (C0 / Connector 0) и конектора "1" за свързване на NVMe, както и на конекторите "2" и "3" за свързване на SAS. Това разположение може да бъде променено на обратно, но всеки x4 NVMe накопител трябва да бъде свързан, използвайки съседни линии. Режимите на работа на контролера се задават чрез конфигурационни инструменти StorCLI или Human Interface Infrastructure (HII), която работи в среда UEFI.

Нужно ли е да се създаде RAID масив от SSD и какви контролери са нужни за това

Режимът по подразбиране е профил "PD64" (поддръжка само на SAS/SATA). Както споменахме по-горе, съществуват общо три профила: режим "SAS/SATA only mode" (PD240 / PD64 / PD 16), режим "NVMe only mode" (PCIe4) и смесен режим, в който могат да работят всички видове накопители: "PD64-PCIe4" (поддръжка на 64 физически и виртуални диска с 4 NVMe-накопителя). В смесен режим зададеното стойност на профила трябва да бъде следната – "ProfileID=13". За забележка, избраният профил остава водещ и не се нулира, дори при връщане към фабричните настройки чрез командата Set Factory Defaults. Може да бъде променен само ръчно.

Струва ли си да създадете RAID масив на SSD?

И така, вече разбираме, че RAID масивите са гарант за висока производителност. Но струва ли си да събираме RAID от SSD за домашна и корпоративна употреба? Много скептици твърдят, че увеличението в скоростта не е толкова съществено, за да инвестираме в NVMe устройства. Но наистина ли е така? Вероятно не. Най-голямото ограничение при използването на SSD в RAID (както в домашни условия, така и на корпоративно ниво) може да бъде само цената. Каквото и да кажеш, цената на гигабайт пространство на HDD е значително по-ниска.

Свързването на няколко SSD устройства към RAID контролер за създаване на масив в определени конфигурации може да окаже огромно влияние върху производителността. Въпреки това, не бива да забравяме, че максималната производителност е ограничена от пропускната способност на самия RAID контролер. Най-добрият RAID ниво, което предлага висока скорост на работа, е RAID 0.

Нужно ли е да се създаде RAID масив от SSD и какви контролери са нужни за това

Организацията на стандартен RAID 0 с два SSD устройства, при която се използва метод за разделяне на данни на фиксирани блокове и тяхното чередуване между твердотелните хранилища, ще доведе до удвояване на производителността (в сравнение със скоростите, които предоставя един SSD). В същото време, RAID 0 с четири SSD устройства ще бъде четири пъти по-бърз от най-бавния SSD в масива (в зависимост от ограничението на пропускната способност на RAID контролера SSD).

Ако се основаваме на простата аритметика, SATA SSD е приблизително 3 пъти по-бърз от традиционния SATA HDD. NVMe решенията са още по-ефективни — 10 пъти и повече. При условие, че два твърди диска в RAID нулево ниво ще показват удвоена производителност, увеличена с 50%, два SATA SSD ще бъдат 6 пъти по-бързи, а два NVMe SSD — 20 пъти по-бързи. В частност, един диск Kingston KC2000 NVMe PCIe може да достигне скорости на последователно четене и запис до 3200 MB/s, което в формат RAID 0 ще достигне впечатляващите 6 GB/s. А скоростите на четене/запис на случайни блокове от 4 KB ще се увеличат от 350 000 IOPS до 700 000 IOPS. Но… в същото време, RAID 0 не ни осигурява излишна сигурност.

Може да се каже, че при домашни условия излишната памет обикновено не е необходима, затова най-подходящата конфигурация RAID за SSD наистина става RAID 0. Това е надежден начин за значително повишаване на производителността като алтернатива на използването на технологии, като твердотелни устройства на база Intel Optane. А как ще се поведат SSD решенията в най-популярните типове RAID ("1", "5", "10", "50") — ще говорим в нашия следващ материал.

Тази статия е подготвена с подкрепата на нашите колеги от Broadcom, които предоставят своите контролери на инженерите на Kingston за тестване с корпоративни SATA/SAS/NVMe устройства. Благодарение на този приятелски симбиоз, клиентите не трябва да се съмняват в надеждността и стабилността на работата на устройствата на Kingston с HBA и RAID контролери. Broadcom.

Допълнителна информация за продуктите на Kingston можете да намерите на официалния сайт компанията.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster