Съдържание
· 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 функции. Такива системи могат да се използват за съхранение на музика или филми, например.
Как работи RAID (основни принципи)
RAID комбинира множество физически дискове в един логически масив чрез няколко основни техники:
- Стрипинг (striping) – разпределяне на данните на блокове (ивици) между дисковете за подобряване на паралелизма и производителността.
- Огледално копиране (mirroring) – съхраняване на едно и също съдържание на два или повече диска за висока устойчивост при отказ на диск.
- Четност (parity) – изчисляване и записване на допълнителни данни (битове за четност), които позволяват възстановяване при повреда на диск без пълно дублиране на съдържанието.
- Кеширане – използване на RAM или батерийно/флаш-базиран кеш в RAID контролера за ускоряване на операциите за четене и запис; важно е да се гарантира надеждността на кеша (BBU, supercapacitor или неподвижно записване) за да не се загубят данни при прекъсване на захранването.
- Горещи резервни диск(ове) (hot spare) – непублични дискове, които автоматично се включват при отказ, за да ускорят възстановяването.
Често използвани нива на RAID
RAID 0 (Striping)
Описание: Данните се разделят (striped) между два или повече диска без четност или огледално копие.
- Предимства: Повишена скорост на четене и запис (особено при последователни операции). Пълният капацитет на всички дискове е на разположение.
- Недостатъци: Няма излишък (redundancy) — отказ на един диск води до загуба на всички данни в масива.
- Подходящо за: Ненужни критични данни, временни файлове, кешове и приложения, където скоростта е приоритет и рискът от загуба е приемлив.
RAID 1 (Mirroring)
Описание: Всеки блок от данни се записва едновременно на два (или повече) диска — огледално копие.
- Предимства: Висока устойчивост — при отказ на един диск данните остават достъпни. Бързо четене (може да се четат паралелно), простота на управлението.
- Недостатъци: Ефективният капацитет е 50% (за два диска), по-скъп за съхранение спрямо паритетните решения.
- Подходящо за: Сървъри с критични данни, системни дискове и приложения, където отказът не е допустим.
RAID 5 (Striping с разпределена четност)
Описание: Данните и четността се разпределят между трима или повече диска; при отказ на един диск масивът може да се възстанови чрез четността.
- Предимства: По-добра ефективност на капацитета (един диск „се жертва“ за четността), добър баланс между производителност и устойчивост за четене.
- Недостатъци: Вписването на малки блокове може да е по-бавно поради изчисляване/запис на четността (write penalty). При много големи дискове и дълги времена за възстановяване рискът от втора повреда по време на rebuild се увеличава. Уязвим при URE (невъзстановими битови грешки) по време на възстановяване.
- Подходящо за: Общи файлови сървъри и приложения с множество четения и умерени записвания.
RAID 6
Описание: Подобно на RAID 5, но има двойна четност — позволява възстановяване при едновременна повреда на два диска.
- Предимства: По-голяма защита за масиви с много и големи дискове.
- Недостатъци: По-голям write penalty и повече изчисления; ефективен капацитет = общ капацитет минус два диска.
- Подходящо за: Системи с големи масиви, където рискът от втори отказ по време на rebuild е реален.
RAID 10 (1+0)
Описание: Комбинация от огледално копиране и стрипинг: групи от огледални двойки (RAID 1), които се стрипват (RAID 0).
- Предимства: Висока производителност и добра устойчивост — един или повече дискове могат да се повредят, в зависимост от това кой диск във всяка огледална двойка е изгаснал.
- Недостатъци: Разход на капацитет като за RAID 1 (50%).
- Подходящо за: Бази данни и приложения с високи IOPS и ниска латентност, където бързото възстановяване е важно.
Други нива и разширения
Съществуват и по-редки или фирмени решения като RAID 2–4, RAID 5E/5EE/6E, RAID-DP, Intel Matrix RAID, ZFS RAID-Z и т.н. Някои от тях адресират специфични проблеми като двоен паритет, оптимизация за SSD, или интеграция със ZFS проверки за корупция (bit rot).
Създаване и управление на RAID
Има три основни подхода за реализиране на RAID:
- Софтуерен RAID – реализиран от операционната система (пример: Linux MD RAID). Не изисква специализиран хардуер и е гъвкав, но може да използва CPU ресурси.
- Хардуерен RAID – използва контролер с отделен процесор и често с батерийно захранван кеш. Предлага по-добра производителност, но може да е скъп и зависим при повреда от специфичния контролер.
- Хардуерно подпомаган (firmware/BIOS) RAID – „fake RAID“ или контролерни решения, които разчитат както на драйвери, така и на частична хардуерна поддръжка.
Рискове и проблеми при RAID
- URE (Unrecoverable Read Error) – при много големи дискове шансът за URE по време на rebuild расте, което може да направи възстановяването невъзможно.
- Време за възстановяване (rebuild time) – повече и по-големи дискове означават по-дълго време за възстановяване; през това време масивът е по-уязвим.
- Свързани неуспехи – дискове от един и същи модел/партида могат да имат корелирани повреди; използвайте различни серии/производители, когато е възможно.
- Надеждност на кеша – несигурен кеш за запис може да доведе до корупция при прекъсване; използвайте BBU или устойчив на загуба на енергия кеш.
- Съвместимост – смесване на RAID контролери или мигриране към друг хардуер може да бъде трудно; следвайте указанията на производителя и имайте резервни копия.
- Атомичност – частични транзакции или прекъсвания по време на запис може да оставят данните в несъгласувано състояние; файловите системи и базите данни трябва да поддържат консистентност.
Какво може и какво не може да прави RAID
- RAID може да предпази от повреда на физически диск(ове) (в зависимост от конфигурацията).
- RAID не е заместител на резервното копие (backup) — не защитава от случайно изтриване, криптиране от ransomware или логически грешки.
- RAID не гарантира защита при природни бедствия, кражба или пълна повреда на контролера, ако няма off-site backup или репликация.
Препоръки и добри практики
- Винаги имайте отделни резервни копия (backup) и/или репликация на данни извън RAID масива.
- Използвайте дискове, сертифицирани за 24/7 натоварване (enterprise/NAS drives) за критични системи.
- Добавете горещ резервен диск (hot spare) и мониторинг (SMART, RAID alerting).
- Планирайте периодични тестове на възстановяването (restore drills).
- Когато е възможно, използвайте RAID нива с двойна четност (RAID 6 или еквивалент) за големи масиви.
- Следете firmware на дисковете и контролерите и ги поддържайте актуални.
Кога да изберете кое RAID ниво
- RAID 0 — за максимална производителност без излишък (висок риск).
- RAID 1 — за максимална простота и бързо възстановяване (малък брой дискове).
- RAID 5 — за баланс между капацитет и защита при умерен брой дискове (внимание при големи дискове).
- RAID 6/DP — за по-големи масиви и допълнителна устойчивост.
- RAID 10 — за приложения с високи IOPS и бързо възстановяване.
Заключение
RAID е мощен инструмент за подобряване на производителността, капацитета и устойчивостта на дисковите системи, но не е универсално решение. Изборът на правилното ниво и архитектура зависи от конкретните нужди — критичност на данните, бюджет, изисквана производителност и търпим риск. Най-важното правило остава: RAID не замества редовните резервни копия.














