VPS та сервери

RAID-масиви на виділеному сервері: як один диск рятує бізнес, поки інший помирає

Уявіть: п'ятниця, вечір, ви нарешті закрили ноутбук і налили собі вина. Телефон вібрує - клієнт пише, що сайт лежить. Ви заходите на сервер, а там повідомлення: диск здох. Просто так, без попередження. Дані магазину, замовлення, каталог - все пішло разом із шматком кремнію, який вирішив піти на пенсію. Знайома ситуація? Якщо у вас виділений сервер або потужний VPS з фізичними дисками, це питання не "якщо", а "коли". І єдине, що стоїть між вами та катастрофою - правильно налаштований RAID-масив.

Що таке RAID і чому це не просто "резервне копіювання"

Починаючи з цього, давайте розвіємо головний міф. RAID - це не бекап. Повторюю: не бекап. Це технологія, яка об'єднує кілька фізичних дисків в один логічний масив. Мета? Або швидкість, або надійність, або і те, і інше одночасно.

Аналогія з життя: бекап - це фотографія вашого паспорта в телефоні. Корисна, якщо паспорт загубили. А RAID - це коли у вас два однакові паспорти, і поки один намок під дощем, ви дістаєте другий з кишені і спокійно проходите контроль. Сервер продовжує працювати, клієнти нічого не помічають.

Ключова думка: RAID захищає від апаратного збою в реальному часі, але не замінює резервне копіювання. Якщо ви випадково видалите базу даних - RAID радісно видалить її на всіх дисках одночасно.

П'ять рівнів RAID, які вам реально потрібно знати

Теоретично рівнів RAID більше десятка. Практично - для веб-серверів і VPS вам знадобляться максимум п'ять. Ось вони, без академічної нудьги:

Рівень RAID Мін. дисків Корисний об'єм Швидкість читання Захист від збою Кому підходить
RAID 0 2 100% Дуже висока Нульовий Тимчасові дані, рендеринг
RAID 1 2 50% Висока 1 диск Малий бізнес, блоги
RAID 5 3 67-94% Висока 1 диск Інтернет-магазини, CMS
RAID 6 4 50-88% Висока 2 диски Критичні бази даних
RAID 10 4 50% Найвища 1 диск на пару Високонавантажені проєкти

RAID 0 - це як їхати без ременя безпеки зі швидкістю 200 км/год. Швидко? Безумовно. Безпечно? Один збій - і всі дані зникають. Використовуйте тільки для даних, які не шкода втратити.

RAID 1 - класичне "дзеркало". Два диски, ідентичний вміст. Помер один - другий працює далі. Просто, надійно, зрозуміло. Мінус - ви платите за два диски, а отримуєте об'єм одного.

RAID 5 - золота середина для більшості серверних проєктів. Дані розподіляються між трьома і більше дисками з контрольними сумами (паритетом). Один диск вилетів - масив продовжує працювати і автоматично відновлюється після заміни.

RAID 10 - комбінація дзеркалювання та розподілу. Мрія для баз даних із тисячами запитів на секунду. Коштує вдвічі дорожче, але й працює як танк.

Коли VPS вдає, що має RAID, а коли - справді має

Ось де починається цікаве. Ви орендуєте VPS за $20 на місяць. Провайдер пише "RAID-10 storage" у специфікаціях. Але що це означає для вас?

У випадку віртуального сервера RAID налаштований на рівні хост-машини - фізичного сервера, на якому живе ваш VPS разом з десятками інших. Ви не контролюєте цей масив. Не можете вибрати рівень. Не можете перевірити стан дисків. По суті, ви довіряєте хостинг-провайдеру.

"Більшість клієнтів не запитують про тип RAID на хості. Але саме він визначає, що станеться з вашими даними о 3 ночі, коли диск вирішить піти з чату. Запитуйте провайдера прямо: який RAID, які диски, яка політика заміни." - Том Хендерсон, інженер дата-центру Hetzner

З виділеним сервером ситуація інша. Ви отримуєте фізичне залізо. Ви вирішуєте: програмний чи апаратний RAID, який рівень, які диски. Повний контроль - і повна відповідальність.

  • VPS - RAID налаштований провайдером, ви тільки використовуєте результат
  • Виділений сервер - ви обираєте і конфігуруєте RAID самостійно
  • Cloud VPS (AWS, GCP) - реплікація на рівні інфраструктури, RAID як концепт замінений іншими механізмами

Програмний проти апаратного: битва, яка тривала 20 років

Раніше відповідь була однозначною: апаратний RAID-контролер або нічого. Спеціальний чіп на платі, власна батарея (BBU) для захисту кешу при відключенні живлення, окремий процесор для обчислення паритету. Коштувало це від $200 до $2000.

Зараз усе складніше. Ось чому:

  1. Процесори стали надпотужними. Навіть бюджетний Xeon обчислює паритет RAID 5 навіть не помітивши навантаження. Програмний RAID (Linux mdadm, ZFS) більше не "повільна альтернатива".
  2. NVMe-диски зробили контролери вузьким місцем. Апаратний RAID-контролер з інтерфейсом SAS може не встигати за чотирма NVMe-дисками. Парадокс.
  3. ZFS змінив правила гри. Ця файлова система має вбудований RAID (називається RAIDZ), перевірку цілісності даних, стиснення та знімки. Все в одному пакеті. Безкоштовно.
  4. Апаратний контролер - єдина точка відмови. Якщо він зламається, вам потрібен точно такий самий контролер для відновлення масиву. Спробуйте знайти LSI 9260 через 5 років.

Для більшості виділених серверів у 2025 році програмний RAID на базі mdadm або ZFS - оптимальний вибір. Апаратний контролер має сенс для legacy-інфраструктур або специфічних enterprise-задач з SAS-дисками.

Момент, коли RAID вас зрадить: rebuild та його небезпеки

Ось сценарій, про який рідко говорять. У вас RAID 5 з трьох дисків по 4 ТБ. Один диск загинув. Масив деградував, але працює. Ви заміняєте диск, починається rebuild - процес відновлення масиву. І ось тут чекає пастка.

Rebuild великого масиву на HDD-дисках може тривати 12-48 годин. Весь цей час масив працює в деградованому режимі. Навантаження на диски, що залишилися, зростає багаторазово. І якщо в цей момент помре другий диск - всі дані втрачені. RAID 5 витримує один збій, не два.

Наскільки це реально? Дуже. Диски з однієї партії часто мають схожий ресурс. Якщо один пропрацював 4 роки і помер - його сусід, ймовірно, теж на межі. Це як лампочки в коридорі: одна перегоріла - решта за нею.

Що робити?

  • Використовуйте RAID 6 або RAID 10 для критичних даних - вони витримують два одночасні збої
  • Обирайте SSD замість HDD - rebuild SSD-масиву займає хвилини, а не дні
  • Тримайте hot spare (запасний диск у сервері) - rebuild почнеться автоматично, без вашої участі
  • Моніторьте S.M.A.R.T. - показники здоров'я дисків попередять про проблему за тижні до смерті

Практичний чек-лист: як обрати RAID для вашого сервера

Досить теорії. Ось конкретний алгоритм, який я використовую, коли налаштовую сервер клієнту:

  1. Визначте критичність даних. Сайт-візитка з контентом у Git? RAID 1 вистачить. Інтернет-магазин з базою на 500 000 товарів і замовленнями в реальному часі? RAID 10 мінімум.
  2. Порахуйте бюджет на диски. RAID 1 і RAID 10 "з'їдають" 50% дискового простору. RAID 5 - тільки один диск з масиву. Якщо у вас чотири диски по 1 ТБ, RAID 10 дасть 2 ТБ, а RAID 5 - 3 ТБ.
  3. Оцініть характер навантаження. Багато випадкових записів (бази даних, поштові сервери) - RAID 10. Переважно читання (CDN, файлове сховище) - RAID 5 або RAID 6.
  4. Виберіть тип RAID. На сучасному сервері з NVMe - програмний mdadm або ZFS. На сервері з SAS-дисками та існуючим контролером - апаратний.
  5. Налаштуйте моніторинг і сповіщення. Масив без моніторингу - як автомобіль без приладової панелі. Все працює, поки раптом не перестане.

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

До речі, пам'ятаєте пожежу в дата-центрі OVH у Страсбурзі в березні 2021 року? Тисячі серверів з ідеальними RAID-масивами перетворилися на попіл. Ті, хто мав зовнішні бекапи - відновилися за дні. Решта - втратили все.

Тож перед тим як закрити цю статтю і піти далі скролити стрічку, задайте собі одне просте запитання: якщо прямо зараз один із дисків на вашому сервері помре - ви взагалі про це дізнаєтесь? І якщо дізнаєтесь - що станеться далі? Відповідь може коштувати вам бізнесу.