Диск падає не розкладом. Зазвичай це трапляється в п'ятницю ввечері, коли на сервері немає RAID, а дані не бекапилися тиждень. Наші інженери стикаються з цим регулярно: клієнт дзвонить у паніці, а ми за годину піднімаємо масив і відновлюємо доступ. mdadm — стандартний інструмент для програмного RAID на Linux, і при правильному налаштуванні він працює роками без втручання. Ми гарантуємо коректну конфігурацію, яка переживе відмову диска та планове оновлення ядра. Наш досвід показує, що 90% проблем з RAID виникають через неправильне початкове налаштування. За 8 років роботи ми налаштували понад 50 RAID-масивів на серверах різної складності, включаючи критичні production-середовища з SLO 99.9%. Забезпечення відмовостійкості сервера починається з грамотного вибору рівня RAID та його налаштування.
Який рівень RAID обрати під задачу
Перед тим як запускати mdadm --create, варто зрозуміти, що саме потрібно захистити. Три сценарії зустрічаються найчастіше:
RAID 1 — дзеркалювання двох дисків. Простий, надійний, без зайвих обчислень. Підходить для системного розділу, БД невеликого об'єму, будь-яких критичних даних, де важлива швидкість відновлення. При відмові одного диска система продовжує працювати без зупинки.
RAID 5 — мінімум три диски, один використовується для парності. Дає баланс між ємністю та відмовостійкістю. Проблема: при rebuild на сучасних дисках 4TB+ процес займає 10–20 годин, і в цей період навантаження на диски, що залишилися, максимальне. Якщо другий диск не витримає — масив втрачено.
RAID 10 — дзеркало поверх страйпа. Вимагає мінімум чотири диски, але тримає відмову одного диска в кожній парі. На високонавантажених серверах з інтенсивним записом це найкращий варіант. RAID 10 як мінімум у 2 рази швидший за RAID 5 на операціях запису, як показано в нашому benchmark testing. Крім того, RAID 1 відновлюється в 5-10 разів швидше, ніж RAID 5.
| Параметр | RAID 1 | RAID 5 | RAID 10 |
|---|---|---|---|
| Мінімум дисків | 2 | 3 | 4 |
| Відмовостійкість | 1 диск | 1 диск | 1 диск у кожній парі |
| Швидкість читання | 2x | N-1 x | 2x |
| Швидкість запису | 1x | повільніше (парність) | 1x |
| Час відновлення | швидко | довго (10-20 год) | швидко |
| Рекомендований сценарій | Система, БД | Сховище, медіа | Високе навантаження |
Рівні RAID визначені стандартом SNIA
Як швидко відновити масив після відмови диска?
Відновлення RAID після збою вимагає дотримання правильної процедури. Гаряча заміна диска без простою:
- Додайте запасний диск у масив для автоматичної заміни при відмові:
mdadm /dev/md0 --add-spare /dev/sdd - При появі помилок S.M.A.R.T. позначте диск як failed, видаліть та додайте новий:
mdadm /dev/md0 --fail /dev/sdb mdadm /dev/md0 --remove /dev/sdb mdadm /dev/md0 --add /dev/sdb - Rebuild почнеться автоматично. Прогрес — у
/proc/mdstat. Обмежте швидкість, щоб не перевантажити продакшен:
echo 50000 > /proc/sys/dev/raid/speed_limit_max Як створити RAID масив і не втратити дані
Базове створення RAID 1 з двох дисків:
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
update-initramfs -uБез цього кроку після перезавантаження масив може не зібратися автоматично. Симптом: система завантажується з degraded масивом або взагалі не бачить /dev/md0.
Моніторинг стану:
cat /proc/mdstat mdadm --detail /dev/md0 Для налаштування email-сповіщень при деградації масиву в /etc/mdadm/mdadm.conf додається рядок MAILADDR (вкажіть вашу адресу) і вмикається демон: systemctl enable mdmonitor.
Додаткові налаштування моніторингу
Крім mdmonitor, можна використовувати Prometheus з node_exporter, який експортує метрики mdadm у /var/lib/node_exporter/textfile_collector/. Докладніше — в офіційній документації.
Чому важливий chunk size?
Параметр --chunk впливає на продуктивність, і його часто ігнорують при швидкому налаштуванні. Для RAID 5/6 з трьома дисками chunk 512K дає найкращий баланс для випадкового читання. Для RAID 10 з великими послідовними записами — 256K. Вибір неправильного чанка може знизити продуктивність на 30%.
Не менш важливе вирівнювання розділів. Сучасні диски з 4K-секторами та SSD вимагають вирівнювання початку розділу на межу 1MB. Якщо розділ створюється через fdisk без явного вказання, за замовчуванням все вирівнюється правильно. Але на старих системах або при ручному розрахунку циліндрів можна отримати зсув, який вб'є продуктивність вдвічі.
Типові помилки при самостійному налаштуванні
Два моменти, які регулярно зустрічаються при аудиті серверів:
-
Відсутній mdadm.conf. Масив створено, працює, але конфіг не збережено. Після планового оновлення ядра та
update-initfsсистема не підхопила конфігурацію. Підсумок: сервер піднімається в rescue mode з панікою про missing root device. -
RAID поверх партицій замість цілих дисків. Технічно працює, але при заміні диска потрібно заново розмітити розділ з точно такою ж геометрією. На практиці це зайвий крок, який забувають, і rebuild не стартує через невідповідність розмірів. Рекомендуємо будувати RAID поверх цілих дисків (
/dev/sdb,/dev/sdc), а вже всередині масиву створювати розділи.
Процес роботи та що входить
Ми підходимо до налаштування RAID системно:
- Аудит поточного обладнання та навантаження — заміряємо профіль I/O, визначаємо критичність.
- Проектування — обираємо рівень RAID, розраховуємо кількість дисків та chunk size.
- Розгортання — створюємо масив з урахуванням ваших інтерфейсів (SATA, SAS, NVMe).
- Тестування — навантажувальне тестування
fio, перевірка відмови гарячої заміни. - Моніторинг — налаштовуємо сповіщення через mdmonitor, Prometheus або Zabbix.
Що входить у роботу:
- Документація конфігурації RAID, mdadm.conf, процедури відновлення.
- Налаштування моніторингу та алертів (email, Slack).
- Інструкція з гарячої заміни дисків для вашого адміністратора.
- Підтримка протягом 30 днів після налаштування.
Вартість та терміни
| Задача | Час | Вартість (грн) |
|---|---|---|
| Створення RAID 1 на працюючому сервері без зупинки сервісів | 2–4 години | від 5000 |
| Налаштування RAID 5/10 з форматуванням та перенесенням даних | 4–8 годин | від 8000 |
| Аудит існуючого RAID, налаштування моніторингу та алертів | 2–3 години | від 3000 |
| Заміна деградованого масиву з відновленням | від 4 годин | від 6000 |
Замовте налаштування RAID під ключ. Напишіть нам — оцінимо проект. Термін виконання від 2 годин. Вартість від 5000 грн.







