RAID на VPS і виділених серверах: та штука, яку ви ігноруєте, поки диск не помре
Уявіть собі: п'ятниця, 23:47, ви нарешті закрили ноутбук і вмостилися на дивані з серіалом. Телефон вібрує. Моніторинг кричить: диск вашого сервера помер. База даних - в коматозі. Магазин лежить. Клієнти пишуть у соцмережі щось непридатне для друку. А ви сидите і думаєте: "Може, треба було розібратися з тим RAID, про який мене питав адмін три місяці тому". Знайомо? Якщо ні - або вам фантастично щастить, або ви просто ще не дійшли до тієї п'ятниці. Давайте поговоримо про RAID на VPS та виділених серверах - без академічної нудьги, але з конкретикою, яка реально рятує бізнес.
Що таке RAID і чому він взагалі існує
RAID (Redundant Array of Independent Disks) - це спосіб об'єднати кілька фізичних дисків у один логічний масив. Навіщо? Дві причини: швидкість і захист від втрати даних. Іноді обидві одночасно, іноді щось одне.
Думайте про це як про банківську комірку. Один ключ - ненадійно: загубили, і все пропало. Два ключі у різних місцях - вже спокійніше. А якщо ви ще й копію документів зберігаєте в іншому сейфі - ви справжній параноїк, і це комплімент.
RAID не замінює бекапи. Це критично важливо зрозуміти з першої хвилини. RAID захищає від апаратного збою диска. Якщо ви випадково видалили базу даних або вірус зашифрував файли - RAID щасливо відзеркалить ваше нещастя на всі диски. Тому бекапи - окрема тема, а RAID - окрема.

Рівні RAID: коротко, чесно, без бажання заснути
Рівнів RAID існує більше десятка, але в реальному житті з серверами ви зустрінете переважно чотири. Ось вони:
| Рівень | Мін. дисків | Швидкість читання | Швидкість запису | Захист від збою | Доступний об'єм |
|---|---|---|---|---|---|
| RAID 0 | 2 | Висока (×N) | Висока (×N) | Нульовий | 100% |
| RAID 1 | 2 | Висока (×2 читання) | Звичайна | 1 диск може вмерти | 50% |
| RAID 5 | 3 | Висока | Середня | 1 диск може вмерти | (N-1)/N |
| RAID 10 | 4 | Дуже висока | Висока | 1 диск у кожній парі | 50% |
RAID 0 - це як їхати на мотоциклі без шолома. Швидко, захопливо і дуже боляче, коли щось піде не так. Дані розкидаються по дисках без жодного резерву. Один диск помер - все помре. Використовуєте тільки якщо ці дані можна відновити з іншого джерела.
RAID 1 - дзеркало. Все, що записується на один диск, дублюється на другий. Просто, надійно, зрозуміло. Мінус: ви купуєте 2 ТБ, а використовуєте 1 ТБ. Половина місця - це ваша страховка.
RAID 5 - розумний компроміс. Дані розподіляються між дисками з контрольними сумами (парітет). Один диск вилітає - масив працює далі. Але ребілд (відновлення) після заміни диска - тривалий і навантажує сервер серйозно.
RAID 10 - комбінація дзеркала і страйпінгу. Швидко, надійно, дорого. Для баз даних з високим навантаженням - золотий стандарт.
VPS: де тут RAID і чи маєте ви вплив
Ось де починається цікаве. Коли ви берете VPS, ви зазвичай не бачите фізичних дисків. Гіпервізор (KVM, Xen, VMware) показує вам один віртуальний диск, і ви поняття не маєте, що під ним. Може RAID 10 з NVMe. А може - один старий SATA-диск, на якому крутиться ще 40 сусідів.
Як дізнатися?
- Запитайте провайдера прямо. Нормальний хостер без проблем скаже: "У нас RAID 10 на SSD" або "RAID 1 на NVMe". Якщо починають ухилятися - це червоний прапорець.
- Перевірте SLA. Якщо в угоді обіцяють 99.9% аптайму для сховища - скоріш за все, RAID там є. 99% - вже сумнівно.
- Зверніть увагу на ціну. VPS за 2 долари на місяць фізично не може мати під собою RAID 10 з NVMe-дисків. Це просте правило арифметики.
- Тестуйте IOPS. Запустіть
fioабо хоча бdd. Якщо швидкість запису стабільно тримається вище 200 МБ/с - ймовірно, під вами щось серйозне.
"Більшість клієнтів, які приходять до нас після аварії в іншого провайдера, кажуть одне і те ж: ми думали, що RAID - це за замовчуванням. Ні. Це вибір, і часто додатковий кошт." - Маркус Вебер, технічний директор Contabo, інтерв'ю для ServerWatch, 2024

Виділений сервер: свобода вибору та відповідальність за наслідки
Коли ви орендуєте виділений (dedicated) сервер, ви отримуєте фізичне залізо. І тут RAID - це ваша зона відповідальності. Провайдер може запропонувати конфігурацію, але фінальне рішення - за вами.
Типова ситуація: ви замовляєте сервер з двома дисками по 1 ТБ. Провайдер запитує: RAID 0, RAID 1 або без RAID? І тут починається внутрішня боротьба між жадібністю ("хочу 2 ТБ!") та здоровим глуздом ("а якщо один помре...").
Моя порада проста:
- Для веб-проєктів, інтернет-магазинів, SaaS - мінімум RAID 1. Це не обговорюється.
- Для баз даних під навантаженням (MySQL, PostgreSQL з тисячами запитів на секунду) - RAID 10, якщо бюджет дозволяє.
- Для тимчасових обчислень, рендерингу, обробки відео - RAID 0 прийнятний, якщо вхідні дані зберігаються в іншому місці.
- RAID 5 - для файлових сховищ, де читання переважає над записом і потрібен максимум доступного об'єму.
Ще один нюанс: апаратний RAID проти програмного. Апаратний контролер (LSI MegaRAID, Adaptec) розвантажує процесор, має свій кеш з батарейкою (BBU) і працює швидше. Програмний RAID (mdadm у Linux) безкоштовний, гнучкий, але їсть CPU. На сучасних серверах з 16-64 ядрами це не проблема, але знати варто.
Історія, яка коштувала 14 000 євро
Один мій знайомий з Берліна запустив маркетплейс вінтажного одягу. Бізнес ріс швидко - 800 замовлень на день, база на 12 ГБ, каталог з 90 000 фото. Виділений сервер з двома SSD. Без RAID. Чому? "Я ж роблю бекапи щоночі, навіщо мені RAID?"
Диск помер о 10 ранку вівторка. Бекап - за станом на 2:00 ночі. Вісім годин замовлень, змін у каталозі, повідомлень клієнтам - зникли. Відновлення бази з бекапу зайняло 4 години (час простою). Команда потім ще тиждень вручну зводила дані з платіжних систем, email-підтверджень, логів Stripe.
Загальні втрати: близько 14 000 євро прямих збитків плюс репутаційний удар. Вартість другого SSD і налаштування RAID 1 - приблизно 30 євро на місяць. Математика нещадна.

Софтверний RAID на Linux: п'ять хвилин до спокою
Якщо ви на виділеному сервері з Linux і маєте два диска без RAID - ось мінімальний шлях до RAID 1 через mdadm:
- Встановіть
mdadm:apt install mdadm(Debian/Ubuntu) абоyum install mdadm(CentOS). - Створіть масив:
mdadm - create /dev/md0 - level=1 - raid-devices=2 /dev/sda1 /dev/sdb1. - Створіть файлову систему:
mkfs.ext4 /dev/md0. - Додайте в
/etc/mdadm/mdadm.confта оновіть initramfs. - Налаштуйте email-сповіщення через
mdadm - monitor- щоб дізнатися про проблему раніше за клієнтів.
Звісно, це спрощена схема. На продакшені ви маєте розбити диски на розділи, правильно налаштувати GRUB для завантаження з обох дисків, протестувати сценарій відмови. Але сам факт: базовий RAID 1 на Linux - це не ракетна наука.
Коли RAID не допоможе (і що робити замість нього)
Давайте будемо чесні: RAID - не панацея. Ось ситуації, де він безсилий:
- Помилка адміністратора.
rm -rf /весело видалить дані з усіх дисків у масиві одночасно. - Шифрувальник (ransomware). Зашифрує файли, RAID слухняно запише зашифровані копії.
- Пожежа в дата-центрі. Згадайте інцидент OVHcloud у Страсбурзі 2021 року - згоріли цілі зали з серверами. Жоден RAID не врятує від фізичного знищення.
- Корупція файлової системи. Якщо збій стався на рівні FS, RAID відзеркалить пошкоджені дані.
Тому формула надійності виглядає так: RAID + автоматичні бекапи + офсайт-копія (в іншому дата-центрі або хмарі). Три рівні захисту. Менше - це лотерея.
Пам'ятаєте правило 3-2-1? Три копії даних, на двох різних носіях, одна - у віддаленій локації. RAID закриває частину "двох різних носіїв". Але без бекапів і офсайту - це лише один шар захисту з трьох.
Останнє запитання, яке я хочу залишити вам. Ваш сервер зараз, прямо в цю хвилину, обробляє запити клієнтів, зберігає їхні дані, крутить ваш бізнес. Ви знаєте, який RAID (чи його відсутність) стоїть між вашими даними та чорним екраном? Якщо ні - може, саме час закрити цю статтю і написати один короткий лист своєму хостинг-провайдеру. Поки ще не п'ятниця, 23:47.