logo
AOM / Мельник А

9.7.2. Масиви магнітних дисків з надлишковістю

Оскільки жорсткі диски є основною зовнішньою пам'яттю комп'ютера, до 'їх харак­теристик, а саме вартості, продуктивності та відмовостійкості, висуваються підвищені вимоги. Причому, враховуючи те, що розрив у продуктивності між жорстким диском

342

і ядром комп'ютера постійно росте, а збільшення його продуктивності вдвічі було до­сягнуто лиш через 10 років (рис. 9.8), розробники вимушені шукати структурні методи покращення їх характеристик. Один із таких методів, а саме надлишкові масиви дешевих дисків (RAID - Redundant Arrays of Inexpensive Disks) був запропонований у 1987 році Д. Паттерсоном, Р. Гартом Р. Катцом. В основу RAID покладена наступна ідея: об'єдную­чи в масив декілька невеликих і/або дешевих дисків, які з боку комп'ютера сприймають­ся як один диск, можна отримати систему, що переверщує за об'ємом, продуктивністю роботи і надійністю дорогі диски великого об'єму.

Асоціацією виробників RAID-систем було визначено шість базових типів дискових масивів RAID: RAID 0, RAID 1,..., RAID 5. Також є кілька типів RAID, які не включені в даний перелік, оскільки вони представляють собою різні комбінації базових рівнів. Хоча ні один тип не може бути визнаний кращим для всіх випадків застосування, кожен з них дозволяє відчутно покращити якусь характеристику.

Підвищена продуктивність дискової підсистеми в RAIDдосягається за допомогою розбиття даних і дискового простору на смуги, які розподіляються по різних дисках, від­повідно до визначеної системи. Це дозволяє проводити паралельне зчитування або за­пис відразу кількох смуг, якщо вони розміщені на різних дисках. В ідеальному випадку, продуктивність дискової підсистеми може бути збільшена в ту кількість разів, яка рівна кількості дисків в масиві. Розмір (ширина) смуги вибирається виходячи з особливостей кожного рівня RAID, і може бути рівна біту, байту, розміру фізичного сектора диска, або ж розміру доріжки. Частіше всього послідовні смуги розділяються по послідовних дис­ках масиву. Так, в масиві із п дисків п перших смуг фізично розміщені як перші смуги на кожному з дисків, наступні п смуг - як другі смуги на кожному диску і т. д. Набір послі­довних смуг, однаково розміщених на кожному диску масиву, називають поясом.

Інша ціль концепції RAID - це підвищення 'їх відмовостійкості за рахунок виявлення і корекції помилок, які виникають при відмові дисків, або в результаті збоїв. Досягається це за рахунок надлишкового дискового простору, який задіяний для зберігання додат­кової інформації, що дозволяє відновити спотворені або втрачені дані. В RAIDперед­баченні три види додаткової інформації: дублювання, код Хемінга та використання бітів контролю парності.

Дублювання полягає в записі тих же даних на інші диски масиву, що дозволяє при відмові одного з дисків скористатися відповідною інформацією, збереженою на справ­них дисках. У принципі розділення інформації по дисках масиву може бути довільним, але для скорочення затрат, зв'язаних із пошуком копії, застосовується розбиття масиву на пари дисків, де в кожній парі дисків інформація є ідентичною та розміщена однаково. При такому дублюванні надмірність дискового масиву становить 100%.

Код Хемінга обчислюється для кожної групи смуг, однаково розміщених на всіх дисках масиву, тобто поясу. Коригуючі біти зберігаються на спеціально виділених для цієї цілі до­даткових дисках. Так, для масиву з десяти дисків потрібно чотири додаткових диски.

Використання бітів контролю парності замість коду Хемінга передбачає обчислення контрольної смуги бітів парності для кожного набору смуг, розміщених в ідентичній по­зиції на всіх дисках масиву. В ній значення окремого біта формується як сума за моду­лем два для однойменних бітів в усіх контрольованих смугах. Для зберігання смуг бітів контролю парності потрібно тільки один додатковий диск. У випадку відмови якогось із

343

дисків масиву проводиться звернення до диску бітів контролю парності і дані відновлю­ються по бітах бітів парності та даних від інших дисків масиву.

Розглянемо шість базових типів дискових масивів RAID: RAID 0, RAID 1,..., RAID 5 та їх комбінації детальніше.