mdadm - утиліта для управління програмними RAID масивами в GNU / Linux (Linux Software Raid), раніше відома, як mdctl. MD - скорочення від Multiple Devices.
В Linux можна використовувати такі різновиди RAID:
- LINEAR (JBOD) - розширення розміру логічного диска за рахунок декількох фізичних дисків;
- RAID0 (striping) - розподіл блоків на декількох фізичних дисках без забезпечення відмовостійкості;
- RAID1 (mirroring) - віддзеркалення, запис одних і тих же даних одночасно на два диска, що забезпечує відмовостійкість у разі відмови одного з дисків;
- RAID4 - RAID 4 схожий на RAID 3, але відрізняється від нього тим, що дані розбиваються на блоки, а не на байти;
- RAID5 - масив із забезпеченням відмовостійкості за рахунок мінімальної надмірності (потрібно мінімум три диска);
- RAID6 - схожий на RAID 5, але має більш високу ступінь надійності - під контрольні суми виділяється ємність 2-х дисків, розраховуються 2 суми за різними алгоритмами;
- MULTIPATH - НЕ RAID-масив, що дозволяє створювати різні псевдо-носії пам'яті для одного фізичного диска;
- FAULTY - псевдо RAID-масив.
Не всі різновиди RAID-масивів доступні в ядрі Linux в початковій конфігурації. Наприклад, щоб використовувати RAID5 необхідно внести зміни в конфігурацію ядра і скомпілювати його заново. Для вже скомпільовані ядер з дистрибутивів, можливо буде потрібно явна завантаження відповідного модуля. Приклад: modprobe raid5.
За допомогою mdadm можна виконувати 7 груп операцій:
Отримання інформації про RAID-диску і його розділах
Для визначення того, чи є пристрій масивом або його частиною, можна використовувати утиліту mdadm з ключем -Q (--query). Зазначені в цьому розділі операції відносяться до групи інших, але вказувати ключ (--misc) не обов'язково. Ключ -Q також можна не вказувати - якщо в параметрах mdadm вказано тільки дисковий пристрої, то цей ключ подразумеается за замовчуванням. У прикладі нижче перевіряються три пристрої:
- звичайний розділ (не частина масиву):
mdadm -Q / dev / sde3
- розділ, який є частиною масиву:
mdadm -Q / dev / sdb1
- розділ диска, знятого з іншого комп'ютера, де він був частиною масиву:
mdadm -Q / dev / sde2
Більш детальну інформацію про масиві в цілому або його частини можна отримати використовуючи відповідно ключі -D (--detail) і -E (--examine). В обох випадках виводиться майже однакова інформація, але з ключем -D потрібно вказувати ім'я масиву, а з ключем -E вказується ім'я одного з розділів RAID-диска. Причому, масив повинен бути запущений, а для розділу це не важливо - головне, щоб він був частиною будь-якого-небудь масиву.
створення масиву
Перед створенням масиву слід створити для нього пристрій-ідентифікатор (якщо воно відсутнє): mknod / dev / md1 b 9 1, в даному випадку створюється ідентіфіктор для масиву з номером 1, що указиватся в імені пристрою і його коді (9 - це код пристрою всіх RAID-масивів, 1 - ідентифікатор).
Бажано, щоб розділи, з яких створюється масив, мали однаковий розмір (хоча вони можуть розташовуватися на фізичних дисках різного розміру і навіть різного типу). При створенні цих розділів слід присвоїти їм тип fd ( «Linux raid autodetect»). Не слід створювати масив з розділів, що розміщуються на одному фізичному диску - хоча це і можливо, це абсолютно безглуздо і призведе до істотного зниження швидкодії дискової підсистеми. Цікавою ідеєю є створення масиву з USB Flash drive дисків з метою підвищення швидкості, але через низьку надійності USB портів система буде менш надійна, ніж масив з жорстких дисків.
Цей приклад створює масив RAID 1 з двох розділів: один з hda і другий з hdc. Кілька дисків можна вказувати за допомогою шаблону, наприклад / dev / sd [ac] 2 або / dev / sd [a-f] 1.
- --create (або скорочено -С): команда створення
- / Dev / md0. контакт передачі створюваного віртуального розділу
- --level = 1 (або скорочено -l 1): рівень RAID. Див. Довідник по використанню mdadm (використовуйте «man mdadm» в командному рядку)
- --raid-devices = 2 (або скорочено -n 2): кількість пристроїв
- / Dev / hda3. перший диск в масиві
- / Dev / hdc3. другий диск
Якщо на момент створення масиву диска немає (наприклад, при переході на RAID) замість імені диска просто напишіть missing. Команда завершується відразу, звичайно видаючи повідомлення mdadm: array / dev / mdХ started. При цьому вже відразу можна використовувати масив. Фактично масив будується в фоновому режимі, прогрес можна подивитися у файлі / proc / mdstat; там же вказується можливе час завершення побудови масиву.
Після створення RAID-розділу можна створити на ньому файлову систему як на звичайному розділі диска. Створений і відформатований RAID-розділ можна використовувати як корінь файлової системи (але для цього підтримка RAID повинна бути вбудована в ядро, а не як завантажуваний модуль). Не слід створювати RAID-масив для своп-розділу - система сама знайде своп-розділи на різних дисках і буде використовувати їх за принципом RAID-масиву. Не забудьте додати відповідний рядок в файл конфігурації / etc / fstab. щоб RAID-розділ монтувався автоматично при завантаженні системи.
Розширення масиву (додавання і заміна дисків)
Ця команда додає новий «диск» (а вірніше розділ) в масив md0. Доданий диск вважається порожнім і резервним. Його можна використовувати для розширення розміру масиву або він буде автоматично використаний (в масивах, що забезпечують відмовостійкість) в якості заміни для вийшов з ладу диска.
Для розширення обсягу масиву (якщо звичайно тип масиву допускає розширення) вказується ключ -G (--grow) і нове число дисків масиву за допомогою ключа -nX (--raid-devices = X).
Процес реструктурування масиву виконується в фоновому режимі і зазвичай займає багато годин. Спостерігати за ходом процесу можна переглядаючи файл / proc / mdstat. В принципі можна розширювати і змонтовані масиви - це не небезпечно, але це збільшує час реструктуризації. За замовчуванням, швидкість реструктуризації обмежена, але її можна змінити
Розширення масиву не збільшує автоматично розмір файлової системи на ній знаходиться. Тому потім потрібно розширити файлову систему явно. Для того щоб упевнитися, що розширення відбулося без помилок можна перевірити цілісність файлової системи.
видалення масиву
Очищаємо суперблоці RAID на розділах, з яких зібраний масив.
відомі проблеми
Часта помилка при створенні RAID пристроїв полягає в тому, що dmraid-driver бере керування над усіма пристроями, які повинні були використовуватися в новому RAID пристрої. Буде видано повідомлення про помилку такого виду:
mdadm: Can not open / dev / sdb1: Device or resource busy
Щоб вирішити цю проблему, ви повинні зібрати новий образ initrd (initramfs) без dmraid-driver. Приклад для ядра «2.6.18-8.1.6.el5» -kernel:
Після цього, система повинна бути перезавантажена з новим initrd (initramfs). Відредагуйте ваш /boot/grub/grub.conf щоб вказати новий initrd (initramfs).
Дивитися що таке "Mdadm" в інших словниках:
Western Digital My Book - My Book серія зовнішніх жорстких дисків виробництва компанії Western Digital. Випускається дев'ять варіантів (editions) My Book: Essential Edition, Home Edition, Office Edition, Mirror Edition, Studio Edition, Premium Edition, Pro Edition, ... ... Вікіпедія
Standard RAID levels - The standard RAID levels are a basic set of RAID configurations and employ striping, mirroring, or parity.The standard RAID levels can be nested for other benefits (see Nested RAID levels). Concatenation (SPAN) The controller treats each drive ... ... Wikipedia
Data corruption - Photo data corruption; in this case, a result of a failed data recovery from a hard disk drive Data corruption refers to errors in computer data that occur during writing, reading, storage, transmission, or processing, which introduce unintended ... ... Wikipedia
Non-standard RAID levels - Main article: RAID Although all RAID implementations differ from the specification to some extent, some companies have developed non standard RAID implementations that differ substantially from the standard. Non RAID drive architectures ... ... Wikipedia