Mdadm настройка

Управління програмним RAID-масивом в Linux виконується за допомогою програми mdadm.

У програми mdadm є кілька режимів роботи.

Assemble (збірка) Зібрати компоненти раніше створеного масиву в масив. Компоненти можна вказувати явно, але можна і не вказувати - тоді виконується їх пошук по суперблоці. Build (побудова) Зібрати масив з компонентів, у яких немає суперблоков. Не виконуються ніякі перевірки, створення та збирання масиву в принципі нічим не відрізняються. Create (створення) Створити новий масив на основі зазначених пристроїв. Використовувати суперблоці розміщені на кожному пристрої. Monitor (спостереження) Стежити за зміною стану пристроїв. Для RAID0 цей режим не має сенсу. Grow (розширення або зменшення) Розширення або зменшення масиву, включаються або видаляються нові диски. Incremental Assembly (Інкрементальний збірка) Додавання диска в масив. Manage (управління) Різноманітні операції з управління масивом, такі як заміна диска і позначка як збійного. Misc (різне) Дії, які не належать до жодного з перерахованих вище режимів роботи. Auto-detect (автоообнаруженіе) Активація автоматично виявляються масивів в ядрі Linux.

Налаштування програмного RAID-масиву

Розглянемо як налаштувати RAID-масиву 5 рівня на трьох дискових розділах. Ми будемо використовувати розділи:

У тому випадку якщо розділи інші, не забудьте використовувати відповідні імена файлів.

створення розділів

Потрібно визначити на яких фізичних розділах буде створюватися RAID-масив. Якщо розділи вже є, потрібно знайти вільні (fdisk -l). Якщо розділів ще немає, але є неразмеченное місце, їх можна створити за допомогою програм fdisk або cfdisk.

Розмонтування

Якщо ви будете використовувати створені раніше розділи, обов'язково размонтіруйте їх. RAID-масив не можна створювати поверх розділів, на яких знаходяться змонтовані файлові системи.

Зміна типу розділів

Бажано (але не обов'язково) змінити тип розділів, які будуть входити в RAID-масив і встановити його рівним FD (Linux RAID autodetect). Змінити тип розділу можна за допомогою fdisk.

Розглянемо як це робити на прикладі розділу / dev / hde1.

Аналогічним чином потрібно змінити тип розділу для всіх інших розділів, що входять в RAID-масив.

Створення RAID-масиву

Створення RAID-масиву виконується за допомогою програми mdadm (ключ --create). Ми скористаємося опцією --level. для того щоб створити RAID-масив 5 рівня. За допомогою ключа --raid-devices вкажемо пристрої, поверх яких буде збиратися RAID-масив.

Якщо ви хочете відразу створити масив, де диска не вистачає (degraded) просто вкажіть слово missing замість імені пристрою. Для RAID5 це може бути тільки один диск; для RAID6 - не більше двох; для RAID1 - хоч греблю гати, але повинен бути як мінімум один робочий.

Перевіряє правильність складання

Зверніть увагу на те, як називається новий RAID-масив. У нашому випадку він називається / dev / md0. Ми будемо звертатися до масиву з цього імені.

Створення файлової системи поверх RAID-масиву

Новий RAID-розділ потрібно відформатувати, тобто створити на ньому файлову систему. Зробити це можна за допомогою програми з сімейства mkfs. Якщо ми будемо створювати файлову систему ext3, скористаємося програмою mkfs.ext3.

Має сенс для кращої продуктивності файлової системи вказувати при створенні кількість дисків в рейді і кількість блоків файлової системи яке може поміститися в один страйп (chunk), це особливо важливо при створенні масивів рівня RAID0, RAID5, RAID6, RAID10. Для RAID1 (mirror) це не має значення так як запис йде завжди на один device, a в інших типах рейдів дата записується послідовно на різні диски порціями відповідними розміром stripe.Напрімер якщо ми використовуємо RAID5 з 3 дисків, з дефолтних розміром Страйп в 64К і використовуємо файлову систему ext3 з розміром блоку в 4К то можна викликати команду mkfs.ext ось так:

stripe-width зазвичай розраховується як stride * N (N це дата диски в масиві - наприклад в RAID5 - два дата диска і один parity) Для неменш популярній файлової системи XFS треба вказувати не кількість блоків файлової системи відповідних розміром stripe в масиві, а безпосередньо розмір самого страйп

Створення конфігураційного файлу mdadm.conf

Система сама не запам'ятовує які RAID-масиви їй потрібно створити і які компоненти в них входять. Ця інформація знаходиться в файлі mdadm.conf.

Рядки, які слід додати в цей файл, можна отримати за допомогою команди

Ось приклад її використання:

Якщо файлу mdadm.conf ще немає, можна його створити:

Створення точки монтування для RAID-масиву

Оскільки ми створили нову файлову систему, ймовірно, нам знадобиться і нова точка монтування. Назвемо її / raid.

Зміна / etc / fstab

Для того щоб файлова система, створена на новому RAID-масиві автоматично монтувалася при завантаженні, додамо відповідний запис в файл / etc / fstab зберігає список автоматично монтованих при завантаженні файлових систем.

Монтування файлової системи нового RAID-масиву

Для того щоб отримати доступ до файлової системи, яка знаходиться на новому RAID-масиві, її потрібно змонтувати. Монтування виконується за допомогою команди mount.

Якщо нова файлова система додана в файл / etc / fstab. можна змонтувати її командою mount-a (змонтують все файлові системи, які повинні монтуватися при завантаженні, але зараз не змонтовані).

Можна змонтувати тільки потрібний нам розділ (за умови, що він зазначений в / etc / fstab).

Якщо розділ в / etc / fstab не вказано, то при монтуванні ми повинні задавати як мінімум два параметри - точку монтування і монтується пристрій:

Перевірка стану RAID-масиву

Інформація про стан RAID-масиву знаходиться в файлі / proc / mdstat.

Якщо у файлі інформація постійно змінюється, наприклад, йде Перезбірка масиву, то постійно змінюється файл зручно переглядати за допомогою програми watch:

Як виконати перевірку цілісності програмного RAID-масиву md0:

Як подивитися чи знайшлися якісь помилки в процесі перевірки програмного RAID-масиву по команді check або repair:

Проблема завантаження на багатодискових системах

У деяких посібниках з mdadm після початкової збірки масивів рекомендується додавати в файл /etc/mdadm/mdadm.conf висновок команди «mdadm --detail --scan --verbose»:

в якому жорстко прописані імена розділів (/ dev / sda1, / dev / sda2 в наведеному прикладі).

Якщо після цього відновити образ початкового завантаження (в Debian викликати 'update-initramfs -u' або 'dpkg-reconfigure mdadm'), імена розділів запишуться в файл mdadm.conf образу початкового завантаження і ви не зможете завантажитися з масиву, якщо конфігурація жорстких дисків зміниться (потрібні розділи отримають інші імена). Для цього не обов'язково додавати або прибирати жорсткі диски: в багатодискових системах їх імена можуть змінюватися від завантаження до завантаження.

Рішення: записувати в /etc/mdadm/mdadm.conf висновок команди «mdadm --detail --scan» (без --verbose).

При цьому в файлі mdadm.conf будуть присутні UUID розділів, що складають кожний RAID-масив. При завантаженні системи mdadm знаходить потрібні розділи незалежно від їх символічних імен по UUID.

mdadm.conf, витягнутий з образу початкового завантаження Debian:

Результат дослідження розділу командою 'mdadm --examine' "

Розділ c UUID 147c5847: dabfe069: 79d27a05: 96ea160b увійде до складу масиву, навіть якщо стане / dev / sdb1 при черговій завантаженні системи.

Взагалі, існує 2 файли mdadm.conf, що впливають на автоматичну збірку масивів:

  • один при завантаженні системи, запісивется в образ початкового завантаження при його оновленні;
  • інший перебуває в каталозі / etc / mdadm / і впливає на автоскладання масивів всередині працюючої системи.

Відповідно, ви можете мати інформацію:

1) в образі початкового завантаження (ОНЗ) і в /etc/mdadm/mdadm.conf;

2) тільки в ОНЗ (потрапляє туди при його створенні оновленні);

3) тільки в /etc/mdadm/mdadm.conf;

У тому місці, де є mdadm.conf, збірка відбувається за правилами; де немає - непередбачувано.
Примітка: якщо ви не оновили ОНЗ після створення RAID-масивів, їх конфігурація все одно в нього потрапить - при оновленні образу іншою програмою / при оновленні системи (але ви не будете про це знати з усіма наслідками, що випливають).

Подальша робота з масивом

Позначка диска як збійного

Диск в масиві можна умовно зробити збійних, ключ --fail (-f):

Видалення збійного диска

Збійний диск можна видалити за допомогою ключа --remove (-r):

Додавання нового диска

Додати новий диск в масив можна за допомогою ключів --add (-a) і --re-add:

Збірка існуючого масиву

Зібрати існуючий масив можна за допомогою mdadm - assemble. Як додатковий аргумент вказується, чи потрібно виконувати сканування пристроїв, і якщо ні, то які пристрої потрібно збирати.

розширення масиву

Розширити масив можна за допомогою ключа --grow (-G). Спочатку додається диск, а потім масив розширюється:

Перевіряємо, що диск (розділ) додався:

Якщо розділ дійсно додався, ми можемо розширити масив:

Опція --raid-devices вказує нове кількість дисків використовується в масиві. Наприклад, було 3 диска, а тепер розширюємо до 4-х - вказуємо 4.

Рекомендується поставити файл бекапа на випадок переривання перестроювання масиву, наприклад додати:

При необхідності, можна регулювати швидкість процесу розширення масиву, вказавши потрібне значення в файлах

Переконайтеся, що масив розширився:

Потрібно оновити конфігураційний файл з урахуванням зроблених змін:

Відновлення відкладеної синхронізації

P.S .. Якщо ви побачили «active (auto-read-only)» в файлі / proc / mdstat. то можливо ви просто нічого не записували в цей масив. Наприклад, після монтування розділу і будь-яких змін в примонтировать каталозі, статус автоматично змінюється:

перейменування масиву

Для початку отмонтіруйте і зупиніть масив:

Потім необхідно пересобрать як md5 кожен з розділів sd [abcdefghijk] 1

видалення масиву

Для початку отмонтіруйте і зупиніть масив:

Потім необхідно затерти superblock кожного зі складових масиву:

Якщо дію вище не допомогло, то затираємо так:

Читайте інші цікаві статті

  • Mdadm настройка
    Створення програмного RAID на Debian
  • Mdadm настройка
    Автоматичне завантаження Ubuntu з неробочим RAID
  • Mdadm настройка
    Повільна синхронізація RAID - mdadm
  • Mdadm настройка
    10 фактів, які варто знати про RAID
  • Mdadm настройка
    Налаштування повідомлення про стан RAID масиву по email
  • Mdadm настройка
    FreeBSD: настройка newsyslog для ротації логів
  • Mdadm настройка
    Налаштування Munin під nginx на Debian Linux
  • Mdadm настройка
    Створення нових томів
  • Mdadm настройка
    Викачуємо сайти цілком - утиліта wget
  • Mdadm настройка
    TSUNG-тестування навантаження

Схожі статті