1. Преглед на RAID
През 1988 г. Калифорнийският университет в Бъркли предлага концепцията за RAID (RedundantArrayofInexpensiveDisks), и с намаляването на цената на дисковете RAID става (RedundantArrayofIndependentDisks), но същността не се променя. SNIA, Berkeley и други организации са определили седемте нива на RAID0~RAID6 като стандартни RAID нива, като стандартният RAID може да се комбинира с други RAID нива, като най-често използваните нива са RAID0, RAID1, RAID3, RAID5, RAID6 и RAID10. Всяко RAID ниво представлява метод и технология за имплементация, и няма разлика между нивата. В практическите приложения трябва да се избира подходящото ниво на RAID и конкретни методи за имплементация въз основа на характеристиките на приложението за данни на потребителя, като се вземат предвид наличността, производителността и разходите.
От гледна точка на реализацията, RAID е основно разделен на три типа: мек RAID, твърд RAID и хибриден RAID. Всички функции на софтуерния RAID се изпълняват от операционната система и процесора, което естествено е най-малко ефективно. Твърдият RAID е оборудван със специализирани RAID контролни/процесорни чипове и процесорни чипове за вход/изход и буфери за масиви, които не заемат ресурси от процесора, но са скъпи. Хибридният RAID има RAID контролни/процесорни чипове, но липсват I/O процесорни чипове, които изискват процесор и драйвери за завършване, а производителността и цената са между мек и твърд RAID.
2. Основни принципи
RAID е дискова подсистема, състояща се от множество независими, високопроизводителни дискови устройства, като по този начин осигурява по-висока производителност на съхранение и технология за излишък на данни в сравнение с един диск. RAID е клас технология за управление на няколко диска, която осигурява високопроизводително съхранение с висока надеждност на данните на достъпна цена за хост средата. Двете ключови цели на RAID са да подобри надеждността на данните и производителността на I/O. В дисков масив данните са разпределени между няколко диска, но за компютърна система те са като един диск. Излишъкът се постига чрез записване на едни и същи данни на няколко диска едновременно (обикновено като огледално изображение) или чрез записване на изчислени проверителни данни в масив, като се гарантира, че няма загуба на данни при повреда на един диск.
В RAID има три основни концепции и техники: Огледало, DataStripping и Dataparity:
Огледалото, което репликира данни на няколко диска, подобрява надеждността от една страна и подобрява производителността при четене, като чете данни от две или повече реплики едновременно. Очевидно записната производителност на изображението е малко по-ниска и отнема повече време, за да се гарантира, че данните са правилно записани на няколко диска. Data striping, което съхранява данните фрагменти на множество различни дискове, а няколко data shard-а заедно образуват пълно копие на данни, което се различава от множествените копия на огледалното изображение и често се използва за отношение на производителността. Лентите за данни имат по-висока детайлност на паралелността, а когато се достъпят данни, те могат да четат и записват данни на различни дискове едновременно, което води до значително подобрение на производителността на вход/изход. Верификация на данни, използвайки излишни данни за откриване и поправка на грешки в данните, излишните данни обикновено се изчисляват чрез код на Хемингуей, XOR операция и други алгоритми. Функцията за верификация може значително да подобри надеждността, обирите и устойчивостта на дефекти на дисковите масиви. Въпреки това, валидирането на данни изисква данните да бъдат прочетени от множество източници, изчислени и сравнени, което може да повлияе на производителността на системата. Различните нива на RAID използват една или повече от трите технологии, за да постигнат различна надеждност, наличност и производителност на вход/изход на данните. Що се отнася до това кой RAID да се проектира (или дори нов клас или тип) или какъв режим на RAID да се използва, е необходимо да се направи разумен избор, базиран на дълбоко разбиране на нуждите на системата, и да се оцени цялостно надеждността, производителността и разходите, за да се направи компромис.
Общо взето, основните предимства на RAID са: голям капацитет, висока производителност, надеждност и управляемост.
3. RAID рейтинг
JBOD (JustaBunchOfDisks) не е стандартно RAID ниво, често се използва за представяне на колекция от дискове, които нямат контролен софтуер за координиран контрол. JBOD свързва няколко физически диска последователно, за да осигури огромен логически диск. Производителността на съхранението е точно същата като на един диск и не осигурява сигурност на данните. Наличният капацитет за съхранение е равен на сумата от пространството за съхранение на всички членове на дисковете.
RAID0, наречен striping, е проста, неконтролирана технология за striping на данни. Производителността е най-високата от всички RAID нива. Не се предоставят никакви полици за съкращения. 100% използване на складовото пространство.
RAID1 се нарича огледално използване и записва данни на работещия диск и огледалния диск напълно последователно, като използва дисково пространство от 50%. Производителността се влияе, когато се записват данни, но данните не се четат. Той осигурява най-добрата защита на данните, след като работещият диск се повреди, системата автоматично чете данните от огледалния диск, което няма да повлияе на работата на потребителя.
RAID2 се нарича Heming Code Disk Array, а идеята му е да използва Heming код за постигане на излишък при проверка на данните. Колкото по-голяма е ширината на данните, толкова по-голямо е използването на пространство за съхранение, но толкова повече дискове са нужни. Той има способността да коригира грешки, но натоварването за излишък на данни при Hemingcode е твърде голямо, а възстановяването на данни отнема много време, затова RAID2 рядко се използва на практика.
RAID3 се нарича специална паритетна лента, която използва отделен диск като проверяващ диск, а останалите дискове като диск с данни, като данните се съхраняват кръстосано съхранявани във всеки диск с данни в битове и байтове. RAID3 изисква поне три диска.
RAID4 и RAID3 работят по почти същия принцип. Осигурява много добра производителност при четене, но слаба при писане. И с увеличаването на броя на членните дискове, системното тесно място на контролния диск става все по-видимо. Това е рядко в реални приложения, а масовите продукти за съхранение рядко използват RAID4 защита.
RAID5 се нарича разпределена контролна сума за разпределена паритетна сума, която би трябвало да е най-често срещаното ниво на RAID в момента, а принципът е подобен на този на RAID4, но няма тесно място в производителността на проверяващия диск по време на едновременно записване в RAID4.
RAID6, наречен двойна паритетна лента, въвежда концепцията за двойни проверки за решаване на проблема с целостта на данните, когато два диска се повреждат едновременно, което други RAID класове не могат да решат. Въпреки това, струва много повече от RAID5, има слаба производителност при писане и е много сложен за проектиране и реализация. Затова RAID6 рядко се използва на практика и обикновено е икономична алтернатива на решенията на RAID10.
Стандартните RAID нива имат своите силни и слаби страни. Комбинирайте няколко RAID нива, за да постигнете допълващи се предимства и да компенсирате недостатъците си взаимно, така че да се постигне RAID система с по-висока производителност, сигурност на данните и други показатели. Разбира се, разходите за внедряване на комбинираното ниво обикновено са много скъпи и се използват само в няколко конкретни случая. Всъщност само RAID01 и RAID10 са широко използвани.
RAID01 първо се очертава и след това е огледален, което по същество служи за изображение на физическия диск; RAID10 е първо за изображение, а след това за stripe, което означава изображение на виртуалния диск. При същата конфигурация RAID01 обикновено има по-добра устойчивост на повреди от RAID10. RAID01 комбинира предимствата на RAID0 и RAID1, като общо използване на диска е само 50%.
4. Сравнение на основните RAID нива
RAID конфигурация
Ниво/Описание: | Устойчивост на повреди | заслуга | Недостатък | РЕЙД 0
Картографирайте данните между устройствата, за да създадете големи виртуални дискове. Тъй като всеки физически диск обработва само част от заявката, той може да осигури по-висока производителност. Въпреки това, ако едно устройство се повреди, виртуалният диск (VD) става недостъпен и данните ще бъдат трайно изгубени. | не | По-добра производителност Допълнително съхранение | Не трябва да се използва за критични данни | РЕЙД 1
Огледало на данните, съхраняване на излишък на данни на два диска. Ако единият диск се повреди, другият диск ще поеме ролята на основно устройство. | Грешка в диска Повреда на единичен диск | Висока производителност при четене Бързо възстановяване след повреда на диска Излишък на данни | Дисковият огъ е голям Ограничен капацитет | РЕЙД 5
Картографирайте данните между дисковете и съхранявайте битовете за паритет на всяка лента данни на различни дискове във VD. Битът за паритет съдържа информация, която може да се използва за възстановяване на данни от повреден диск от друг диск при повреда на един диск. | Грешка в диска Повреда на единичен диск | Ефективно използване на капацитета на задвижването Висока производителност при четене Средна до висока производителност при запис | Умерено въздействие на дисковата повреда Поради преизчисляването на паритета, времето за възстановяване е по-дълго | РЕЙД 6
Картографирайте данните между дисковете и съхранявайте битовете за паритет на всяка лента данни на различни дискове във VD. За разлика от RAID 5, RAID 6 извършва две изчисления на паритет (P и Q), което му позволява да издържа на повреди на два диска. | Излишък на данни Висока производителност при четене | Грешка в диска Повреда на двойния диск | Производителността на запис е намалена поради две изчисления на паритет Тъй като е еквивалентно на използването на 2 диска за паритет, има допълнителна цена | РЕЙД 10
Ленти на огледалния комплект. Натоварването на диска е голямо, но това е отлично решение за висока производителност, излишък и бързо възстановяване при повреда на диска. | Грешка в диска Една повреда на диска за всеки комплект изображения | Висока производителност при четене Могат да се поддържат RAID групи с до 192 диска | Най-високата цена | RAID 50
RAID 5 лента на снимачната площадка. Чрез намаляване на броя на четене на диска при изчисляване на паритет, производителността може да се подобри с RAID 5, в зависимост от конфигурацията. | Грешка в диска Една дискова повреда на всеки размах | Висока производителност при четене Средна до висока производителност при запис Могат да се поддържат RAID групи с до 192 диска | Умерено въздействие на дисковата повреда Поради преизчисляването на паритета, времето за възстановяване е по-дълго | РЕЙД 60
RAID 6 лента на снимачната площадка. С по-малко четения на диск на изчисление на паритет, производителността може да се подобри с RAID 6, в зависимост от конфигурацията. | Грешка в диска Два диска се повреждат на всеки участък | Висока производителност при четене Могат да се поддържат RAID групи с до 192 диска | Производителността на запис е намалена поради две изчисления на паритет Тъй като е еквивалентно на използването на 2 диска за паритет, има допълнителна цена |
5. Разлика между RAID софтуера и хардуера
Soft RAID
Soft RAID няма специален контролен чип и I/O чип, а операционната система и процесорът реализират всички RAID функции. Съвременните операционни системи по същество предлагат soft RAID поддръжка, осигурявайки абстракция между физическите и логическите устройства чрез добавяне на софтуерен слой върху драйверите на дисковите устройства. В момента най-често използваните RAID рейтинги, поддържани от операционната система, са RAID0, RAID1, RAID10, RAID01 и RAID5. Например, Windows Server поддържа RAID0, RAID1 и RAID5, Linux поддържа RAID0, RAID1, RAID4, RAID5, RAID6 и др., а Mac OS X Server, FreeBSD, NetBSD, OpenBSD, Solaris и други операционни системи също поддържат съответните RAID нива.
Управлението на конфигурацията и възстановяването на данни на soft RAID са сравнително прости, но всички RAID задачи се изпълняват напълно от процесора, като изчисляване на контролни стойности, така че ефективността на изпълнение е сравнително ниска.
Soft RAID се реализира от операционната система, така че дялът, в който се намира системата, не може да се използва като логически член на RAID, а soft RAID не може да защити системния диск D. За някои операционни системи информацията за конфигурацията на RAID се съхранява в системната информация, а не като отделен файл на диска. По този начин, когато системата се срине неочаквано и трябва да бъде преинсталирана, информацията от RAID се губи. Освен това, технологията за устойчивост на откази на диска не поддържа напълно онлайн замяна, гореща замяна или гореща смяна, а дали може да поддържа горещо смяна на грешен диск зависи от реализацията на операционната система.
Hard RAID
Hard RAID разполага със собствени RAID контролни и I/O процесорни чипове, както и буфериране на масиви, което е най-доброто от трите типа реализации по отношение на използването на процесора и общата производителност, но също така има най-висока цена за имплементация. Твърдият RAID обикновено поддържа технология за hot-swapping, която заменя повредени дискове, докато системата работи.
Твърдият RAID се състои от RAID карта и RAID чип, интегрирани на дънната платка, а сървърните платформи често използват RAID карти. RAID картата се състои от 4 части: процесора за RAID ядро (процесорът на RAID картата), порта, кеша и батерията. Сред тях портовете се отнасят до типовете дискови интерфейси, поддържани от RAID карти, като IDE/ATA, SCSI, SATA, SAS, FC и други интерфейси.
Смесен твърд и мек RAID
Soft RAID не е много добър и не защитава системните дялове, което затруднява прилагането им на настолни системи. Твърдият RAID е много скъп, а различните RAD са независими един от друг и не са съвместими. Затова хората използват комбинация от софтуер и хардуер за реализиране на RAID, за да постигнат компромис между производителност и цена, тоест висока производителност.
Въпреки че този RAID използва чип за контрол на процесора, за да се спестят разходи, чипът често е по-евтин и има по-слаба изчислителна мощ, а по-голямата част от обработката на RAID все още се извършва от процесора чрез фърмуерни драйвери.
6. Избор на RAID приложение
Има три основни фактора при избора на RAID ниво: наличност на данни, производителност на вход/изход и цена. Ако не е необходима наличност, изберете RAID0 за висока производителност. Ако наличността и производителността са важни и цената не е основен фактор, изберете RAID1 според броя на дисковете. Ако наличността, цената и производителността са еднакво важни, изберете RAID3 или RAID5 според общия трансфер на данни и броя на дисковете. В практическите приложения подходящото RAID ниво трябва да се избира въз основа на характеристиките и специфичните условия на приложението за данни на потребителя, като се вземат предвид наличността, производителността и разходите.
|