4.19. Створення масивів RAID
Ідея надійності зберігання даних хвилювала, хвилює і буде хвилювати не одне покоління системних адміністраторів і користувачів. Використовувані в ОС Linux файлові системи ext2 і ext3 володіють достатнім ступенем надійності, але часто цього мало.
Якщо існує ймовірність втратити дані в результаті виходу з ладу жорсткого диска, то єдиним виходом з даної ситуації є використання масивів жорстких дисків RAID. RAID (Redundant Array of Independent Disk або Redundant Array of Expensive Disk) - матриця незалежних дисків з надмірністю. Під надмірністю мається на увазі резервування і дублювання даних. Залежно від рівня RAID, надаються різні способи об'єднання дисків в масив (див. Табл. 4.17).
Найбільш часто використовуються масиви рівнів 0,1 і 5. Іноді зустрічаються комбіновані способи об'єднання даних в масив, наприклад, 5 + 1.
Рівні RAID Таблиця 4.17
Забезпечує розподіл блоків даних по декількох дисках. Призначений для зберігання великих обсягів даних, що не вміщається на одному диску. Цей рівень не забезпечує надмірності, при використанні цього масиву диски просто об'єднуються в ланцюжок. Ємність масиву дорівнює сумарній ємності всіх дисків, що утворюють масив
Забезпечує технологію дзеркального копіювання. Диски дублюють один одного. Ємність масиву дорівнює ємності самого меншого з дисків
Запис на різні диски проводиться методом бітового чергування малих блоків даних з додаванням кодів виправлення помилок
Те ж, що і рівень RAID 2, але контрольні коди записуються на окремий диск
Являє собою сукупність взаємопов'язаних даних, які записуються на один диск, а контрольні коди - на інший
На цьому рівні використовуються контрольні суми і дані записуються «упереміш» на всі диски. При виході з ладу одного з дисків втрачені дані відновлюються за допомогою контрольної суми. Загальна ємність масиву обчислюється за формулою min_size * (n-1), де min_size - обсяг найменшого з дисків, an- кількість дисків в масиві. Мінімальна кількість дисків дорівнює трьом
Організація масиву RAID доступна не кожному через все ще високу вартість на контролери RAID. Хоча виробники материнських плат намагаються поправити це, випускаючи материнські плати з вбудованими контролерами RAID, але такі контролери досить універсальна і мають слабкі можливостями.
ОС Linux підтримує програмні контролери RAID. Застосування програмних контролерів має як свої переваги, так і недоліки. До переваг відноситься можливість використання дисків з різними інтерфейсами, наприклад, SCSI і IDE, для організації масиву - програмному контролеру все одно, з чим працювати. Недоліком є додаткове навантаження на центральний процесор - він виконує всю роботу по забезпеченню функціонування масиву RAID.
Отже, приступимо до створення масиву RAID. Вам буде потрібно будь-який дистрибутив з підтримкою програмного контролера RAID (Software RAID). Такою можливістю володіють практично всі сучасні дистрибутиви. Для включення підтримки RAID вам потрібно перекомпілювати ядро. Якщо ваше ядро підтримує RAID, при завантаженні системи ви повинні побачити приблизно наступне:
md driver 0.90.0 MAX_MD_DEVS = 256, MAX_REAL = 12
raid5. measuring checksumming speed
raid5: MMX detected, trying high-speed MMX checksum routines
pII_mmx. 980.694 MB / sec
p5_mmx. 999.744 MB / sec
8regs. 753.237 MB / sec
32regs. 444.246 MB / sec
using fastest function: p5_mmx (999.744 MB / sec)
md.c: sizeof (mdp_super_t) = 4096
autodetecting RAID arrays
Якщо перезавантажувати систему вам не хочеться, щоб переглянути підтримку RAID ви можете за допомогою команди:
Програма dmesg виводить на стандартний висновок повідомлення ядра під час завантаження системи.
Включити підтримку RAID можна в розділі Block device конфігуратора ядра (make menuconfig). Дана опція називається RAID n support, де n - це номер рівня масиву RAID. Після цього потрібно встановити пакет raidtools, до складу якого входять програми raidhotadd, raidhotremove, mkraid і інші.
Для організації масиву рівня RAID 1 потрібно виділити два розділи і змінити тип цих розділів на Linux raid autodetect. Зверніть увагу, я написав «два розділи», а не «два диска», так як конфигурируется програмний контролер. Звичайно, краще, щоб ці розділи розташовувалися на різних дисках, в іншому випадку від нашого масиву буде мало толку.
Тепер необхідно відредагувати файл / etc / raidtab (див. Лістинг 4.3).