Коротко: правильное распределение ресурсов — это сочетание (1) изоляции сервисов (VM/LXC), (2) разделения быстрого и холодного хранилища (SSD для ОС/метаданных, HDD для больших медиа), (3) приоритизации критичных служб (Windows, NVR) через гарантии CPU/RAM/IO и (4) политики хранения и резервного копирования. Ниже — практическое руководство и конкретные настройки под ваш стек (Proxmox + Immich, Shinobi, Windows 10, Home Assistant) с учётом имеющихся дисков.
1) Сбор информации (вопросы, которые нужно уточнить)
- Сколько у сервера CPU ядер и потоков? Сколько оперативной памяти (RAM)?
- Сеть: гигабит? сколько камер и какие потоки/разрешение (кол-во одновременных потоков и битрейт)?
- Планируете ли доступ к Windows/сервисам из интернета или только внутри дома?
Ответы сильно влияют на точные цифры. Ниже дам примеры для типичных конфигураций (8/16/32 ГБ RAM).
2) Общие принципы проектирования
- Разделяйте: критичные/интерактивные сервисы (Windows, удалённый рабочий стол, HA) — в отдельных VM с гарантированной RAM/CPU; сервисы, где важна плотность и легковесность (Immich, Shinobi, если Linux‑ориентированные) можно в LXC или Docker-контейнерах.
- Быстрое хранилище (SSD) — для ОС Proxmox, виртуальных дисков ОС Windows, баз данных/метаданных (Postgres для Immich). Холодное/ёмкое (HDD) — для больших видеоархивов и самих медиа.
- Надёжность: сделайте RAID1 (зеркало) для HDD, чтобы хоть какая‑то защита была от отказа диска. Два ваших 750 ГБ — идеально для зеркала: ~750 ГБ доступно.
- Используйте разные хранилища в Proxmox (storage pools): один для VM/VM-disks (SSD), один datalake для медиа (HDD mirror).
- Не храните всё на SSD 128 ГБ — быстро заполнится. Оставьте SSD для систем/VM дисков и баз/индексов, медиа на HDD.
3) Выбор между LXC и полноценными VM
- Home Assistant: проще запустить в отдельной VM (Home Assistant OS) или LXC с Docker, но Home Assistant OS как VM — наиболее совместимо. Нельзя быстро mix-and-match без опыта Linux, так что VM проще.
- Immich: лучше в контейнере/VM с Docker + Postgres; хранение медиа — на HDD. БД желательно на SSD или быстрый диск/RAID.
- Shinobi NVR: если у вас много камер и нужно анализ/транскодирование, лучше выделить VM с несколькими ядрами и достаточной RAM; при необходимости аппаратного кодирования — GPU passthrough (сложно в домашней сборке). Если камеры шлют уже закодированный поток, CPU требования заметно ниже.
- Windows 10: однозначно VM (qemu/kvm). Ей нужен SSD-образ для отзывчивости.
4) Примерное распределение ресурсов (ориентиры)
Допустим у вас 4‑ядра/8 потоков и 16 ГБ RAM (частый вариант). Можно стартовать так:
- Proxmox + сама система: оставьте ~1–2 ГБ RAM для хоста (Proxmox).
- Windows 10 VM: 2 vCPU, 6–8 ГБ RAM, диск 60–80 ГБ на SSD (OS), дополнительные папки/документы — на HDD или отдельный виртуальный диск на HDD если нужно. (Если вы активно работаете в Windows — дайте 8 ГБ.)
- Shinobi VM/контейнер: 2 vCPU (больше при >6 камер), 3–4 ГБ RAM; запись видео — диск на HDD pool, настройте ротацию и retention (например 7–30 дней).
- Immich (container/VM): 2 vCPU, 3–4 ГБ RAM; БД (Postgres) — на SSD (маленький), медиабиблиотека — на HDD pool.
- Home Assistant VM: 1–2 vCPU, 2–3 ГБ RAM, диск 32–64 ГБ (SSD).
- Оставьте 1–2 ГБ RAM «в резерве» для host и буферов.
Если у вас 8 ГБ RAM — уменьшайте: выделяйте Windows 4 ГБ, остальные 1–2 ГБ, но это уже близко к пределу; лучше 16+ ГБ для комфортной работы. Для 32+ ГБ можно давать 8 ГБ Windows + выделять больше ресурса Shinobi/Immich.
5) Storage: конфигурация дисков
- SSD 128 ГБ: использовать для Proxmox OS + VM-диски ОС (особенно Windows) + базы/индексы (Postgres для Immich). Ограничение: 128 ГБ не много — держите на нём только «горячие» данные.
- 2×750 ГБ HDD: создать зеркало (mdadm RAID1 или ZFS mirror). Зеркало даёт отказоустойчивость; это ваш медиа-пул. На нём храните: записи видеонаблюдения, фото и видео Immich.
- ZFS vs mdadm/ext4: ZFS даёт контроль, снапшоты и сжатие (lz4), но любит RAM. Если RAM >= 16 ГБ — ZFS mirror (с lz4) — хорошая идея. Если RAM маленькая (<8 ГБ), используйте mdadm RAID1 + ext4/xfs.
- Создайте отдельные хранилища/пути для каждой службы (например /mnt/recordings, /mnt/immich_media) — проще управлять квотами и ротацией.
6) I/O и CPU приоритеты, как настраивать в Proxmox
- CPU: для VM задавайте число vCPU и не давайте >физических ядер при полном использовании. Можно использовать «CPU limit» и «CPU units» / shares (в интерфейсе Proxmox — CPU weight) для приоритетов: больше weight = приоритет при конкуренции. Критичным (Windows, Shinobi) — высокий вес.
- RAM: задавайте железный лимит (например 6–8 ГБ для Windows), для LXC можно включить ballooning, но для Windows лучше фиксированная гарантия. Не давайте оверкоммит слишком агрессивно.
- Disk IO: используйте iothread для виртуальных дисков QEMU и при необходимости throttle (limit) для backup jobs. Proxmox поддерживает IO limits (IOPS/BW) на виртуальных дисках — ограничьте бэкап|сканирование|импорт медиа, чтобы не блокировать NVR. Для ZFS можно настроить zfs set reservation/quotas и zfs throttling через vdev.
- Network: если камерами нагружен канал, используйте отдельный физический интерфейс или VLAN для камер, чтобы не мешать остальным службам. На роутере/коммутаторе можно настроить QoS — отдавать приоритет RDP/Windows и SSH/VPN.
7) Настройка самих приложений — важные советы
- Shinobi: хранение видео на HDD; настройте retention policy (например держать 7–30 дней в зависимости от места); если возможно, отключите ненужные CPU‑тяжёлые анализы; используйте камеры в режиме «прямой поток» (без повторной рекодировки) если поддерживается.
- Immich: база (Postgres) и миниатюры/индексы лучше на SSD; основные файлы на HDD. Регулярно делайте бэкапы базы и экспорт метаданных.
- Home Assistant: регулярно делайте snapshots конфигурации и сохраняйте на внешний диск/облако.
- Windows: включите авто‑снапшоты/backup, но делайте резервную копию не на тот же HDD mirror без дополнительного уровня (лучше на внешний диск/USB/сетевой NAS/облако).
8) Резервное копирование (обязательно)
- Для важных данных (работа в Windows, Home Assistant configs, Immich DB) делайте регулярные бэкапы на внешний диск или удалённое хранилище.
- Для видеоархива можно хранить только последние N дней, старое удалять/архивировать в облако или на внешний диск.
- Используйте встроенные Proxmox backups (vzdump) и храните бекапы вне основного массива (USB 1ТБ/4ТБ у вас есть — отлично для регулярных резервных копий). Настройте расписание и проверяйте восстановление.
9) Сеть и безопасность
- Не публикуйте напрямую Windows или Shinobi в интернет. Используйте VPN (WireGuard/OpenVPN) или reverse proxy с авторизацией и 2FA.
- Камеры — в отдельной VLAN или подсети; доступ к ним должен быть ограничен.
- Разверните HTTPS и прокси (nginx/traefik) для внешних сервисов, но защищайте доступ (авторизация, fail2ban).
- Регулярные обновления Proxmox и шаблонов/VM — критичны.
10) Мониторинг и тестирование
- Настройте мониторинг (Proxmox GUI, netdata, Prometheus+Grafana при желании) и алерты.
- Тестируйте восстановление из бэкапа и поведение при высоких нагрузках (например одновременные камеры + бэкап на HDD).
- Наблюдайте за загрузкой дисков/IOPS — именно дисковый IO часто становится бутылочным горлышком.
11) Конкретная пошаговая стартовая конфигурация (минимум усилий)
- Установите Proxmox на SSD.
- Создайте mdadm mirror из двух 750 ГБ и подключите как отдельный storage pool (или ZFS mirror, если RAM >= 16 ГБ).
- Создайте VM Windows (2 vCPU, 6–8 ГБ, диск на SSD 80 ГБ).
- Создайте LXC/VM для Home Assistant (1–2 vCPU, 2–3 ГБ).
- Создайте LXC/VM для Immich + Postgres (2 vCPU, 3–4 ГБ), подключите каталог медиа к HDD pool.
- Shinobi: VM (2 vCPU, 3–4 ГБ), хранение на HDD pool, настрой retention.
- Настройте резервные копии конфигурации/VM на внешний диск 1ТБ/4ТБ по расписанию.
- Настройте VLAN для камер и QoS на роутере.
12) Что ещё важно
- Если в будущем планируете много камер и хранение — подумайте о добавлении больших дисков (4 ТБ) в RAID или отдельный NAS.
- Если захотите GPU passthrough для видеокодирования — учтите совместимость материнской платы/CPU и необходимость отдельной GPU на Linux.
Если хотите — могу:
- На основе точных характеристик вашего сервера (CPU, RAM, кол‑во камер, типы камер, требуемая retention) прислать конкретную конфигурацию VM/LXC (ядра, RAM, диски, storage pools) и примерный layout хранилищ в Proxmox.
- Прислать пошаговую инструкцию развертывания Immich и Shinobi под Proxmox (LXC vs VM) и примеры настройки хранения и бэкапов.
Скажите, пожалуйста: сколько у вас RAM и ядер CPU, сколько камер и их типы (H.264/H.265, поток kbps), и планируете ли доступ к Windows или Immich из интернета? Тогда дам точные рекомендации.