Локальный AI-сервер: выбор железа, Proxmox, Docker и GPU | AiManual
AiManual Logo Ai / Manual.
08 Янв 2026 Гайд

Построение локального AI-сервера с доступом к файлам: выбор железа, Proxmox, Docker и GPU

Подробное руководство по сборке и настройке локального AI-сервера с доступом к файлам. Выбор железа (Epyc, ZFS), настройка Proxmox, Docker и серверных GPU.

Зачем вам это нужно, если есть облако?

Представьте, что ваш отдел аналитики целый день гоняет RAG-запросы по внутренней документации. Или ваша команда разработки использует код-генерацию для прототипов. Счет от OpenAI или Anthropic приходит на $2000, а вы не можете объяснить бухгалтерии, почему это "инфраструктура". Хуже того, вы не контролируете, куда уходят ваши файлы с финансовыми отчетами или исходным кодом.

Локальный сервер - это не про экономию (хотя она будет). Это про контроль. Вы решаете, какая модель работает, когда она обновляется и кто к ней имеет доступ. А доступ к файлам превращает вашу LLM из болтливого собеседника в настоящего аналитика, который знает всю вашу документацию.

Железо: собираем основу для монстра

Здесь нельзя ошибиться. Купите слабый процессор - будете ждать ответа модели 10 минут. Сэкономите на памяти - не запустите ничего крупнее 7B параметров. Выбор GPU вообще отдельная история.

1Процессор и платформа: почему Epyc 7313 - тихий убийца

Вам нужны ядра. Много ядер. Не для самой LLM (она в основном на GPU), а для всего остального: векторные базы данных, препроцессинг документов, несколько пользователей одновременно. AMD Epyc 7313 - это 16 ядер за разумные деньги. PCIe 4.0 lanes? 128 штук. Хватит на 4 GPU без всяких свитчей.

КомпонентРекомендацияПочему
ПроцессорAMD Epyc 731316 ядер, много PCIe линий, низкое энергопотребление
Память256 ГБ DDR4 ECCДля 70B моделей в CPU-режиме и кэширования файлов
Хранилище2× NVMe 2 ТБ в ZFS mirrorСкорость + отказоустойчивость для векторных БД

2GPU: RTX 2000E Ada или V100? Серверная карта против бывшего короля

Вот где начинается настоящая драма. RTX 2000E Ada - новая, с 16 ГБ GDDR6, потребляет 70 Вт. V100 - старая легенда, 32 ГБ HBM2, жрет 300 Вт. Кажется, выбор очевиден? Не совсем.

  • RTX 2000E Ada: Идеальна для инференса. Поддерживает все современные оптимизации (FP8, TensorRT-LLM). Тихая, не требует специального охлаждения. Но 16 ГБ - это предел для 70B моделей в 4-битной квантизации.
  • V100: 32 ГБ - можно запускать 70B модели в 8-бите или даже несколько 13B одновременно. Но драйверы устаревают, поддержка в новых фреймворках постепенно исчезает. И она ГРЕЕТСЯ как печь.

Мой выбор? RTX 2000E Ada. Потому что через год вы захотите использовать Mistral 2, а она будет требовать CUDA 12.4, которую на V100 не поставить. Если же вам критично нужны 32 ГБ - смотрите в сторону RTX 4090, но с пассивным кулером и доработкой охлаждения в серверном корпусе.

Не берите игровые карты для 24/7 работы в сервере. У них нет ECC памяти, а после трех месяцев непрерывной работы RAG-запросов вы начнете получать случайные ошибки в ответах модели. Это не шутка - ошибки памяти в VRAM приводят к "галлюцинациям" на аппаратном уровне.

Proxmox: виртуализируем правильно

Установить Proxmox - это пять минут. Настроить его для AI-нагрузок - это два часа копания в настройках. Пропустите этот раздел - получите лаги при генерации текста.

3ZFS: не просто файловая система, а спасательный круг

При создании хранилища в Proxmox выбирайте ZFS. Не ext4, не LVM. ZFS. Почему? Потому что ваша векторная база данных будет делать миллионы мелких операций ввода-вывода. ZFS с кэшем в оперативной памяти (ARC) ускорит это в разы.

Настройки пула: raidz1 из двух дисков - это не RAID, это лучше. Включаем компрессию lz4 - модели сжатые, экономия места будет. Размер записи (recordsize) ставим 16K - под размер чанков в RAG.

💡
Если вы планируете хранить десятки тысяч документов для RAG, выделите под ZFS ARC не менее 32 ГБ оперативки. Это уберет тормоза при параллельных поисках. Подробнее о настройке хранилищ я писал в гайде по локальной LLM-инфраструктуре.

4Сеть: изолируем трафик AI от всего остального

Создайте отдельный мост (vmbr1) для AI-виртуалки. Не пускайте его в интернет через NAT. Только прямой доступ к локальной сети. Зачем? Потому что когда ваша LLM-инфраструктура начнет скачивать 40-гигабайтную модель, она забьет канал всем остальным.

Настройте статический IP на этом мосту. Потом будет проще настраивать доступ к веб-интерфейсам.

Виртуальная машина: Ubuntu Server с характером

Не используйте LXC для GPU. Да, в статье про LXC и AMD я рассказывал про контейнеры, но с NVIDIA все сложнее. Драйверы требуют полного ядра, а не просто библиотек.

5Создание VM: параметры, которые влияют на производительность

  • Тип процессора: Host. Без этого теряется 15% производительности на инструкциях AVX-512.
  • Память: Минимум 64 ГБ. Выделяйте шарпами (hugepages) - это уменьшит латентность.
  • Диск: VirtIO SCSI с кэшем writeback и SSD эмуляцией.
  • Сеть: VirtIO, multiqueue включен.

6GPU Passthrough: черная магия, которая должна сработать

Самая нервная часть. Включаете IOMMU в биосе. В Proxmox находите PCI устройство вашей GPU. Ставите галочки "All Functions" и "PCI-Express". Добавляете в виртуальную машину.

Запускаете VM. Если видите в логах ошибку vfio - значит, нужно отключить драйвер nouveau на хосте. Черный экран вместо загрузки Ubuntu? Добавьте в параметры ядра виртуалки "video=efifb:off".

Перед тем как делать passthrough, проверьте, что GPU не используется хостовой системой. Выключите графический интерфейс Proxmox (если он есть) или переключите вывод на встроенную графику. Однажды я потратил полдня на поиски проблемы, а оказалось, что Proxmox "держал" карту для своей консоли.

Docker: упаковываем AI в контейнеры

Теперь внутри Ubuntu Server. Установите Docker и NVIDIA Container Toolkit. Без второго ваши контейнеры не увидят GPU.

7Доступ к файлам: монтируем, не копируем

Основная ошибка - копировать документы в контейнер. Не делайте так. Монтируйте директорию с хоста как volume. Но не просто монтируйте, а используйте опцию "cached" для больших директорий. Иначе производительность упадет при сканировании тысяч файлов.

Структура должна быть такой: на хосте в Proxmox смонтирован NFS/SMB share с вашими документами. Этот share проброшен в Ubuntu VM. Из VM он монтируется как volume в Docker-контейнер с AI-сервисом.

8Выбор стека: Ollama + OpenWebUI или что-то свое

Ollama - это просто. Скачиваете модель, запускаете, есть API. OpenWebUI - красивый интерфейс. Но если вам нужен серьезный RAG с индексацией, смотрите в сторону PrivateGPT или локально развернутого AnythingLLM. Только не пытайтесь запустить все сразу на одной карте - как в истории с RTX 4070 Super.

Мой совет: начните с Ollama. Настройте доступ к папке с документами через volume. Потом добавьте OpenWebUI для удобства. Когда поймете, как работает поток документов, переходите на более сложные системы.

Ошибки, которые свалят вашу систему через неделю

ОшибкаСимптомыРешение
Перегрев GPU в серверном корпусеТроттлинг, падение производительности, случайные сбоиУстановить принудительное охлаждение, ограничить power limit
ZFS съедает всю оперативную памятьСистема начинает свопиться, все тормозитНастроить zfs_arc_max в /etc/modprobe.d
Docker volume с файлами работает медленноЗагрузка документов для RAG занимает минутыИспользовать ':cached' в опциях монтирования

Вопросы, которые вы зададите через месяц

Можно ли добавить вторую GPU? - Можно, если на материнской плате есть слоты и блок питания тянет. В Proxmox делаете passthrough второй карты, в Docker настраиваете использование нескольких устройств. Но не ждите линейного роста производительности - не все фреймворки умеют балансировать нагрузку.

Как обновлять модели без простоя? - Создайте второй Docker-контейнер с новой версией, направьте на него тестовый трафик, потом переключите основной. Это проще, чем кажется, если использовать общий volume с моделями.

Почему RAG иногда возвращает ерунду? - Проверьте чанкинг. Слишком большие чанки - модель теряет суть. Слишком маленькие - не хватает контекста. И обязательно чистите текст от спецсимволов перед векторизацией.

Самое главное - не пытайтесь сделать идеально с первого раза. Соберите систему, которая работает. Запустите одну модель на одном GPU. Подключите доступ к папке с документами. Потом уже оптимизируйте, добавляйте мониторинг, настраивайте балансировку. Через полгода, когда вы поймете реальные нагрузки, можно будет думать о мульти-нод кластере. Но это уже совсем другая история.