1. Откъде дойде тази поредица
След поредицата за Docker получих няколко съобщения с горе-долу един и същ въпрос: „А как виртуализираш нещата, които не искаш или не можеш да контейнеризираш?“. Отговорът в моя случай е Proxmox VE — от няколко години е основата, върху която стои и домашната ми лаборатория, и част от инфраструктурата, с която работя професионално.
Docker поредицата тръгна по същия начин: не като теория, а като записан наученото по трудния начин. Proxmox поредицата ще следва същия принцип. Няма да преразказвам официалната документация — тя си съществува и е добра. Ще пиша това, което документацията обикновено пропуска: защо нещо се чупи в 2 през нощта, защо едно решение изглежда добро на теория, но е лошо на практика, и какво бих направил различно, ако започвах отначало.
2. Какво е Proxmox VE — накратко, без да изпреварвам темите
Proxmox VE (Virtual Environment) е open-source платформа за виртуализация, изградена върху Debian. Комбинира два различни свята под един web интерфейс:
- KVM — за пълноценни виртуални машини (VMs) с отделен kernel всяка;
- LXC — за системни контейнери, които споделят kernel-а на host-а, но иначе се държат като самостоятелна Linux система.
Тази комбинация е причината, поради която не мисля за Proxmox като за „поредния хипервайзор“. Той ми позволява да реша за всяка отделна задача дали ѝ трябва пълна изолация на ниво kernel (VM), или ѝ стига по-лек, по-бърз контейнер (LXC) — без да сменям платформа.
Debian + Proxmox stack
пълни виртуални машини
системни контейнери
3. Защо не VMware, Hyper-V или голия libvirt
Не пиша това, за да убеждавам никого да напусне текущата си платформа — всяка от изброените има място, в което е разумен избор. Ето обаче честната сметка, която направих аз:
3.1. VMware ESXi / vSphere
Технически солиден, но след промените в лицензионната политика на Broadcom, за домашна лаборатория и за по-малки инфраструктури спря да бъде разумен вариант финансово. Free ESXi вече не съществува в предишния си вид. Не строя нещо, което ще трябва да пренаписвам заради решение на чужд отдел по продажбите.
3.2. Hyper-V
Добро решение, ако вече живееш в Windows Server екосистема. Аз не живея — по-голямата част от работата ми е в Linux и следователно нативната Linux интеграция на Proxmox (storage, networking, cgroups) ми пасва по-директно.
3.3. Голия libvirt/virsh
Това е в основата на Proxmox все пак. Разликата е, че Proxmox добавя клъстеризация, web UI, storage management, backup система (Proxmox Backup Server) и API — неща, които иначе бих сглобявал ръчно. Мога да го направя сам, но не е ефективно използване на времето ми за инфраструктура, която трябва да е предвидима, а не арт проект.
4. Философията на тази поредица
Три неща ще следвам последователно във всяка следваща част:
- Практика преди теория. Ще обяснявам концепция само тогава, когато има конкретна ситуация, в която тя има значение — не като абстрактен списък от дефиниции.
- Показвам и грешките. Ще споменавам решенията, които съм взимал и после съм отменял, защото на практика създаваха повече проблеми, отколкото решаваха.
- Без сляпо копиране на команди. Всяка команда ще е придружена от обяснение защо я използвам точно така, а не по друг начин — за да можеш да я адаптираш към собствената си среда, а не просто да я преписваш.
5. Какво предстои в поредицата
Структурата по-долу не е финална до последната запетая — може да добавя или преподредя части според въпросите, които получавам. Ето обаче реалистичната карта на пътя:
hardware избор, инсталация, web UI, първи настройки
кой storage backend за какво, thin provisioning, snapshots
създаване, CPU/RAM tuning, disk passthrough, cloud-init
privileged vs unprivileged, kога VM и кога LXC
сегментация, изолация, реални мрежови схеми
retention политики, restore тестове, защо backup без тест не е backup
quorum, fencing, кога HA реално си заслужава
repositories, subscription vs no-subscription, хигиена на host-а
Умишлено оставям място и за части, които ще се появят по-нататък — например GPU passthrough, мониторинг с Proxmox + external инструменти, и миграция от друга платформа към Proxmox. Ще ги добавям, когато имам нещо реално да споделя за тях, а не защото „трябва да ги има в списъка“.
6. Какво предполагам, че вече имаш
Тази поредица не тръгва от „какво е виртуализация“. Предполагам следната база:
| Предполагам, че имаш | Защо |
|---|---|
| Базово разбиране на Linux (shell, файлова система, permissions) | Proxmox host-ът е Debian отдолу — работиш с него като с Linux сървър |
| Основни мрежови понятия (IP, subnet, VLAN на ниво концепция) | Networking частите разчитат на това, не го обяснявам от нула |
| Машина или сървър, на който можеш да инсталираш Proxmox | Не е задължително enterprise хардуер — стар desktop или mini PC е достатъчен за начало |
7. Как препоръчвам да четеш тази поредица
Ако вече имаш работещ Proxmox host, можеш да прескочиш направо до частта, която ти трябва в момента — всяка част е написана да стои сама по себе си доколкото е възможно.
Ако тръгваш от нулата, препоръчвам последователността по-горе. Storage и network решенията, които вземеш в началото (Част 3 и Част 6), пряко влияят на това колко лесно ще ти е по-нататък с backup и clustering. Обратното преподреждане е възможно, но създава повече преработка накрая.
Заключение
Proxmox не е магическа кутия, която прави виртуализацията лесна сама по себе си. Той е добър инструмент, който прави правилните неща — ако знаеш какво правиш — забележимо по-удобни. Ако не знаеш какво правиш, той просто ти дава по-удобен начин да си създадеш проблем по-бързо.
Целта на тази поредица е да стигнеш до първия вариант. Не защото ще запаметиш команди, а защото ще разбираш какво реално правят те и защо избираш точно тях.
В следващата част минавам директно на практика: избор на hardware, самата инсталация на Proxmox VE и първите настройки, които правя на всеки нов host, преди да сложа върху него каквато и да е VM или контейнер.