RAID (Redundant Arrays of Inexpensive Disks) означає «надлишковий масив незалежних дисків». Первісне призначення RAID - створення на базі декількох вінчестерів диска великого обсягу зі збільшеною швидкістю доступу. Але потім до двох основних цілей додалося третя - збереження даних у випадку відмови частини устаткування. Саме ці три кити зробили RAID-масиви настільки затребуваними бізнесом та військовими. Втім, за обсяг, швидкість та надійність довелося платити підвищенням вартості та складності систем зберігання даних.
Основні поняття та визначення
Масивом називають кілька накопичувачів, які централізовано настроюються, форматуються та управляються. Логічний масив - це вже більше високий рівень подання, на якому не враховуються фізичні характеристики системи. Відповідно, логічні диски можуть по кількості та обсягу не збігатися з фізичними. Але краще все-таки дотримувати відповідності: фізичний диск - логічний диск. Нарешті, для операційної системи взагалі весь масив є одним більшим диском.
Відзеркалювання – технологія, що дозволяє підвищити надійність системи. В RAID масиві із відзеркалюванням всі дані одночасно пишуться не на один, а на два жорсткі диски. Тобто створюється «дзеркало» даних. При виході з ладу одного з дисків вся інформація залишається збереженою на другому (рис.18.1).
Дуплекс – розвиток ідеї відзеркалювання. У цьому випадку так само високий рівень надійності та потрібно у два рази більше жорстких дисків. Але з'являються додаткові витрати: для підвищення надійності в систему встановлюються два незалежних RAID контролери. Вихід з ладу одного диска або контролера не позначається на працездатності системи (рис.18.2).
Рис. 18.1. Відзеркалювання Рис. 18.2. Дуплекс
Чередування або страйпинг (Striping) – відмінна можливість підвищити швидкодію системи. Очевидно, якщо читання та запис вести паралельно на декількох жорстких дисках, можна одержати виграш у швидкодії. Як це робиться? Записуваний файл розбивається на частини певного розміру та посилається одночасно на всі наявні накопичувачі. У такому фрагментованому вигляді файл зберігається. Зчитується він теж «по частинам». Розмір «частини» може бути мінімальним - 1байт, але частіше використовують більші «частини» - по 512байт (розмір сектора).
Парність (Parity) є альтернативним рішенням, що поєднує в собі переваги відзеркалювання (висока надійність) та чередування (висока швидкість роботи). Використовується той же принцип, що при контролі парності оперативної пам'яті. Якщо є I блоків даних та на їхній основі обчислюється ще один додатковий екстраблок, із отриманих (I+1) блоків завжди можна відновити інформацію, навіть при ушкодженні одного з них. Відповідно, для створення нормального RAID-масиву в цьому випадку потрібний (I+1) жорсткий диск.
Розподіл блоків по дисках такий, як при чередуванні. Екстраблок може записуватися на окремий накопичувач, або розкидатися по дисках. Що ж зберігається в екстраблоці? Звичайно кожний біт екстраблока складається із суми бітів всіх I блоків, точніше з результату виконання логічної операції XOR. Багато хто пам'ятають зі школи, що XOR - дивний оператор, при його повторному накладенні ми можемо одержати первісний результат. Тобто
(A XOR B) XOR B = A
Це правило поширюється на будь-яку кількість операндів. Плюси парності очевидні. За рахунок використання чередування підвищується швидкість роботи. При відзеркалюванні надійність зберігається, але при цьому «неробочий» обсяг масиву помітно зменшується, він однаковий для будь-якої кількості дисків та становить обсяг одного диска, тобто при 5 дисках у масиві пропадає всього 20% ємності.
Але у парності є вагомий мінус. Для формування екстраблоків потрібні обчислення. Їх треба робити «на льоту», причому з мільйонами, мільярдами біт! Якщо цю справу доручити центральному процесору, то одержимо дуже «загальмовану» систему. Необхідно використовувати досить дорогі плати з RAID-контролерами, які «беруть всі обчислення на себе». У випадку виходу з ладу одного з дисків, процес відновлення буде не настільки швидким, як при відзеркалюванні.
18.2. Рівні RAID
В RAID рівнях немає наступності. RAID 3 не є поліпшеною модифікацією RAID 4, так само як RAID 5 не кращий за RAID 1. Вони різні. Крім того, є прості (single) та складні (multiple) RAID масиви. Складні є сполученням двох простих.
RAID 0
Найпростіший масив, що використовує чередування без парності (рис.18.3). Вся вхідна інформація розбивається на блоки фіксованої довжини (наприклад, 16кБ) та розкидається на всі наявні диски.
При наявності двох-чотирьох дисків RAID 0 дає відчутний виграш у швидкості передачі даних, але зовсім не забезпечує надійність.
Для його побудови підійде будь-який дешевий та навіть програмний RAID-контролер.
Підходить для тих, кому потрібно вичавити максимум продуктивності від файлової системи при мінімальних витратах.
Р