99.5% аптайму. Не AWS. Не Azure. Жодної managed-хмари з мільярдним SLA за спиною. Просто Proxmox у домашній лабораторії, яку я зібрав з нуля: три ноди тихо гудуть у квартирі й роблять саме ту роботу, для якої, як заведено думати, потрібен справжній дата-центр і контракт на підтримку.
Я збирав це не заради економії й точно не заради спокійного життя. Я збирав це заради однієї конкретної речі, якої не навчить жоден туторіал: що стається, коли залізо падає, а подзвонити нема кому.
Чому домашня лабораторія виявилася кориснішою за ще один сертифікат
Роками я колекціонував стандартний набір. Курси. Хмарні пісочниці. Сертифікати, які протухають тієї ж миті, щойно закінчився іспит. Усе це непогано. Але кожна з цих штук живе всередині страхувальної сітки, яку натягнув хтось інший. Підняв VM, зламав, видалив — і єдиний наслідок це рахунок.
Домашня лабораторія прибирає сітку. Коли диск помирає о другій ночі, це твій диск. Коли мережа починає блимати, це твоя проводка. Немає тікета, немає ескалації, немає інженера на іншому кінці світу, який уже сто разів лагодив саме цю проблему. Є лише ти, документація і проблема. Ось цей тиск і є весь сенс.
Архітектура
Ось що реально крутиться:
- Кластер Proxmox VE з high availability на кількох нодах, щоб жодна машина не була єдиною точкою відмови.
- Спільне сховище через Ceph і NFS — саме воно дає живу міграцію VM між хостами без простою.
- Мережева інфраструктура з VLAN, bonding і резервуванням, закладеним із самого початку, а не прикрученим потім.
- UPS на все це господарство, бо живлення у квартирі — це не ввід дата-центру.
І частина, яка мені найважливіша: ніщо не створюється кліками. Провіжинінг іде через Terraform. Конфігурація — через Ansible. Жодних кліків у вебінтерфейсі, ніщо не робиться руками двічі. Якщо нода помре і її треба перезібрати, я перезбираю її з коду, а не з пам'яті та старого скриншота.
Тест, який реально має значення
Про high availability можна читати роками. Читати — це не те саме, що довіряти. Тому я провів єдиний тест, який щось важить.
Я висмикнув кабель живлення з живої, робочої ноди.
А потім дивився. VM із цієї ноди автоматично мігрували на здорові хости. Спрацював fencing і ізолював мертву ноду, щоб вона не зіпсувала спільний стан. Сервіси повернулися за хвилини, а не за години. Нуль втрачених даних.
Цей один момент навчив мене HA краще, ніж будь-який сертифікат. Не тому що теорія була новою, а тому що я нарешті в неї повірив. Я на власні очі бачив, як мій кластер тримає удар і їде далі.
«Працює» проти «працює надійно»
Головний урок із усієї цієї затії — прірва між «працює» і «працює надійно». Прірва величезна, і саме там тихо зупиняється більшість домашніх лабораторій і починається справжня інженерія.
Кілька звичок, які закрили для мене цей розрив:
- Моніторь усе. Prometheus і Grafana на кожній ноді, щоб бачити проблему до того, як вона стане аварією, а не після.
- Перевіряй відновлення, а не лише бекапи. Бекап, який ти жодного разу не відновлював, — це надія, а не бекап. Я відновлюю за розкладом і переконуюся, що дані реально на місці.
- Пиши документацію так, ніби її підтримуватиме хтось інший о третій ночі. Часто цей хтось — я сам, за кілька місяців, без жодного шматка сьогоднішнього контексту.
Саме такий підхід — ставитися до домашнього кластера як до продакшену — і відрізняє проєкт вихідного дня від справжньої інженерії. І він напряму переноситься в ентерпрайз, бо дисципліна однакова, чи то вибухне моя вітальня, чи платформа клієнта.
Хмара — це чужий комп'ютер
Я досі щодня працюю з AWS і Azure і не збираюся вмовляти вас їх кидати. Managed-хмара — правильна відповідь для більшості компаній у більшості випадків. Але вона ще й ховає механіку. Ховає режими відмови. Дозволяє роками котити в прод, жодного разу по-справжньому не побачивши, що стається, коли падає нода.
Домашня лабораторія мені це показує. Кожен Terraform-модуль, який я пишу, спершу обкатується тут. Кожен патерн моніторингу. Кожна стратегія бекапів. Інженерія рівня продакшену на домашньому залізі — і це залізо чесне зі мною так, як консоль хмари не буває чесною ніколи.
Хмара — це чужий комп'ютер. Іноді найкращий учитель — твій власний.
Чого тебе навчила твоя домашня лабораторія з того, чого продакшен так і не зміг?