Какво е RAID и как да го използваме ?

hardware raid controller

hardware raid controller

 

 

 

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

Какво е RAID?

RAID (redudant array of Independant disks) е технология за виртуализация на оперативна памет, комбинираща едновременно няколко хард диска в една логическа единица. Основната ѝ цел е подобряване на производителността и намаляване на риска от загуба на данни при възникване на технически проблеми или унищожаване на хард дисковете.

История

Терминът RAID е въведен от Дейвид Патерсън, Гард Гибсън и Ранди Кадс през 1987 в университета в Калифорния. През 1988 г. те представят своята идея, че сбор от евтини дискове серийно производство, предназначени за масовия компютърен пазар, могат да постигнат по-добра производителност от скъпите дискове, които се намират в супер компютрите по онова време. Самите те не изобретяват технологията, а просто дават нейното наименование. Функциониращи по този начин сбор от дискове е имало и преди представянето на тяхната идея.

Начин на работа

За начало ще бъде въведено понятието RAID масив.Той представлява група от взаимосвързани дискови устройства, играещи ролята на едно цяло логическо устройство. Свързват се към определен/и за целта RAID хардуерен/и контролер/и.

RAID масивите функционират като разпределят балансирано информацията (Data) върху определено количество дискове. Различните логически схеми за разпределянето на информацията, обуславят производителността на RAID масива, дублирането и защитата на данните, или и двете.
Основно в RAID масивите се използват две техники за разпределяне на данни върху отделните дискове – Data Mirroring и Data Striping.
Mirroring (Дублиране) – записва огледално информацията и на единия и на другия хард диск. Положително при този вид разпределяне е че има резервираност на данните при отпадане на единия диск. Това означава, че данните ще бъдат изцяло налични, при възникване на технически проблем. Недостатъкът на тази техника е, че ефективното използвано пространство е по-малко – използват се два пъти повече носители. Освен това записът отнеме повече време, защото се извършва на две места едновременно.
Striping (Разпределяне) –последователни блокове от данни се разпределят едновременно към отделни физически устройства. Тук данните се разделят на части при записването им на дисковете. Четните части се записват на единия диск, а нечетните на другия, т.е. се редуват. По този начин те са равномерно разпределени из дисковия масив. Това позволява тяхното по-бързо прочитане. При тази технология дисковото пространство се използва по-пълноценно, защото информацията не се копира на няколко диска едновременно. Но за сметка на това се губи резервираността на данните.

RAID нива

Разпределянето на данните между дисковете се извършва на различни нива, наричани още RAID нива. През 1988 година в статията, въвела термина RAID, авторите ѝ са разгледали шест нива в зависимост от това как са използвали дублирането и разпределянето на данните по масива.

Стандартни RAID нива

RAID 0 – минимум 2 устройства, няма защита на информацията
Това ниво представлява чист striping без дублиране на данните. Предлага най-добрата производителност, но не позволява защита на данните. Основното предимство на това ниво е, че при увеличаване на броя на дисковете в масива, расте и скоростта на запис/четене. Ефективния свободен обем е равен на сбора от капацитетите на инсталираните устройства

raid-level-0

raid-level-0

 

RAID 1 – минимум 2 устройства, опростена защита на данните
Нивото се основа изцяло на mirroring техниката. Информацията се копира огледално върху наличните дискове. Например, ако трябва да се запише файл върху масива, той ще бъде записан на единия диск и огледално на втория. По този начин при повреда на някой от дисковете информацията може да бъде възстановена от другия. Тук има подобряване на четенето понеже информацията може да бъде прочетена от две места едновременно. Производителността при запис е същата както при единичен диск. Недостатъкът на това ниво е, че ефективният свободен обем ще бъде двойно по-малък от сбора на инсталираните устройства.

raid-level-1

raid-level-1

 

RAID 2
Информацията се разделя на блокове и се записва последователно на дисковете от масива. Освен това за всеки записан блок от информация се изчисляват определени, уникални кодове, които се съхраняват на специално отредени за целта дискови устройства. Кодовете представляват математичен код за контрол на грешките чрез битове за четност. Препоръчват се поне 10 диска за съхранение на данни и още 4 за генерираните кодове. Това прави общ дисков масив от 14 устройства. В случай на отказ на един от дисковете информацията може да бъде възстановена чрез наличните кодове. Това ниво не се използва от дълги години, защото употребата му е от времето, когато дисковите устройства не предлагаха своевременна корекция на четената от тях информация.

raid-level-2

raid-level-2

 

 

RAID 3
Принципът на действие е подобен на този на ниво 2. Блоковете от данни се записват последователно по дисковете от масива като един от тях е заделен за съхранение на битове за четност. Надеждността на съхранение на информация е същата като в предходното ниво 2.

raid-level-3

raid-level-3

 

RAID 4
Тук разпределянето на информацията се осъществява като предходните две нива, като отново е предвидено устройство за съхранение на кодовете за четност. За разлика от ниво 2 и 3, където едновременното обработване на две заявки е невъзможно, при ниво 4 подобно ограничение не съществува. Това е предпоставка за по-добра скорост на четене на произволни блокове, в сравнение с тази от предходните две нива. Изискват се поне 3 твърди диска с еднакъв капацитет. Ефективността при това ниво се увеличава с добавяне на повече устройства към масива.

raid-level-4

raid-level-4

 

RAID 5

RAID 5 се основава на разпределянето на блокове от данни с кодове за четност. Както при останалите нива, блоковете от данни се записват последователно в дисковете от масива, но същественото тук, е че кодовете за четност се разпределят последователно по дисковете в масива, а не както при останалите в един единствен диск. При това ниво функционирането се запазва дори при отпадането на един от дисковете. Данните в този случай могат да бъдат възстановени от разпределените битове за четност по останалите дискове. За RAID 5 са необходими минимум 3 диска. Когато един от дисковете отпадне и бива заменен с друг, производителността на масива рязко спада през времето, което е необходимо за възстановяването на отпадналия диск. Това време обикновено е доста дълго, понеже за възстановяването на информацията трябва да бъдат прочетени всички данни от останалите дискове в масива. По времето през което се възстановява изгубеният диск, RAID 5 масива е много податлив към отпадане на втори диск, като в този случай информацията се изгубва безвъзвратно. Това ниво обикновено се приема за неподходящ избор при високи натоварвания при писане.

raid-level-5

raid-level-5

 

RAID 6
RAID 6 е подобен на RAID 5, но при него има двойно разпределяне на битовете за четност. Те задължително се съхраняват на различни устройства. Така се осигурява функциониране на масива при отпадането на до 2 диска. Минималният брой необходими устройства са четири. Нивото предлага по-голяма надеждност на съхраняваната информация за сметка на по-малко ефективно пространство и по-ниска производителност в сравнение с RAID 5.

raid-level-6

raid-level-6

 

Комбинация от RAID (Хибридни)

RAID 1+0 (10)
Това ниво представлява комбинация от RAID 1 и RAID 0 – т.е. от data mirroring и data striping. В този случай блоковете от данни се записват огледално (информацията се дублира) и едновременно с това се разпределят между двойка дискове. Тук има по-голяма производителност и защита на данните от RAID 1, но цената му е много по-висока, заради необходимостта от минимум 4 диска. Масивът може да понесе множество загуби на устройства, стига едно огледално копие да не загуби всичките дискове.

raid-level-10

raid-level-10

RAID 0+1
Тук схемата на функциониране е обратна на 1+0. Първо информацията се разпределя последователно на блокове и след това те се дублират. Отново минималното изискване е 4 дискови устройства, което предопределя и високата цена. Рискът от загуба на информация е по-голям, отколкото при RAID 1+0.

raid-level-0+1

raid-level-0+1

RAID 0+3
Нивото обединява начинът на работа на RAID 0 и RAID 3. Използва се разделяне (striping) както при RAID 0, но при разпределение на блоковете по схемата на RAID 3. Така се увеличава надеждността на RAID 3, но респективно с това се повишава и цената.

RAID 5+0
Съчетание между разпределението на битовете за четност при RAID 5 със stiping-a на RAID 0. Подобрява се надеждността на RAID 5 без да се намалява защитата на данните.

RAID 7
Този RAID е запазена марка на Storage Computer Corporation. Показателите на максималния трансфер при четене на файлове, независимо малки или големи, е изключително висок. Начинът на работа обединява РАЙД 3 и РАЙД 4, но предлага много по-голяма производителност от тях. Той трудно се намира на пазара и държи висока цена.

Типове RAID

RAID масивите се използват за подобряване на производителността на дисковете и повишаване на надеждността на информация в сървъра. Един RAID масив може да бъде създаден както чрез отделно хардуерно устройство, така и софтуерно като част от операционната система.

Хардуерен RAID

Най-често хардуерните RAID устройства се наричат RAID контролери. Те представляват отделен микропроцесор със собствена памет, обединени на една обща платка, която се добавя към разширителите слотове на основния компютър или сървър. Дисковете, които ще участват в масива се свързват към този RAID контролер. Най-често RAID контролерите са производство на дадена компания и разполагат със собственически затворен код.
Модерните RAID контролери имат вграден кеш за увеличаване на бързодействието. Съдържанието на този кеш би било загубено при спиране на захранването на контролера. По тази причина съдържанието на кеш паметта често е резервирано от BBU(Backup Battery Unit) или BBN (Battery Backup Module). Те позволяват на RAID контролера да запамети информацията, която все още не е записана на диска. Това устройство може да осигури резервно захранване на контролера така че той да запази информацията до 72 часа без захранване. След като бъде възстановено основното захранване на системата, BBU частта ще запише съдържанието на кеш паметта на дисковете на масива. Цялото съдържание на буфера на RAID контролера е невъзстановимо, ако той няма BBU. Много RAID контролери биха функционирали оптимално и с най-висока производителност, ако имат инсталирано BBU устройство.
Предимства
¬ Висока производителност при по-сложни RAID системи и при ползването на битове за четност
¬ Не се използват ресурсите на системата (процесор, памет)
¬ Възможност за замяна на дискове в работещо състояние (disk hot swapping)
¬ По- малко време за възстановяване на масива при отпадане на някой от дисковете
¬ Лесен за инсталация – не е нужно инсталиране и конфигуриране на допълнителен софтуер
¬ При наличие на батерия (BBU) изчакващите записи в кеша на контролера няма да бъдат загубени при спиране на захранването
Недостатъци
¬ Допълнителни разходи- хардуерните RAID контролери, струват повече отколкото обикновените дискове контролери
¬ Алгоритмите и кодът са затворени собственически от компанията произвела контролера
¬ Ограничена възможност за замяна и миграция на дисковия масив
¬ Липса на гъвкавост (невъзможност за по-големи промени на масива)
¬ Високият клас контролери могат да бъдат доста скъпи

 

Софтуерен RAID

Един RAID масив също може да бъде изграден с помощта на код, който е част от операционната система. Софтуерният RAID използва споделените ресурси на системата – памет и процесор. Той е по-евтиният вариант в сравнение с хардуерния RAID.
Предимства
¬ По-евтин в сравнение с хардуерния RAID, част е от операционната система и не се изискват допълнителни средства за хардуер
¬ отворен код – RAID масивът е независим от хардуера на системата
¬ Стандартизирана конфигурация за всяка една операционна система
¬ Сравнително добра производителност – процесорите стават все по-бързи
¬ За сравнително не големи натоварвания и задачи, софтуерният RAID е отлично и евтино решение
¬ Гъвкав метод – позволява преконфигурурането на RAID масива по множество различни начини
Недостатъци
¬ По-голяма сложност за изграждане в сравнение с хардуерния RAID. При по-сложни RAID системи и по-високи натоварвания отстъпва по производителност спрямо хардуерните контролери
¬ Невъзможна замяна на диск в работещо положение
¬ Използва част от ресурсите на системата (процесор и памет)
¬ Няма възможност за BBU, т.е. при спиране на захранването незаписаната информация в кеша се губи
¬ По-бавно възстановяване на масива
¬ По-голяма подготовка при инсталацията на операционната система

 

Заключение

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

 

Свързани статии:

Подмяна на хард диск в софтуерен райд 1 в Линукс сървър
How to grow up/extend linux software raid array
Как да заменим повреден диск в софтуерен райд в FreeBSD рутер

Заявете безплатна оферта

Ние предлагаме професионални услуги в сферата на ..

Още от нашия блог

Всички постове