RAID

Съдържание

·         1 Въведение

o    1.1 Разлика между физически и логически дискове

o    1.2 Четене и запис на данни

o    1.3 Какво представлява RAID?

o    1.4 Защо да използвате RAID?

o    1.5 История

·         2 Основни концепции, използвани от RAID системите

o    2.1 Кеширане

o    2.2 Огледално отразяване: Повече от едно копие на данните

o    2.3 Поставяне на ивици: Част от данните са на друг диск

o    2.4 Коригиране на грешки и неизправности

o    2.5 Горещи резервни части: използване на повече дискове от необходимото

o    2.6 Размер на лентата и размер на парчето: разпределяне на данните на няколко диска

o    2.7 Сглобяване на диска: JBOD, конкатенация или разклоняване

o    2.8 Клониране на диск

o    2.9 Различни настройки

·         3 Основи: прости нива на RAID

o    3.1 Обичайно използвани нива на RAID

§  3.1.1 RAID 0 "Striping"

§  3.1.2 RAID 1 "огледално копиране"

§  3.1.3 RAID 5 "стрипинг с разпределена четност"

§  3.1.4 Снимки

o    3.2 По-малко използвани нива на RAID

§  3.2.1 RAID 2

§  3.2.2 RAID 3 "стрипинг със специална четност"

§  3.2.3 RAID 4 "стрипинг със специална четност"

§  3.2.4 RAID 6

§  3.2.5 Снимки

o    3.3 Нестандартни нива на RAID

§  3.3.1 Двоен паритет / Диагонален паритет

§  3.3.2 RAID-DP

§  3.3.3 RAID 1.5

§  3.3.4 RAID 5E, RAID 5EE и RAID 6E

§  3.3.5 RAID 7

§  3.3.6 Intel Matrix RAID

§  3.3.7 Linux MD RAID драйвер

§  3.3.8 RAID Z

§  3.3.9 Снимки

·         4 Присъединяване на RAID нива

·         5 Създаване на RAID

o    5.1 Софтуерен RAID

o    5.2 Хардуерен RAID

o    5.3 Хардуерно подпомаган RAID

·         6 Различни термини, свързани с хардуерни повреди

o    6.1 Процент на неуспешните опити

o    6.2 Средно време до загуба на данни

o    6.3 Средно време за възстановяване

o    6.4 Невъзстановима битова грешка

·         7 Проблеми с RAID

o    7.1 Добавяне на дискове в по-късен момент

o    7.2 Свързани неуспехи

o    7.3 Атомичност

o    7.4 Данни, които не могат да бъдат възстановени

o    7.5 Надеждност на кеша за запис

o    7.6 Съвместимост на оборудването

·         8 Какво може и какво не може да прави RAID

o    8.1 Какво може да прави RAID

o    8.2 Какво не може да прави RAID

·         9 Пример

·         10 Препратки

·         11 Други уебсайтове

RAID е акроним, който означава Redundant Array of Inexpensive Disks (излишен масив от евтини дискове) или Redundant Array of Independent Disks (излишен масив от независими дискове). RAID е термин, който се използва в областта на компютрите. При RAID няколко твърди диска се превръщат в един логически диск. Има различни начини, по които това може да се направи. Всеки от методите, които обединяват твърдите дискове, има някои предимства и недостатъци в сравнение с използването на дисковете като единични дискове, независими един от друг. Основните причини, поради които се използва RAID, са:

  • За да не се случва толкова често загубата на данни. Това се постига чрез няколко копия на данните.
  • Получаване на повече пространство за съхранение чрез много по-малки дискове.
  • По-голяма гъвкавост (дисковете могат да се сменят или добавят, докато системата продължава да работи)
  • За да получите данните по-бързо.

Не е възможно всички тези цели да бъдат постигнати едновременно, така че трябва да се направи избор.

Има и някои лоши неща:

  • Някои варианти могат да предпазят от загуба на данни поради повреда на един (или няколко) диска. Те обаче не предпазват от изтриване или презаписване на данни.
  • В някои конфигурации RAID може да понесе повреда на един или няколко диска. След замяната на повредените дискове данните трябва да бъдат възстановени. В зависимост от конфигурацията и размера на дисковете това възстановяване може да отнеме много време.
  • Някои видове грешки ще направят невъзможно четенето на данните.

По-голямата част от работата по RAID се основава на статия, написана през 1988 г.

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

Въведение

Разлика между физически и логически дискове

Твърдият диск е част от компютъра. Обикновените твърди дискове използват магнетизъм, за да съхраняват информация. Когато се използват твърди дискове, те са достъпни за операционната система. В Microsoft Windows всеки твърд диск получава буква на устройството (започваща със C:, A: или B: са запазени за флопидискови устройства). Операционните системи, подобни на Unix и Linux, имат дърво на директориите с един корен. Това означава, че хората, които използват компютрите, понякога не знаят къде се съхранява информацията (за да бъдем справедливи, много потребители на Windows също не знаят къде се съхраняват техните данни).

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

Следователно за потребителя както настройката с много физически дискове, така и настройката с много логически дискове ще изглеждат по един и същи начин. Потребителят не може да реши дали "логическият диск" е същият като физическия диск, или просто е част от диска. Мрежите за съхранение на данни (SAN) напълно променят този възглед. Всичко, което се вижда в една SAN, е определен брой логически дискове.

Четене и записване на данни

В компютъра данните са организирани под формата на битове и байтове. В повечето системи един байт се състои от 8 бита. Компютърната памет използва електричество за съхраняване на данните, а твърдите дискове - магнетизъм. Следователно, когато данните се записват на диска, електрическият сигнал се преобразува в магнитен. Когато данните се четат от диска, преобразуването се извършва в другата посока: От полярността на магнитното поле се получава електрически сигнал.

Какво е RAID?

RAID масивът обединява два или повече твърди диска, така че да се получи един логически диск. Това се прави по различни причини. Най-често срещаните са:

  • Спиране на загубата на данни при повреда на един или повече дискове в масива.
  • По-бързо прехвърляне на данни.
  • Получаване на възможност за смяна на дискове, докато системата продължава да работи.
  • Обединяване на няколко диска за получаване на по-голям капацитет за съхранение; понякога се използват много евтини дискове, а не един по-скъп.

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

Защо да използвате RAID?

Една от причините, поради които много компании използват RAID, е, че данните в масива могат просто да се използват. Тези, които използват данните, не трябва да знаят, че използват RAID. Когато възникне повреда и масивът се възстановява, достъпът до данните ще бъде по-бавен. Достъпът до данните през това време също ще забави процеса на възстановяване, но все пак това е много по-бързо, отколкото изобщо да не може да се работи с данните. В зависимост от нивото на RAID обаче дисковете може да не се повредят, докато новият диск се подготвя за използване. Отказ на диск в този момент ще доведе до загуба на всички данни в масива.

Различните начини за свързване на дисковете се наричат нива на RAID. По-голямото число за нивото не е непременно по-добро. Различните нива на RAID имат различни цели. Някои RAID нива се нуждаят от специални дискове и специални контролери.

История

През 1978 г. човек на име Норман Кен Оучи, работещ в IBM, прави предложение, в което описва плановете за това, което по-късно ще се превърне в RAID 5. В плановете се описва и нещо подобно на RAID 1, както и защита на част от RAID 4.

Работници от университета в Бъркли помагат за планирането на изследванията през 1987 г. Те се опитват да направят възможно технологията RAID да разпознава два твърди диска вместо един. Установили са, че когато RAID технологията разполага с два твърди диска, тя има много по-добро съхранение, отколкото само с един твърд диск. Въпреки това тя се повреждаше много по-често.

През 1988 г. Дейвид Патерсън, Гарт Гибсън и Ранди Катц пишат за различните видове RAID (от 1 до 5) в статията си, наречена "A Case for Redundant Arrays of Inexpensive Disks (RAID)". Тази статия е първата, в която новата технология е наречена RAID и името става официално.

Близък план на 4 диска, които образуват RAID масив, вграден в настолна система. Сините ключалки позволяват смяна на дисковете, докато системата продължава да работи.
Близък план на 4 диска, които образуват RAID масив, вграден в настолна система. Сините ключалки позволяват смяна на дисковете, докато системата продължава да работи.

Твърдият диск е бил изваден от масива.
Твърдият диск е бил изваден от масива.

Основни концепции, използвани от RAID системите

RAID използва няколко основни идеи, които са описани в статията "RAID: High-Performance, Reliable Secondary Storage" на Питър Чен и други, публикувана през 1994 г.

Кеширане

Кеширането е технология, която намира приложение и в RAID системите. Има различни видове кешове, които се използват в RAID системите:

  • Операционна система
  • RAID контролер
  • Дисков масив на предприятието

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

Огледално отразяване: Повече от едно копие на данните

Когато говорим за огледало, това е много проста идея. Вместо данните да се намират само на едно място, има няколко копия на данните. Тези копия обикновено са на различни твърди дискове (или дискови дялове). Ако има две копия, едното от тях може да се повреди, без това да засегне данните (тъй като те все още са на другото копие). Огледалното копиране може също така да даде тласък при четене на данни. Те винаги ще се вземат от най-бързия диск, който реагира. Записването на данни обаче е по-бавно, тъй като всички дискове трябва да бъдат актуализирани.

Ивици: Част от данните са на друг диск

При разделянето на данни на ленти данните се разделят на различни части. Тези части се намират на различни дискове (или дискови дялове). Това означава, че записването на данни е по-бързо, тъй като може да се извършва паралелно. Това не означава, че няма да има грешки, тъй като всеки блок данни се намира само на един диск.

Коригиране на грешки и неизправности

Възможно е да се изчисляват различни видове контролни суми. Някои методи за изчисляване на контролни суми позволяват да се открие грешка. Повечето нива на RAID, които използват излишък, могат да направят това. Някои методи са по-трудни за изпълнение, но те позволяват не само да се открие грешката, но и да се поправи.

Горещи резервни части: използване на повече дискове от необходимото

Много от начините за поддръжка на RAID се наричат "горещ резерв". Горещият резерв е празен диск, който не се използва при нормална работа. При повреда на диск данните могат директно да се копират върху горещия резервен диск. По този начин повреденият диск трябва да се замени с нов празен диск, който да стане горещ резервен диск.

Размер на лентата и размер на парчето: разпределяне на данните на няколко диска

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

Размерът на частта е най-малкият блок данни, който се записва на един диск от масива. Размерът на ивицата е размерът на блока данни, който ще бъде разпределен по всички дискове. По този начин при четири диска и размер на лентата от 64 килобайта (kB) на всеки диск ще бъдат записани 16 kB. Следователно размерът на парчето в този пример е 16 kB. Увеличаването на размера на ивицата ще означава по-висока скорост на прехвърляне на данни, но и по-голямо максимално закъснение. В този случай това е времето, необходимо за получаване на блок от данни.

Сглобяване на диска: JBOD, конкатенация или разклоняване

Много контролери (а също и софтуер) могат да обединяват дискове по следния начин: Вземат първия диск, докато свърши, след това вземат втория и т.н. По този начин няколко по-малки диска изглеждат като един по-голям. Това всъщност не е RAID, тъй като няма излишък. Също така, чрез spanning може да се комбинират дискове, при които RAID 0 не може да направи нищо. Обикновено това се нарича просто купчина дискове (JBOD).

Това е нещо като далечен роднина на RAID, тъй като логическият диск е съставен от различни физически дискове. Конкатенацията понякога се използва за превръщане на няколко малки диска в един по-голям полезен диск. Това не може да се направи с RAID 0. Например JBOD може да комбинира дискове с капацитет 3 GB, 15 GB, 5,5 GB и 12 GB в логически диск с капацитет 35,5 GB, който често е по-полезен от самите дискове.

На диаграмата вдясно данните се обединяват от края на диск 0 (блок A63) до началото на диск 1 (блок A64); от края на диск 1 (блок A91) до началото на диск 2 (блок A92). Ако се използва RAID 0, тогава диск 0 и диск 2 ще бъдат съкратени до 28 блока, размерът на най-малкия диск в масива (диск 1) за общ размер от 84 блока.

Някои RAID контролери използват JBOD, за да говорят за работа с дискове без RAID функции. Всеки диск се показва отделно в операционната система. Този JBOD не е същият като конкатенацията.

В много системи на Linux се използват термините "линеен режим" или "режим на добавяне". Прилагането в Mac OS X 10.4 - наречено "Конкатениран набор от дискове" - не оставя на потребителя никакви използваеми данни на останалите дискове, ако един от тях се повреди в конкатениран набор от дискове, въпреки че дисковете иначе работят, както е описано по-горе.

Конкатенацията е едно от приложенията на мениджъра на логически томове в Linux. Той може да се използва за създаване на виртуални дискове.

Клониране на устройство

Повечето съвременни твърди дискове имат стандарт, наречен технология за самонаблюдение, анализ и отчитане (S.M.A.R.T). SMART позволява да се наблюдават определени неща на твърдия диск. Някои контролери позволяват да се замени един твърд диск още преди да се е повредил, например защото S. M.A.R.T или друг тест на диска отчита твърде много поправими грешки. За целта контролерът ще копира всички данни върху горещ резервен диск. След това дискът може да бъде заменен с друг (който просто ще стане новият горещ резервен диск).

Различни настройки

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

 

JBOD с 3 диска с различни размери
JBOD с 3 диска с различни размери

Основи: прости нива на RAID

Обичайно използвани нива на RAID

RAID 0 - "разделяне на ленти"

RAID 0 всъщност не е RAID, защото не е излишен. При RAID 0 дисковете просто се обединяват, за да се получи един голям диск. Това се нарича "стрипинг". Когато един диск се повреди, целият масив се поврежда. Ето защо RAID 0 рядко се използва за важни данни, но четенето и записването на данни от диска може да бъде по-бързо при стрипинг, защото всеки диск чете част от файла едновременно.

При RAID 0 дисковите блокове, които идват един след друг, обикновено се разполагат на различни дискове. Поради тази причина всички дискове, използвани от RAID 0, трябва да са с еднакъв размер.

RAID 0 често се използва за Swapspace в Linux или Unix-подобни операционни системи.

RAID 1 "огледално копиране"

При RAID 1 два диска са събрани заедно. И двата съдържат едни и същи данни, като единият е "огледален" за другия. Това е лесна и бърза конфигурация, независимо дали е реализирана с хардуерен контролер или със софтуер.

RAID 5 "Разделяне на ленти с разпределена четност"

Най-вероятно се използва RAID ниво 5. За изграждането на масив за съхранение RAID 5 са необходими поне три твърди диска. Всеки блок от данни ще се съхранява на три различни места. На две от тези места блокът ще се съхранява във вида, в който е, а на третото ще се съхранява контролна сума. Тази контролна сума е специален случай на код на Рийд-Соломон, който използва само побитово събиране. Обикновено тя се изчислява по метода XOR. Тъй като този метод е симетричен, един изгубен блок данни може да бъде възстановен от другия блок данни и контролната сума. За всеки блок на различен диск ще се съхранява блокът за четност, който съдържа контролната сума. Това се прави, за да се увеличи излишъкът. Всеки диск може да се повреди. Като цяло ще има един диск, който ще държи контролните суми, така че общият използваем капацитет ще бъде този на всички дискове, с изключение на един. Размерът на получения логически диск ще бъде размерът на всички дискове заедно, с изключение на един диск, който съдържа информация за четността.

Разбира се, това е по-бавно от RAID ниво 1, тъй като при всеки запис трябва да се четат всички дискове, за да се изчисли и актуализира информацията за четността. Производителността при четене на RAID 5 е почти толкова добра, колкото на RAID 0 за същия брой дискове. С изключение на блоковете за четност, разпределението на данните по дисковете следва същия модел като при RAID 0. Причината, поради която RAID 5 е малко по-бавен, е, че дисковете трябва да прескачат блоковете с четност.

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

Главно поради проблеми с производителността на неуспешни масиви RAID 5 някои експерти по бази данни създадоха група, наречена BAARF - Battle Against Any Raid Five.

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

Снимки

·        

RAID 0 просто поставя различните блокове на различни дискове. Няма излишък.

·        

При Raid 1 всеки блок се намира и на двата диска

·        

RAID 5 изчислява специални контролни суми за данните. Блоковете с контролната сума и тези с данните се разпределят по всички дискове.

По-малко използвани нива на RAID

RAID 2

Това се използваше при много големи компютри. За да се използва RAID ниво 2, са необходими специални скъпи дискове и специален контролер. Данните се разпределят на битово ниво (всички останали нива използват действия на байтово ниво). Извършват се специални изчисления. Данните се разделят на статични последователности от битове. Събират се 8 бита за данни и 2 бита за четност. След това се изчислява код на Хаминг. След това фрагментите на кода на Хаминг се разпределят по различните дискове.

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

За да работи RAID 2, са необходими поне 10 диска. Поради своята сложност и необходимостта от много скъп и специален хардуер RAID 2 вече не се използва много често.

RAID 3 - "разделяне на ленти със специална четност"

Ниво на Raid 3 е подобно на ниво RAID 0. Добавя се допълнителен диск за съхраняване на информация за равенство. Това става чрез битово добавяне на стойността на блока на другите дискове. Информацията за четността се съхранява на отделен (специален) диск. Това не е добре, защото ако дискът за равенство се повреди, информацията за равенство се губи.

RAID ниво 3 обикновено се прави с поне 3 диска. Конфигурацията с два диска е идентична с RAID ниво 0.

RAID 4 - "разделяне на ленти със специална четност"

Това е много подобно на RAID 3, с изключение на това, че информацията за четността се изчислява за по-големи блокове, а не за отделни байтове. Това е като RAID 5. За RAID 4 масив са необходими поне три диска.

RAID 6

Ниво RAID 6 не е оригинално ниво RAID. То добавя допълнителен блок за четност към масив RAID 5. Нуждае се от поне четири диска (два диска за капацитет и два диска за резервиране). RAID 5 може да се разглежда като специален случай на код на Рийд-Соломон. Все пак RAID 5 е специален случай, който се нуждае само от добавяне в полето на Галоа GF(2). Това е лесно да се направи с XOR. RAID 6 разширява тези изчисления. Той вече не е специален случай и трябва да се направят всички изчисления. При RAID 6 се използва допълнителна контролна сума (наречена полином), обикновено от GF(28). С този подход е възможно да се защити от произволен брой повредени дискове. RAID 6 е за случая на използване на две контролни суми за защита срещу загуба на два диска.

Както и при RAID 5, паритетът и данните са на различни дискове за всеки блок. Двата блока за четност също са разположени на различни дискове.

Съществуват различни начини за създаване на RAID 6. Те се различават по производителността на запис и по това колко изчисления са необходими. Възможността за по-бърз запис обикновено означава, че са необходими повече изчисления.

RAID 6 е по-бавен от RAID 5, но позволява на RAID да продължи да работи при повреда на два диска. RAID 6 става все по-популярен, защото позволява възстановяването на масива след повреда на един диск, дори ако един от останалите дискове има един или повече лоши сектори.

Снимки

·        

RAID 3 прилича на RAID ниво 0. Добавя се допълнителен диск, който съдържа контролна сума за всеки блок данни.

·        

RAID 4 е подобен на RAID ниво 3, но изчислява четността върху по-големи блокове данни.

·        

RAID 6 е подобен на RAID 5, но при него се изчисляват две различни контролни суми. Това позволява повреда на два диска без загуба на данни.

Нестандартни нива на RAID

Двоен паритет / Диагонален паритет

RAID 6 използва два блока за равенство. Те се изчисляват по специален начин чрез полином. RAID с двойна четност (наричан още RAID с диагонална четност) използва различен полином за всеки от тези блокове за четност. Неотдавна индустриалната асоциация, която дефинира RAID, заяви, че RAID с двойна четност е различна форма на RAID 6.

RAID-DP

RAID-DP е друг начин за двойна четност.

RAID 1.5

RAID 1.5 (да не се бърка с RAID 15, който е различен) е патентована реализация на RAID. Подобно на RAID 1, той използва само два диска, но извършва както стрипинг, така и огледален печат (подобно на RAID 10). Повечето неща се правят хардуерно.

RAID 5E, RAID 5EE и RAID 6E

RAID 5E, RAID 5EE и RAID 6E (с добавено E за Enhanced) обикновено се отнасят за различни видове RAID 5 или RAID 6 с гореща резерва. При тези реализации резервният диск не е физически диск. По-скоро той съществува под формата на свободно пространство върху дисковете. Това повишава производителността, но означава, че "горещият резерв" не може да се споделя между различни масиви. Схемата е въведена от IBM ServeRAID около 2001 г.

RAID 7

Това е патентована реализация. Тя добавя кеширане към масив RAID 3 или RAID 4.

Intel Matrix RAID

Някои дънни платки на Intel имат RAID чип с тази функция. Той използва два или три диска, след което ги разделя по равно, за да образува комбинация от нива RAID 0, RAID 1, RAID 5 или RAID 1+0.

Драйвер на Linux MD RAID

Това е името на драйвера, който позволява да се използва софтуерен RAID в Linux. В допълнение към нормалните нива на RAID 0-6 той има и реализация на RAID 10. От ядро 2.6.9 насам RAID 10 е с едно ниво. Имплементацията има някои нестандартни характеристики.

RAID Z

Sun е внедрила файлова система, наречена ZFS. Тази файлова система е оптимизирана за работа с големи количества данни. Тя включва мениджър на логически томове. Тя включва и функция, наречена RAID-Z. При нея се избягва проблемът, наречен RAID 5 write hole (дупка за запис), тъй като има политика за копиране при запис: Тя не презаписва данните директно, а записва нови данни на ново място на диска. Когато записът е успешен, старите данни се изтриват. При него се избягва необходимостта от операции "четене-изменение-запис" за малки записи, тъй като записва само пълни ленти. Малките блокове са огледални, а не защитени по четност, което е възможно, защото файловата система знае начина, по който е организирана паметта. Следователно тя може да заделя допълнително пространство, ако е необходимо. Съществува и RAID-Z2, който използва две форми на четност, за да постигне резултати, подобни на RAID 6: възможност да се преживеят до два отказа на дискове, без да се губят данни.

Снимки

·        

Схема на конфигурация RAID DP (Double Parity).

·        

Матрична RAID конфигурация.

Присъединяване на нива на RAID

При RAID различни дискове могат да бъдат обединени в логически диск.Потребителят вижда само логическия диск. Всяко от гореспоменатите нива на RAID има добри и лоши страни. Но RAID може да работи и с логически дискове. По този начин едно от горните нива на RAID може да се използва с набор от логически дискове. Много хора го отбелязват, като записват числата заедно. Понякога между тях се изписва "+" или "&". Често срещани комбинации (при използване на две нива) са следните:

  • RAID 0+1: Два или повече масива RAID 0 се комбинират в масив RAID 1; Това се нарича огледало на ивици.
  • RAID 1+0: Същото като RAID 0+1, но нивата на RAID са обърнати; лента от огледала. По този начин повредата на диска е по-рядко срещана, отколкото при RAID 0+1 по-горе.
  • RAID 5+0: Стрип няколко RAID 5 с RAID 0. Един диск от всеки RAID 5 може да се повреди, но това прави RAID 5 единствена точка на повреда; ако друг диск от този масив се повреди, всички данни от масива ще бъдат загубени.
  • RAID 5+1: В случаите, когато RAID е съставен от шест диска, всеки от тях може да се повреди (без да се губят данни).
  • RAID 6+0: Покриване на няколко масива RAID 6 върху RAID 0; два диска от всеки RAID 6 могат да се повредят без загуба на данни.

С шест диска от по 300 GB всеки, с общ капацитет от 1,8 TB, е възможно да се създаде RAID 5 с 1,5 TB използваемо пространство. В този масив един диск може да се повреди без загуба на данни. С RAID 50 пространството се намалява до 1,2 TB, но един диск от всеки RAID 5 може да се повреди, а освен това има забележимо увеличение на производителността. RAID 51 намалява използваемото пространство до 900 GB, но позволява на всеки три диска да се повредят.

·        

RAID 0+1: Няколко масива RAID 0 се комбинират с RAID 1

·        

RAID 1+0: По-устойчив от RAID 0+1; поддържа множество повреди на дискове, стига да не се повредят два диска, които образуват огледало.

·        

RAID 5+1: Всеки от трите диска може да се повреди без загуба на данни.

Създаване на RAID

Съществуват различни начини за създаване на RAID. Това може да стане със софтуер или с хардуер.

Софтуерен RAID

RAID може да се създаде със софтуер по два различни начина. В случая на софтуерен RAID дисковете са свързани като обикновени твърди дискове. Компютърът е този, който осигурява работата на RAID. Това означава, че за всеки достъп централният процесор трябва да извърши и изчисленията за RAID. Изчисленията за RAID 0 или RAID 1 са прости. Изчисленията за RAID 5, RAID 6 или някое от комбинираните нива на RAID обаче могат да бъдат много трудни. При софтуерен RAID автоматичното стартиране от масив, който е отказал, може да се окаже трудно за изпълнение. И накрая, начинът, по който се прави RAID в софтуера, зависи от използваната операционна система; обикновено не е възможно да се изгради отново софтуерен RAID масив с друга операционна система. Операционните системи обикновено използват дялове на твърдия диск, а не цели твърди дискове за създаване на RAID масиви.

Хардуерен RAID

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

Хардуерно подпомаган RAID

Това е комбинация между хардуерен RAID и софтуерен RAID. Хардуерно подпомаганият RAID използва специален чип на контролера (като хардуерен RAID), но този чип не може да извършва много операции. Той е активен само при стартиране на системата; веднага след като операционната система е напълно заредена, тази конфигурация е като софтуерен RAID. Някои дънни платки имат RAID функции за свързаните дискове; най-често тези RAID функции се изпълняват като хардуерно подпомаган RAID. Това означава, че е необходим специален софтуер, за да може да се използват тези RAID функции и да се възстанови повреденият диск.

Различни термини, свързани с хардуерни повреди

Има различни термини, които се използват, когато се говори за хардуерни повреди:

Процент на неуспешните опити

Коефициентът на откази е колко често дадена система се поврежда. Средното време до повреда (MTTF) или средното време между повредите (MTBF) на една RAID система е същото като това на нейните компоненти. В крайна сметка RAID системата не може да се защити от повреди на отделните си твърди дискове. По-сложните типове RAID (всичко, което надхвърля "стрипинг" или "конкатенация") обаче могат да помогнат за запазване на данните непокътнати дори при повреда на отделен твърд диск.

Средно време до загуба на данни

Средното време до загуба на данни (MTTDL) показва средното време преди да се стигне до загуба на данни в даден масив. Средното време до загуба на данни на даден RAID може да бъде по-високо или по-ниско от това на неговите твърди дискове. Това зависи от типа на използвания RAID.

Средно време за възстановяване

Масивите, които са резервирани, могат да се възстановят от някои повреди. Средното време за възстановяване показва колко време е необходимо, за да се възстанови нормалното състояние на отказалия масив. Към това се добавя както времето за подмяна на отказалия дисков механизъм, така и времето за повторно изграждане на масива (т.е. за репликиране на данни за резервиране).

Невъзстановима битова грешка

Коефициентът на невъзстановима битова грешка (UBE) показва колко дълго дисковото устройство няма да може да възстанови данните след използване на кодове за циклична проверка за излишък (CRC) и многократни повторения.

Проблеми с RAID

Съществуват и някои проблеми, свързани с идеите или технологията на RAID:

Добавяне на дискове в по-късен момент

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

Друга възможност за добавяне на място за съхранение е да създадете нов масив и да оставите мениджъра на логически томове да се справи със ситуацията. Това позволява да се увеличи почти всяка RAID система, дори RAID1 (която сама по себе си е ограничена до два диска).

Свързани неуспехи

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

На практика обаче устройствата често се купуват заедно. Те са на приблизително еднаква възраст и са били използвани по подобен начин (т.нар. износване). Много дискове се повреждат поради механични проблеми. Колкото по-старо е едно устройство, толкова по-износени са механичните му части. Механичните части, които са стари, е по-вероятно да се повредят, отколкото тези, които са по-млади. Това означава, че повредите на дисковете вече не са статистически независими. На практика има вероятност вторият диск също да се повреди, преди да е възстановен първият. Това означава, че на практика загубата на данни може да настъпи със значителни темпове.

Атомичност

Друг проблем, който се среща и при RAID системите, е, че приложенията очакват така наречената "атомност": Или всички данни се записват, или не се записват. Записването на данните се нарича транзакция.

В RAID масивите новите данни обикновено се записват на мястото, където са били старите данни. Това е известно като актуализация на място. Джим Грей, изследовател на бази данни, пише статия през 1981 г., в която описва този проблем.

Много малко системи за съхранение позволяват атомарна семантика на запис. Когато даден обект се записва на диска, RAID устройството за съхранение обикновено записва всички копия на обекта паралелно. Много често има само един процесор, който отговаря за записването на данните. В такъв случай записът на данни към различните дискове ще се припокрива. Това е известно като застъпване на запис или поетапен запис. Поради това грешка, която възниква в процеса на запис, може да остави излишните копия в различни състояния. По-лошото е, че тя може да остави копията нито в старото, нито в новото състояние. Регистрирането обаче разчита на това, че оригиналните данни са или в старото, или в новото състояние. Това позволява архивиране на логическата промяна, но малко системи за съхранение предоставят семантика за атомен запис на RAID диск.

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

Поддръжката на транзакции не е налична във всички хардуерни RAID контролери. Затова много операционни системи я включват, за да се предпазят от загуба на данни при прекъснат запис. Novell Netware, започвайки от версия 3.x, включва система за проследяване на транзакции. Microsoft въведе проследяване на транзакции чрез функцията за водене на дневник в NTFS. Файловата система WAFL на NetApp го решава, като никога не актуализира данните на място, както и ZFS.

Данни, които не могат да бъдат възстановени

Някои сектори на твърдия диск може да са станали нечетими поради грешка. Някои реализации на RAID могат да се справят с тази ситуация, като преместят данните на друго място и маркират сектора на диска като лош. Това се случва с около 1 бит на 1015 при дисковите устройства от корпоративен клас и с 1 бит на 1014 при обикновените дискови устройства. Капацитетът на дисковете непрекъснато се увеличава. Това може да означава, че понякога RAID не може да бъде възстановен, тъй като такава грешка се открива при възстановяването на масива след повреда на диска. Някои технологии, като RAID 6, се опитват да решат този проблем, но те страдат от много голямо наказание за запис, с други думи записването на данни става много бавно.

Надеждност на кеша за запис

Дисковата система може да потвърди операцията за запис веднага след като данните са в кеша. Не е необходимо да се чака, докато данните бъдат записани физически. Въпреки това всяко прекъсване на електрозахранването може да означава значителна загуба на данни, които са на опашката в такъв кеш.

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

Съвместимост на оборудването

Дисковите формати на различните RAID контролери не са непременно съвместими. Поради това може да не е възможно да се чете RAID масив на различен хардуер. Следователно при хардуерна повреда, която не е свързана с диска, може да се наложи използването на идентичен хардуер или резервно копие, за да се възстановят данните.

Какво може и какво не може да прави RAID

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

Какво може да прави RAID

  • RAID може да защити времето за работа. Нивата RAID 1, 0+1/10, 5 и 6 (и техните варианти като 50 и 51) компенсират механична повреда на твърдия диск. Дори и след повреда на диска, данните в масива могат да се използват. Вместо отнемащото време възстановяване от лента, DVD или друг бавен носител за архивиране, RAID позволява данните да бъдат възстановени на заместващ диск от другите членове на масива. По време на този процес на възстановяване те са на разположение на потребителите във влошено състояние. Това е много важно за предприятията, тъй като престоят бързо води до загуба на приходи. За домашните потребители то може да защити времето за работа на големи масиви за съхранение на мултимедийни данни, които биха изисквали времеемко възстановяване от десетки DVD или доста ленти в случай на повреда на диск, който не е защитен от резервиране.
  • RAID може да повиши производителността при определени приложения. Нива 0, 5 и 6 на RAID използват ленти. Това позволява на множество шпиндели да увеличат скоростта на трансфер при линейни трансфери. Приложенията от типа на работните станции често работят с големи файлове. Те се възползват в голяма степен от разделянето на диска на ленти. Примери за такива приложения са тези, които използват видео или аудио файлове. Тази пропускателна способност е полезна и при архивиране от диск на диск. RAID 1, както и други нива на RAID, базирани на стрипинг, могат да подобрят производителността при модели на достъп с много едновременни случайни достъпи, като тези, използвани от многопотребителска база данни.

Какво не може да прави RAID

  • RAID не може да защити данните в масива. RAID масивът има една файлова система. Това създава една единствена точка на отказ. Има много неща, които могат да се случат на тази файлова система, освен физическа повреда на диска. RAID не може да се защити от тези източници на загуба на данни. RAID няма да спре вирус да унищожи данните. RAID не може да предотврати корупция. RAID няма да спаси данните, когато потребителят ги промени или изтрие по погрешка. RAID не защитава данните от хардуерна повреда на който и да е компонент освен физическите дискове. RAID не защитава данните от природни или причинени от човека бедствия, като пожари и наводнения. За да се защитят данните, те трябва да се архивират на сменяеми носители, като DVD, лента или външен твърд диск. Резервното копие трябва да се съхранява на друго място. RAID сам по себе си няма да предотврати превръщането на бедствие в загуба на данни, когато (а не ако) то настъпи. Бедствията не могат да бъдат предотвратени, но резервните копия позволяват да се предотврати загубата на данни.
  • RAID не може да опрости възстановяването след бедствие. Когато работи с един диск, той може да се използва от повечето операционни системи, тъй като те са снабдени с общ драйвер за устройство. Повечето RAID контролери обаче се нуждаят от специални драйвери. Инструментите за възстановяване, които работят с единични дискове на общи контролери, ще се нуждаят от специални драйвери за достъп до данни в RAID масиви. Ако тези инструменти за възстановяване са лошо кодирани и не позволяват осигуряването на допълнителни драйвери, тогава RAID масивът вероятно ще бъде недостъпен за този инструмент за възстановяване.
  • RAID не може да осигури повишаване на производителността при всички приложения. Това твърдение е особено вярно за типичните потребители на настолни приложения и за геймърите. За повечето настолни приложения и игри стратегията за буфериране и производителността на търсене на диска(ите) са по-важни от суровата пропускателна способност. Повишаването на суровата скорост на траен трансфер показва малки ползи за такива потребители, тъй като повечето файлове, до които те имат достъп, обикновено са много малки. Разделянето на дискове на ленти с помощта на RAID 0 увеличава линейната производителност на трансфера, а не производителността на буфера и търсенето. В резултат на това дисковото разделяне на ленти, използващо RAID 0, показва малко или никакво увеличение на производителността в повечето настолни приложения и игри, въпреки че има и изключения. За потребителите на настолни компютри и геймъри, чиято цел е висока производителност, е по-добре да купят по-бърз, по-голям и по-скъп единичен диск, отколкото да използват два по-бавни/малки диска в RAID 0. Дори използването на най-новите, най-големите и най-големите дискове в RAID-0 едва ли ще повиши производителността с повече от 10 %, а при някои модели на достъп, особено в игрите, производителността може да спадне.
  • Трудно е да преместите RAID в нова система. При единичен диск е сравнително лесно да го преместите в нова система. Той може просто да бъде свързан към новата система, ако тя има същия интерфейс. Това обаче не е толкова лесно при RAID масива. Съществува определен вид метаданни, които показват как е създаден RAID. RAID BIOS трябва да може да прочете тези метаданни, за да може успешно да конструира масива и да го направи достъпен за операционната система. Тъй като производителите на RAID контролери използват различни формати за своите метаданни (дори контролери от различни фамилии на един и същ производител могат да използват несъвместими формати за метаданни), е почти невъзможно да се премести RAID масив към друг контролер. Когато премествате RAID масив към нова система, трябва да планирате да преместите и контролера. С популярността на вградените в дънната платка RAID контролери това е изключително трудно. По принцип е възможно членовете на RAID масива и контролерите да бъдат преместени заедно. Софтуерният RAID в продуктите на Linux и Windows Server също може да заобиколи това ограничение, но софтуерният RAID има и други (предимно свързани с производителността).

Пример

Най-често използваните нива на RAID са RAID 0, RAID 1 и RAID 5. Да предположим, че има конфигурация от 3 диска с 3 еднакви диска от по 1 TB всеки и вероятността за повреда на диск за даден период от време е 1%.

Ниво на RAID

Използваем капацитет

Вероятност от повреда

дадени в проценти

Вероятност от повреда

1 от ... случаи е неуспешен

0

3 TB

2,9701%

34

1

1 TB

0,0001%

1 милион

5

2 TB

0,0298%

3356


AlegsaOnline.com - 2020 / 2021 - License CC3