Изкуственият интелект вече не е привилегия само на големите компании. Днес всеки може да създаде собствен ИИ сървър и да управлява данните си локално. В това ръководство ще ви покажа как да инсталирате пълноценен ИИ сървър в Proxmox. Ще използваме Ollama за управление на модели и Open WebUI за интерфейса.
Защо Proxmox за ИИ сървър?
Proxmox VE е мощна платформа за виртуализация. Тя е безплатна и с отворен код. За ИИ проекти Proxmox предлага няколко ключови предимства.
Първо, можете да изолирате различни услуги. Например ИИ модели в една виртуална машина, а база данни в друга. Второ, GPU passthrough позволява директен достъп до графичната карта. Това означава максимална производителност при обработка на модели.
Трето, лесно управлявате ресурсите. Разпределяте RAM, CPU ядра и дисково пространство според нуждите. Накрая, цялата система е флексибилна. Създавате snapshot-и преди промени и връщате назад при нужда.
Proxmox използва Debian като база. Това го прави стабилен и надежден за продължителна работа.
Хардуерни изисквания
Преди да започнем, нека разгледаме минималните изисквания за хардуер.
Процесор: Четири или повече ядра с поддръжка на виртуализация (VT-x за Intel или AMD-V за AMD). Процесорът трябва да поддържа IOMMU (Intel VT-d или AMD-Vi) за GPU passthrough.
Оперативна памет: Минимум 16 GB RAM за host системата. За да стартирате по-големи ИИ модели, препоръчвам 32 GB или повече. Всеки GB RAM ви позволява да стартирате по-сложни модели.
Графична карта: NVIDIA карта с поне 8 GB VRAM. Препоръчвам RTX 4060 Ti (16 GB) за средни модели или RTX 3090/4090 за професионална работа. AMD картите също работят, но имат по-ограничена поддръжка в Ollama.
Съхранение: Минимум 500 GB SSD за операционната система и модели. NVMe дисковете са най-добрият избор заради скоростта. Голямата памет е важна защото ИИ моделите заемат много място.
Мрежа: Гигабитова мрежова карта за бърз достъп до сървъра. Ако планирате да използвате сървъра от различни устройства, мрежата е критична.
Имайте предвид, че по-мощният хардуер означава по-бързи отговори. Моделът Llama 3 с 70B параметра изисква минимум 48 GB VRAM.
Подготовка на системата
Инсталация на Proxmox VE
Първата стъпка е да инсталираме Proxmox на вашия сървър.
Изтеглете последната версия на Proxmox VE ISO от официалния сайт (proxmox.com). В момента актуалната версия е 9.0-1. Използвайте Rufus или Balena Etcher за създаване на bootable USB устройство.
Поставете USB-то в сървъра и стартирайте от него. Изберете „Install Proxmox VE (Graphical)“ от менюто. Приемете лиценза и ще видите екрана за избор на твърд диск.
За дисковата конфигурация препоръчвам ZFS RAID1 ако имате два или повече диска. Това осигурява защита при повреда. ZFS автоматично открива и коригира грешки в данните.
Въведете hostname за сървъра (например „pve-ai-01.local“). Задайте статичен IP адрес извън DHCP обхвата на рутера. Например ако рутерът ви е 192.168.1.1, изберете 192.168.1.100. Уверете се, че gateway и DNS са правилно настроени.
След инсталацията рестартирайте системата. Достъпът до Proxmox е чрез браузър на адрес https://[IP-адрес]:8006.
Активиране на IOMMU в BIOS
IOMMU е критично за GPU passthrough. Тази технология позволява виртуалната машина да има пряк достъп до хардуера.
Рестартирайте сървъра и влезте в BIOS (обикновено с клавиш Del, F2 или F12). Търсете следните настройки в секцията Advanced или Virtualization.
За Intel процесори: Активирайте VT-d (Virtualization Technology for Directed I/O). Понякога се нарича Intel Virtualization Technology.
За AMD процесори: Активирайте IOMMU. На някои платки се нарича AMD-Vi.
Също така активирайте SR-IOV ако опцията присъства. За по-добра производителност включете Above 4G Decoding и Resizable BAR Support.
Важно: Деактивирайте CSM (Compatibility Support Module) или Legacy Boot. Proxmox трябва да е инсталиран в UEFI режим. Това е особено важно за AMD Radeon картите, които страдат от „reset bug“ проблема.
Запазете промените и рестартирайте.
Обновяване на системата
След инсталацията влезте в Proxmox shell през браузъра или чрез SSH.
Първо премахнете enterprise repository ако нямате абонамент. Редактирайте файла:
nano /etc/apt/sources.list.d/pve-enterprise.list
Коментирайте реда с # в началото или изтрийте съдържанието.
Добавете no-subscription repository:
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
Обновете пакетите:
apt update && apt upgrade -y
Този процес отнема няколко минути. Той гарантира, че имате последните security patches и подобрения.
Конфигуриране на GPU Passthrough
GPU passthrough е сърцето на ИИ сървъра. Без него виртуалната машина няма да може да използва графичната карта ефективно.
Активиране на IOMMU модули
Редактирайте GRUB конфигурацията:
nano /etc/default/grub
Променете GRUB_CMDLINE_LINUX_DEFAULT реда:
За Intel процесори:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
За AMD процесори:
GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt"
Забележка: За AMD системи amd_iommu=on не е необходим, защото IOMMU е активен по подразбиране.
Параметърът iommu=pt (passthrough mode) подобрява производителността. Той позволява на устройствата да заобикалят DMA превода.
Запазете файла и обновете GRUB:
update-grub
Зареждане на VFIO модули
VFIO (Virtual Function I/O) модулите са необходими за passthrough.
Редактирайте модулите:
nano /etc/modules
Добавете следните редове:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
Забележка: На Proxmox 8 и по-нови версии vfio_virqfd може да не е отделен модул.
Блокиране на драйвери на графичната карта
Proxmox не трябва да използва GPU драйверите. Блокирайте ги:
nano /etc/modprobe.d/blacklist.conf
Добавете:
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist nvidia-gpu
blacklist radeon
blacklist amdgpu
Това предотвратява зареждането на драйверите при стартиране на хоста.
Проверка на IOMMU групи
Рестартирайте сървъра:
reboot
След рестарт проверете IOMMU групите:
for d in /sys/kernel/iommu_groups/*/devices/*; do
n=${d#*/iommu_groups/*}; n=${n%%/*}
printf 'IOMMU group %s ' "$n"
lspci -nns "${d##*/}"
done
Вашата GPU трябва да е в отделна група. Например:
IOMMU group 43 [10de:2684] NVIDIA Corporation Device
IOMMU group 44 [10de:22ba] NVIDIA Corporation Audio Device
Ако GPU е в група с други критични устройства (CPU, chipset), passthrough няма да работи коректно.
Решение: Опитайте да преместите картата в друг PCIe слот. Ако това не помага, може да се наложи ACS override patch (не се препоръчва).
Създаване на виртуална машина за ИИ
Сега създаваме виртуалната машина, която ще хоства ИИ модулите.
Изтегляне на Ubuntu ISO
В Proxmox интерфейса отидете в node → local (storage) → ISO Images → Upload.
Друг вариант е да използвате wget от shell:
cd /var/lib/vz/template/iso/
wget https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso
Ubuntu 24.04 LTS е препоръчителна заради дългата поддръжка (до 2029 г.).
Автоматично създаване на VM със скрипт
Proxmox community има готови скриптове за бързо създаване на VM.
Изпълнете:
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/vm/ubuntu2404-vm.sh)"
Скриптът ще ви попита за настройки. Препоръчвам:
- RAM: 24 GB минимум (24576 MB). За по-големи модели 32-64 GB.
- Storage: 512 GB за модели и операционна система.
- CPU Cores: 8 или повече ядра. Ollama използва CPU и GPU паралелно.
Не стартирайте VM-а веднага. Първо трябва да конфигурираме GPU.
Ръчно създаване на VM (алтернатива)
Ако предпочитате ръчна конфигурация:
- В Proxmox интерфейса кликнете „Create VM“
- General: Задайте име и VM ID (например 100)
- OS: Изберете Ubuntu ISO, тип Linux, версия 6.x kernel
- System: Machine = q35, BIOS = OVMF (UEFI), SCSI Controller = VirtIO SCSI
- Disks: 512 GB на VirtIO Block
- CPU: Type = host, 8 или повече cores
- Memory: 24576 MB минимум
- Network: VirtIO (paravirtualized) за най-добра производителност
Не стартирайте VM-а все още.
Добавяне на GPU към виртуалната машина
Отидете в Hardware таба на VM-а. Кликнете Add → PCI Device.
От падащото меню изберете вашата GPU. Адресът ще бъде в формат 0000:XX:XX.X (например 0000:07:00.0).
Маркирайте следните опции:
- All Functions: Включва GPU и HDMI Audio контролера
- ROM-Bar: Необходимо за правилна инициализация
- PCI-Express: Активира PCIe passthrough режим
Важно: За някои AMD Radeon карти добавете x-vga=1 като argument в конфигурацията. Редактирайте VM config файла:
nano /etc/pve/qemu-server/100.conf
Добавете към PCI device реда: ,x-vga=1
За NVIDIA карти това обикновено не е нужно.
Конфигуриране на OVMF за големи VRAM карти
Ако GPU-то ви има 24 GB или повече VRAM, трябва да увеличите PCI MMIO прозореца. По подразбиране OVMF използва 32 GB адресно пространство, което не е достатъчно.
Изпълнете:
qm set 100 --args '-fw_cfg name=opt/ovmf/X-PciMmio64Mb,string=65536'
Променете VM ID 100 със своя номер. За 128 GB карти използвайте 131072.
Инсталация на Ubuntu и драйвери
Стартирайте виртуалната машина от Proxmox интерфейса.
Инсталация на Ubuntu
Следвайте стандартния Ubuntu Server инсталационен процес. Изберете „Minimal installation“ за по-чиста система.
При мрежовата конфигурация използвайте DHCP или задайте статичен IP. Създайте потребител и паролата.
След инсталацията влезте в системата и обновете:
sudo apt update && sudo apt upgrade -y
Инсталация на NVIDIA драйвери и CUDA
За да използва Ollama GPU, трябва да инсталираме NVIDIA драйверите и CUDA Toolkit.
Добавете NVIDIA repository:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
Инсталирайте CUDA и драйверите:
sudo apt install cuda-toolkit-12-8 cuda-drivers -y
Това отнема 10-15 минути. След инсталацията рестартирайте VM-а:
sudo reboot
Проверка на GPU
След рестарт проверете дали GPU е разпознато:
nvidia-smi
Трябва да видите информация за вашата карта. Например:
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54 Driver Version: 550.54 CUDA Version: 12.8 |
|-----------------------------------------------------------------------------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| 0 NVIDIA GeForce RTX 4060 Ti Off | 00000000:07:00.0 Off | N/A |
+-----------------------------------------------------------------------------------------+
Ако видите грешка „no devices were found“, проверете отново GPU passthrough конфигурацията.
Инсталация и настройка на Ollama
Ollama е сърцето на нашия ИИ сървър. Той управлява различни LLM модели локално.
Инсталация на Ollama
Инсталацията е изключително проста с официалния скрипт:
curl -fsSL https://ollama.com/install.sh | sh
Скриптът автоматично:
- Свали последната версия на Ollama
- Създава systemd service за автоматично стартиране
- Конфигурира всичко необходимо
След инсталацията проверете дали Ollama работи:
ollama --version
Активиране на отдалечен достъп
По подразбиране Ollama е достъпен само на localhost (127.0.0.1). За достъп от други устройства трябва да го конфигурираме.
Внимание: Това отваря Ollama към цялата мрежа БЕЗ автентикация. Използвайте само в доверена локална мрежа. Никога не го излагайте директно в интернет.
Редактирайте systemd service:
sudo systemctl edit ollama.service
Добавете следните редове в секцията [Service]:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Презаредете конфигурацията:
sudo systemctl daemon-reload
sudo systemctl restart ollama
Проверете статуса:
sudo systemctl status ollama
Ollama трябва да е в състояние „active (running)“.
Изтегляне на ИИ модели
Ollama поддържа стотици модели. Ето няколко популярни избора:
Llama 3.2 (3B): Лек модел за бързи задачи
ollama pull llama3.2
DeepSeek R1 (8B): Отличен за програмиране и анализ
ollama pull deepseek-r1:8b
DeepSeek R1 (14B): Балансиран модел за общи задачи
ollama pull deepseek-r1:14b
Mistral (7B): Бърз и точен европейски модел
ollama pull mistral
CodeLlama (13B): Специализиран за код
ollama pull codellama:13b
Изтеглянето отнема време в зависимост от размера на модела. Малките модели (3-7B) са около 2-4 GB. Големите модели (70B+) могат да достигнат 40-50 GB.
Тестване на модел
След изтегляне тествайте модела:
ollama run llama3.2 --verbose
Зададете въпрос като „Кой е основателят на Anthropic?“ Флагът --verbose показва информация за производителността (tokens per second).
Ако всичко работи, ще видите отговор в рамките на секунди. Високата скорост (над 20 tokens/sec) означава, че GPU работи правилно.
Инсталация на Open WebUI
Open WebUI е интуитивен интерфейс подобен на ChatGPT. Той се свързва директно с Ollama.
Инсталация на Docker
Open WebUI работи в Docker контейнер. Инсталирайте Docker:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce -y
Добавете потребителя към docker групата:
sudo usermod -aG docker $USER
Излезте и влезте отново за да се приложат промените.
Стартиране на Open WebUI
Стартирайте Open WebUI контейнера:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Параметрите:
-d: Detached режим (работи на фона)-p 3000:8080: Мapва порт 3000 към контейнера--add-host: Позволява връзка към Ollama на хоста-v open-webui:/app/backend/data: Съхранява данните постоянно--restart always: Автоматично стартиране при рестарт
Проверете дали контейнерът работи:
docker ps
Достъп и конфигурация на Open WebUI
Отворете браузър и отидете на:
http://[IP-на-VM]:3000
При първото влизане създайте администраторски акаунт. Този акаунт управлява настройките и потребителите.
В Settings → Connections проверете връзката към Ollama:
http://host.docker.internal:11434
Ако връзката е успешна, ще видите списък с налични модели.
Автоматично обновяване на Open WebUI
За автоматични обновления използвайте Watchtower:
docker run -d --restart always --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --interval 3600 open-webui
Watchtower проверява за нова версия всеки час и обновява автоматично.
Оптимизация и настройка
Мониторинг на ресурси
Инсталирайте инструменти за мониторинг:
sudo apt install nvtop htop glances -y
nvtop: Показва GPU натоварването в реално време
nvtop
htop: Системен монитор за CPU и RAM
htop
glances: Всеобхватен системен монитор
glances
Настройка на Ollama параметри
Редактирайте Ollama environment променливите:
sudo systemctl edit ollama.service
Полезни параметри:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_NUM_PARALLEL=4"
Environment="OLLAMA_MAX_LOADED_MODELS=2"
OLLAMA_NUM_PARALLEL: Брой паралелни заявки (по подразбиране 4) OLLAMA_MAX_LOADED_MODELS: Максимален брой модели в RAM едновременно
Snapshot-и и backup
Създавайте snapshot преди всяка важна промяна:
От Proxmox интерфейса: VM → Snapshots → Take Snapshot
Snapshot-ите заемат минимално място и се създават моментално с ZFS. Връщането към snapshot отнема секунди.
За backup на цялата VM използвайте Backup функцията в Proxmox. Създавайте седмични backup-и на различен диск или NAS.
Разширени възможности
Множество GPU-та
Ако имате повече от една графична карта, можете да ги разпределите между различни VM-та.
Всяка GPU трябва да е в отделна IOMMU група. Добавете втората GPU по същия начин като първата.
За балансиране на натоварването между GPU-та използвайте OLLAMA_DEVICE променливата.
RAG (Retrieval Augmented Generation)
Open WebUI поддържа RAG за подобряване на точността. Качете документи в интерфейса и моделът ще ги използва за контекст.
Това е полезно за специализирани задачи като анализ на корпоративни документи.
Интеграция с други инструменти
Open WebUI поддържа:
- Custom functions за автоматизация
- Web search за актуална информация
- API за интеграция с външни приложения
Разгледайте документацията на Open WebUI за повече детайли.
Често срещани проблеми и решения
GPU не се разпознава в VM
Причина: IOMMU не е правилно конфигуриран или GPU не е в отделна група.
Решение: Проверете BIOS настройките. Уверете се, че VT-d/AMD-Vi е активиран. Прегледайте IOMMU групите отново.
Ollama не използва GPU
Причина: NVIDIA драйверите не са правилно инсталирани или CUDA липсва.
Решение: Проверете с nvidia-smi. Инсталирайте отново драйверите. Уверете се, че CUDA Toolkit е налично.
Open WebUI не се свързва с Ollama
Причина: Ollama не слуша на правилния адрес или firewall блокира портa.
Решение: Проверете OLLAMA_HOST променливата. Уверете се, че е 0.0.0.0:11434. Проверете с sudo netstat -tuln | grep 11434.
Модели зареждат бавно
Причина: Недостатъчна RAM или бавен диск.
Решение: Увеличете RAM на VM-а. Използвайте NVMe SSD вместо SATA. Намалете броя едновременно заредени модели.
AMD Reset Bug
Причина: AMD Navi карти (RX 5000/6000/7000 серии) имат проблем при рестартиране на VM.
Решение: Използвайте vendor-reset kernel модул. Инсталирайте го и конфигурирайте reset_method=device_specific за GPU-то.
Заключение
Сега имате пълноценен собствен ИИ сървър с Proxmox. Виртуалната машина използва GPU директно за максимална скорост. Ollama управлява модулите, а Open WebUI предоставя интуитивен интерфейс.
Основните предимства на този setup:
- Контрол над данните: Всичко е локално, няма cloud услуги
- Висока производителност: GPU passthrough осигурява native скорост
- Гъвкавост: Лесно добавяте нови модели и услуги
- Икономия: Без месечни такси за cloud AI услуги
- Експериментиране: Тествайте различни модели без ограничения
Това ръководство ви дава солидна основа. Експериментирайте с различни модели. Тествайте параметрите. Адаптирайте системата според нуждите си.
Помнете, че технологиите се развиват бързо. Следете Ollama и Open WebUI за нови функции. Proxmox също получава редовни обновления.
Вашият ИИ сървър е готов. Използвайте го отговорно и творчески. Споделете опита си с общността.
Полезни ресурси:
- Proxmox официална документация: https://pve.proxmox.com/wiki



