Бюджетный AI сервер за $400: Xeon, P100, Ollama Podman гайд 2026 | AiManual
AiManual Logo Ai / Manual.
28 Янв 2026 Гайд

Сборка бюджетного AI-сервера за $400: Xeon, P100 и Ollama в Podman

Пошаговый гайд по сборке рабочего AI-сервера за $400. Xeon E5, NVIDIA P100, Rocky Linux 9, Ollama в Podman. Локальные модели без облаков.

Когда RTX 4090 - это роскошь, а облака - это дыра в бюджете

Ты хочешь запустить свою LLM. Не для бизнеса, не для продакшена, а чтобы поковыряться. Поэкспериментировать с агентами, настроить приватного ассистента для документов, может быть, даже fine-tuning сделать. Но цены на железо в 2026 году выглядят как шутка плохого комика. RTX 4090 стоит как ползарплаты, а облачные инстансы с GPU съедают бюджет быстрее, чем ты успеваешь сказать "inference".

Знакомо? У меня было так же. Пока я не нашёл лазейку в системе.

Серверное железо предыдущих поколений дешевеет с пугающей скоростью. Пока все гонятся за новыми картами, старые рабочие лошадки вроде NVIDIA P100 можно купить за смешные деньги. А процессоры Xeon E5 с кучей ядер и поддержкой тонны оперативки вообще раздают почти даром.

Вот математика, которая заставила меня собрать этот проект:

Компонент Стоимость Что даёт
2× Xeon E5-2690 v4 (28 ядер) $80 56 потоков для CPU инференса
Материнка Supermicro X10DRL-i $120 Поддержка 2 процессоров, 16 слотов RAM
NVIDIA Tesla P100 16GB $150 16 ГБ HBM2 памяти, FP16 поддержка
128 ГБ DDR4 ECC REG $50 Память для больших моделей

Итого: $400. За эти деньги ты получаешь машину, которая потянет модели до 70B параметров. Медленно? Да. Но работает. И главное - она твоя. Никаких лимитов токенов, никаких апсейлов, никаких "ваш инстанс будет остановлен через 24 часа".

Важный момент: P100 - это не игровая карта. У неё нет дисплейных выходов, она требует особых драйверов и не поддерживает некоторые современные функции вроде tensor cores. Но для запуска квантованных LLM через llama.cpp или Ollama - её хватает с головой.

Почему именно этот стек и что здесь работает

Сначала я попробовал Ubuntu. Потом Debian. Потом даже Arch Linux. Все они спотыкались на драйверах для P100 и контейнеризации. Пока не нашёл Rocky Linux 9.

Rocky - это клон RHEL, но бесплатный. Стабильный, предсказуемый, с долгой поддержкой. И главное - там есть всё необходимое для серверного железа из 2016 года.

Podman вместо Docker? Да, именно. Docker ушёл в коммерцию, а Podman остался полностью открытым. Он умеет работать rootless (без прав суперпользователя), что критично для безопасности. И он нативно интегрируется с systemd, что для сервера - must have.

Ollama - это просто гениальная штука. Она абстрагирует всю сложность запуска моделей в одну команду. Хочешь запустить Llama 3.2 3B? ollama run llama3.2:3b. Хочешь Mistral? ollama run mistral. Всё. Никаких танцев с llama.cpp, никаких компиляций, никаких флагов.

1 Собираем железо: что важно, а что можно пропустить

Корпус? Любой ATX. Блок питания? Минимум 750W, лучше 1000W. P100 кушает до 300 ватт под нагрузкой, плюс два Xeon - ещё 270. Не экономь на БП - сгоревший сервер не стоит сэкономленных $50.

Оперативка - только ECC REG. Почему? Потому что Xeon E5 v3/v4 поддерживает только такую. Обычная DDR4 не заработает. Ищи на eBay "DDR4 ECC REG 16GB" или "DDR4 ECC REG 32GB". Цены сейчас смешные - 16GB модуль можно найти за $15.

Охлаждение процессоров - обязательно активное. Пассивные кулеры не справятся. Ищи б/у кулеры от серверов Dell или HP - они часто идут с медным основанием и стоят копейки.

💡
Проверь совместимость материнки и процессоров! X10DRL-i поддерживает только v3/v4 Xeon. v2 не влезут физически (разный сокет), а v5 уже требуют другой чипсет.

2 Установка Rocky Linux 9 и настройка базовой системы

Качаем минимальный образ Rocky Linux 9 с официального сайта. Записываем на флешку через Ventoy или dd. Загружаемся.

При установке выбираем "Server with GUI" - да, нам нужен GUI. Потому что через него удобнее настраивать драйвера NVIDIA. Или если ты хардкорный - ставь минималку и готовься к танцам с плясом вокруг терминала.

# После установки обновляем всё
sudo dnf update -y
sudo dnf install epel-release -y
sudo dnf config-manager --set-enabled crb

# Ставим необходимые утилиты
sudo dnf install -y curl wget git vim htop neofetch \
  cockpit cockpit-storaged cockpit-networkmanager \
  podman podman-docker buildah

Cockpit - это веб-интерфейс для управления сервером. Открывается на порту 9090. Не пренебрегай им - через него удобно мониторить ресурсы, смотреть логи и перезагружать службы.

3 Драйвера NVIDIA для P100: боль, страдание и неожиданное просветление

Вот здесь собака зарыта. Официальные драйвера NVIDIA для Linux часто не дружат с старыми картами на новых дистрибутивах. Но есть решение.

Сначала отключаем Nouveau (открытый драйвер, который мешает):

# Создаём конфиг для blacklist
sudo bash -c "echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist-nouveau.conf"
sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf"

# Пересобираем initramfs
sudo dracut --force
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Перезагружаемся. После перезагрузки проверяем, что Nouveau не загрузился:

lsmod | grep nouveau
# Должно быть пусто

Теперь качаем драйвера. Не самые новые! Для P100 лучше взять версию 535.x или 525.x. 545.x и новее могут работать нестабильно.

# Устанавливаем зависимости
sudo dnf install -y kernel-devel kernel-headers gcc make \
  dkms acpid libglvnd-glx libglvnd-opengl libglvnd-devel \
  pkgconfig

# Качаем драйвер 535.154.05
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/535.154.05/NVIDIA-Linux-x86_64-535.154.05.run
chmod +x NVIDIA-Linux-x86_64-535.154.05.run

# Запускаем установку
sudo ./NVIDIA-Linux-x86_64-535.154.05.run

Во время установки драйвера может спросить про подпись ядра (DKMS). Говорим "да". Может спросить про 32-битные библиотеки - говорим "нет", они нам не нужны. И точно не ставим опцию --no-opengl-files - она сломает поддержку CUDA.

После установки проверяем:

nvidia-smi
# Должна появиться таблица с информацией о P100

nvidia-smi topo -m
# Покажет топологию (важно для multi-GPU, но у нас пока одна карта)

4 Podman и NVIDIA Container Toolkit

Теперь нужно научить Podman видеть GPU внутри контейнеров. Для этого ставим NVIDIA Container Toolkit.

# Добавляем репозиторий NVIDIA
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
  sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo

# Устанавливаем
sudo dnf install -y nvidia-container-toolkit nvidia-docker2

# Конфигурируем Podman
sudo nvidia-ctk runtime configure --runtime=podman

# Перезапускаем службы
sudo systemctl restart podman

Проверяем, что всё работает:

# Запускаем тестовый контейнер
podman run --rm --security-opt=label=disable \
  --hooks-dir=/usr/share/containers/oci/hooks.d/ \
  nvidia/cuda:12.2.2-base-ubi9 nvidia-smi

Если видишь ту же таблицу, что и на хосте - поздравляю, GPU прокинута в контейнер.

5 Установка Ollama в контейнере Podman

Ollama можно поставить нативно, но контейнеры дают изоляцию и удобство обновления. Создаём systemd юнит для Ollama:

# Создаём директорию для моделей
sudo mkdir -p /var/lib/ollama
sudo chown -R 1000:1000 /var/lib/ollama  # Для rootless Podman

# Создаём systemd юнит
sudo tee /etc/systemd/system/ollama.service << EOF
[Unit]
Description=Ollama Service
After=network.target

[Service]
Type=simple
User=1000
ExecStart=/usr/bin/podman run --rm \
  --name ollama \
  -v /var/lib/ollama:/root/.ollama \
  -p 11434:11434 \
  --device nvidia.com/gpu=all \
  --security-opt=label=disable \
  --hooks-dir=/usr/share/containers/oci/hooks.d/ \
  ollama/ollama:latest
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
EOF

# Включаем и запускаем
sudo systemctl daemon-reload
sudo systemctl enable --now ollama.service

Ждём минуту, проверяем:

curl http://localhost:11434/api/tags
# Должен вернуть пустой JSON (пока моделей нет)

6 Запускаем первую модель и смотрим на производительность

Теперь самое интересное. Давай попробуем разные модели и посмотрим, что наша сборка вообще может.

# Качаем и запускаем Llama 3.2 3B
curl -X POST http://localhost:11434/api/pull -d '{"name": "llama3.2:3b"}'

# Запускаем интерактивный режим
curl -X POST http://localhost:11434/api/generate -d '{
  "model": "llama3.2:3b",
  "prompt": "Explain quantum computing in simple terms",
  "stream": false
}' | jq '.response'

Для больших моделей нужно учитывать ограничения P100. У неё 16GB HBM2 памяти, но нет tensor cores. Это значит:

  • Модели до 13B параметров в Q4_K_M квантовании будут работать полностью в GPU
  • Модели 32B-70B будут использовать GPU + CPU (часть слоёв уйдёт в оперативку)
  • Скорость: ожидай 5-15 токенов в секунду для 7B моделей, 2-5 для 13B

Попробуем Mistral 7B:

# Мониторим использование GPU во время загрузки модели
watch -n 1 nvidia-smi

# В другом терминале качаем модель
curl -X POST http://localhost:11434/api/pull -d '{"name": "mistral:7b"}'

Ошибки, которые ты точно совершишь (и как их избежать)

1. Недостаточное питание PCIe слоту. P100 требует 75W через PCIe + 150W через 8-pin коннекторы. Если материнка даёт только 75W, карта будет работать нестабильно. Решение: использовать правильный 8-pin кабель от БП.

2. Перегрев в корпусе без вентиляции. Серверные процессоры и P100 выделяют много тепла. Минимум два вентилятора на вдув спереди, один на выдув сзади. Иначе thermal throttling съест всю производительность.

3. Неправильные драйвера CUDA. Если поставишь слишком новые драйвера, P100 может работать некорректно. Остановись на версии 535.x - проверено, работает.

4. Забыл про SELinux. Rocky Linux по умолчанию включает SELinux. Он будет блокировать доступ к GPU из контейнеров. Либо отключай (не рекомендуется), либо настраивай контексты правильно.

# Временно отключить (для тестов)
sudo setenforce 0

# Или настроить правильные контексты
sudo semanage permissive -a container_runtime_t

Что можно делать с этим сервером кроме запуска LLM

Ты собрал машину за $400, но использовать её только для Ollama - это как купить Ferrari для поездок в магазин за хлебом.

  • Stable Diffusion. P100 потянет txt2img с небольшими разрешениями. Используй Automatic1111 в Docker.
  • Векторные базы данных. Qdrant или Weaviate для RAG. 128GB оперативки хватит на миллионы эмбеддингов.
  • Fine-tuning небольших моделей. LoRA адаптеры для 7B моделей - вполне реально.
  • Локальный GitHub Copilot. Continue.dev или Tabby с локальной моделью кода.
  • Медиа-сервер с AI. Jellyfin с плагинами для автоматической разметки видео.

Апгрейд пути: куда расти дальше

Сервер построен на стандарте ATX, материнка поддерживает до 4 GPU (если найти ризеры). Можно добавить ещё P100 и соединить их через NVLink (да, у P100 есть NVLink!).

Оперативку можно расширить до 512GB - материнка поддерживает 16 слотов по 32GB модуля. Но тут уже нужно считать стоимость - 512GB DDR4 ECC REG обойдётся примерно в $200.

Можно заменить P100 на P40. Дешевле ($100), памяти больше (24GB), но производительность ниже и нет FP16 аппаратного ускорения.

Или пойти другим путём - поставить RTX 3090 б/у. Дороже ($800), но в 3-4 раза быстрее для инференса. Хотя тогда уже нарушается бюджет в $400.

Подводные камни и стоит ли оно того

Шум. Серверные кулеры громкие. Очень громкие. Этот сервер не поставишь в спальне. Гараж, подвал, отдельная комната - только так.

Потребление. Под нагрузкой система кушает 500-700 ватт. Это $30-40 в месяц при круглосуточной работе. Включай только когда нужно.

Поддержка. Драйвера для P100 уже не обновляются. Новые функции CUDA могут не работать. Но для базового инференса - хватает.

Стоит ли? Если тебе нужна игрушка для экспериментов - определённо да. Если планируешь коммерческое использование - лучше добавить денег и взять что-то посвежее. Но как точка входа в мир локального AI - идеально.

Я запускаю на такой сборке Qwen2.5-Coder-32B для помощи с кодом, Stable Diffusion 1.5 для генерации изображений по описаниям из документации, и Mistral 7B для всяких текстовых задач. Медленно? Да. Но бесплатно (после первоначальных $400). И полностью под моим контролем.

А самое главное - когда все вокруг говорят, что для AI нужны тысячи долларов, ты можешь показать им свой сервер за $400 и сказать: "А вот и нет".