Теорія операційної системи

:: Меню ::

Головна
Представлення даних в обчислювальних системах
Машинні мови
Завантаження програм
Управління оперативною пам'яттю
Сегментна і сторінкова віртуальна пам'ять
Комп'ютер і зовнішні події
Паралелізм з точки зору програміста
Реалізація багатозадачності на однопроцесорних комп'ютерах  
Зовнішні пристрої
Драйвери зовнішніх пристроїв
Файлові системи
Безпека
Огляд архітектури сучасних ОС

:: Друзі ::

Карта сайту
 

:: Статистика ::

 

 

 

 

 

Где быстро взять займы, срочно оформить займы на карту в россии.

Дискові масиви

  У тебе, Федот, дружина, хоч розумна, а все ж одна!
А виткати таке за ніч — їх дивізія потрібна!
Л. Філатов

Ще один прийом оптимізація продуктивності дискових накопичувачів — це об'єднання декількох фізичних дисків в один великий логічний диск. При такому об'єднанні деякі диски можуть передавати дані, в той час, як інші позиціюють блок голівок або чекають підходу потрібного сектора до голівки. Дискові масиви вигідні не лише з точки зору продуктивності, але і підвищують одиничну ємкість пристрою, що запам'ятовує, — це може бути, наприклад, корисно для зберігання крупних неділимих об'єктів, таких, як таблиці реляційної СУБД.
Слід врахувати, що об'єднання дисків призводить до різкого зниження напрацювання масиву на відмову: вірогідність незалежних подій складається тому вірогідність відмови будь-якого з дисків масиву дорівнює сумі вірогідності відмови одиночного диска. Для компенсації або усунення цього недоліку дані в дискових масивах зазвичай зберігаються з надмірністю. Спільна назва всіх технологій об'єднання дисків — RAID (Redundant Irray of Inexpensive Disks — надлишковий масив недорогих дисків). Цей термін був запропонований в роботі [Gibson/katz/patterson I988], в якій проведений аналіз різних технологій створення дискових масивів з точки зору їх продуктивності і надійності і було розглянуто п'ять можливих способів розміщення надлишкових даних. Запропонована авторами статті нумерація цих технологій без заслання на джерело використовується в найрізноманітніших публікаціях у формі RAID рівня X. У сучасних публікаціях, наприклад [www.acnc.com] часто згадуються також додаткові і комбіновані рівні RAID, в іменуванні яких спільну згоду не досягнуто.
Втім, один додатковий рівень, не згадуваний в статті [Gibson/katz/patterson 1988], практично скрізь розуміється і іменується однаково. Під RAID рівня 0 практично одноголосно розуміють простий стріппінг (stripping — дослівно, розділення на смуги). Стріппінг, строго кажучи, не є методом створення надлишкових масивів, бо він не передбачає надмірності: ємкість результуючого логічного диска дорівнює сумі об'ємів фізичних дисків (мал. 9.40). Із-за цього RAID 0 не обговорювався в роботі [Gibson/katz/patterson 1988].
RAID рівня 1 відомий також як зеркалірованіє (mirroring). При зеркалі-рованії на кожен з дисків записується повна копія даних (мал. 9.41). Зазвичай в дзеркальному режимі використовується не більше двох дисків. Зеркалірованіє забезпечує деяке падіння продуктивності (зазвичай все-таки менш, ніж двократне), але гарантує працездатність системи при відмові будь-якого з дисків. Обидва ці прийому широко застосовуються па практиці, зазвичай з невеликою кількістю дисків, не більше двох, рідше, три. Вони не вимагають значних обчислювальних ресурсів і тому зазвичай реалізуються програмно, драйвером диска або файлової системи.
RAID рівня 2 пропонує постачання блоків даних на дисках кодом Хеммінга (див. разд. Контрольні суми) і розміщення цієї коди на окремому диску масиву. Ця технологія має сенс, якщо контроллери дисків не зберігають код відновлення помилок у власних заголовках секторів. Оскільки сучасні диски практично без виключення використовують поновлююче кодування і динамічне перепризначення дефектних секторів, RAID 2 практично не застосовується.

Мал. 9.41. Raid1 (зеркалірованіє)

RAID рівня 3 і 4 схожі у багатьох відношеннях. Кожен з цих методів вимагає не менше трьох дисків і підрахунку контрольної суми в такий спосіб, щоб дані могли бути однозначно відновлені при повній втраті одного з дисків. У RAID рівня 3 контрольних суми підраховуються для кожного байта записуваних даних, а в RAID рівня 4 — для груп блоків. Для зберігання контрольних сум відводиться окремий диск.
Ці методики забезпечують нижчу (хоча і достатню для більшості практичних цілей) надмірність, ніж зеркалірованіє, але, як стріппінг. збільшують одиничну ємкість диска і підвищують продуктивність. Для відмови всієї системи потрібна повна відмова більш ніж від одного диска; багато конструктіви дискових масивів рівня більше 2 передбачають "гарячу" (без виключення системи) заміну дисків, що допускає теоретично необмежене напрацювання на останов, недосяжне при використанні одиночних дисків.
RAID 3 вимагає зміни формату секторів диска і відповідної переробки контроллера і не може застосовуватися з серійними дисковими приводами. Основним недоліком RAID 4 є необхідність звернення до диска з контрольною сумою при кожній модифікації одного з блоків групи. При записі великої кількості логічно послідовних блоків це не проблема, але може перетворитися на проблему при випадково розподілених записах одиночних блоків.
Цього недоліку позбавлений RAID рівня 5, в якому контрольні суми розподілені по всіх дисках масиву (мал. 9.42). RAID 5 знаходять широке вживання в серверах рівня робочої групи, або підрозділи. При програмній реалізації, втім, підрахунок контрольних сум вимагає значної долі обчислювальної потужності ЦПУ, тому широкого поширення набули "апаратні" контроллери RAID 5, що мають власний процесор і, як правило, досить великий об'єм власної пам'яті. Це не заважає деяким ОС, зокрема Windows Nt/2000/xp, реалізувати RAID 5 програмно на рівні файлової системи.

Мал. 9.42. RAID рівня 5

 

:: Реклама ::

 

:: Посилання ::


 

 

 


Copyright © Kivik, 2017