Files
SKADA/docs/TZ-proxmox-konsolidaciya.md
T
PTah d239d426c2 docs: добавить ТЗ и инструкцию развёртывания Proxmox
Документация по консолидации СКАДА, ЛЭРС, лифтов и Меркурия на единый сервер Proxmox VE — два варианта (GPU passthrough и RDP).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 10:28:49 +10:00

316 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Техническое задание
## Консолидация систем СКАДА, ЛЭРС, лифты и «Меркурий» на единый сервер Proxmox VE
| Параметр | Значение |
|----------|----------|
| Версия | 1.0 |
| Дата | 09.07.2026 |
| Статус | Проектная документация |
| Связанный документ | [Развёртывание и настройка](razvertyvanie-proxmox.md) |
---
## 1. Цель проекта
Перенести с трёх отдельных компьютеров (Windows 10, Intel Core i5-7400, 8 ГБ RAM) на **один физический сервер** следующие системы:
| № | Система | Текущее размещение | Монитор |
|---|---------|-------------------|---------|
| 1 | СКАДА + «Меркурий» (USB-ключ защиты) | один ПК | 1 |
| 2 | ЛЭРС Учёт | отдельный ПК | 2 |
| 3 | Управление лифтами | отдельный ПК | 3 |
### 1.1. Требования
- три системы доступны оператору **одновременно**;
- изоляция систем друг от друга (падение одной не останавливает остальные);
- сохранение привычной работы оператора;
- резервное копирование и возможность восстановления;
- замена MOXA на другой контроллер — **отдельная фаза** (раздел 10).
---
## 2. Исходные данные
| Параметр | Значение |
|----------|----------|
| ОС на всех системах | Windows 10 |
| Мониторы | 3 шт., рядом (~1 м друг от друга) |
| USB-ключ защиты | только «Меркурий» (Guardant / HASP / Rutoken) |
| Связь со счётчиками | MOXA (Ethernet → COM), замена планируется позже |
| Текущая нагрузка | i5-7400, 8 ГБ RAM на каждый ПК |
---
## 3. Целевая архитектура (общая для обоих вариантов)
На гипервизоре **Proxmox VE 8.x** создаются **3 виртуальные машины**:
| ВМ | Назначение | vCPU | RAM | Диск |
|----|-----------|------|-----|------|
| VM-01 | СКАДА + «Меркурий» | 4–6 | 16–20 ГБ | 120200 ГБ |
| VM-02 | ЛЭРС Учёт | 4 | 1216 ГБ | 80120 ГБ |
| VM-03 | Управление лифтами | 4 | 12–16 ГБ | 80120 ГБ |
**Ресурсы хоста Proxmox:** 46 vCPU, 812 ГБ RAM (остаток от 64 ГБ ОЗУ).
**Хранилище:** ZFS mirror из 2× NVMe SSD на хосте.
---
## 4. Вариант А — GPU Passthrough (сервер в комнате диспетчеров)
### 4.1. Описание
Сервер располагается **рядом с рабочим местом оператора** (расстояние до мониторов 1–2 м). К каждой ВМ пробрасываются:
- отдельная видеокарта → свой монитор;
- отдельный комплект клавиатура/мышь;
- на VM-01: USB-ключ «Меркурия» и MOXA/конвертер (до замены).
Оператор работает **как на трёх отдельных компьютерах**.
### 4.2. Схема
```
┌─────────────────────────────────────────────────────────────┐
│ Сервер (Proxmox VE) — комната диспетчеров │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ VM-01 │ │ VM-02 │ │ VM-03 │ │
│ │СКАДА+ │ │ ЛЭРС │ │ Лифты │ │
│ │Меркурий │ │ │ │ │ │
│ └──┬───┬───┘ └──┬───┬───┘ └──┬───┬───┘ │
│ │GPU│USB │GPU│USB │GPU│USB │
└─────┼───┼─────────┼───┼─────────┼───┼───────────────────────┘
│ │ │ │ │ │
Мон.1 КМ1 Мон.2 КМ2 Мон.3 КМ3
USB-ключ + MOXA (VM-01)
```
### 4.3. Требования к оборудованию
> **Важно.** Абсолютной гарантии совместимости passthrough не существует — результат зависит от связки CPU + материнская плата + BIOS + GPU. Перед закупкой проверять IOMMU groups на [iommu.info](https://iommu.info/) и обсуждения на [форуме Proxmox](https://forum.proxmox.com/).
| Компонент | Рекомендация | Комментарий |
|-----------|-------------|-------------|
| CPU | AMD Ryzen 9 5900X (12C/24T) или Ryzen 9 7900 | IOMMU из коробки; Intel — только с VT-d |
| Материнская плата | ASUS ProArt X570-CREATOR WIFI (AM4) или ASUS ProArt X870E-CREATOR WIFI (AM5) | Хорошие IOMMU groups по отзывам сообщества Proxmox |
| Альтернатива (3 GPU) | ASRock X570 Taichi, ASUS WS X570-ACE, Supermicro H12SSL-i | Нужно 3 физических PCIe ×16 и проверка IOMMU groups |
| RAM | 64 ГБ DDR4/DDR5 | ECC — желательно на серверных платах |
| Диски | 2× NVMe 12 ТБ (Samsung 990 Pro, Kingston KC3000) | ZFS mirror на хосте |
| GPU ×3 | AMD RX 550 4GB Low Profile (**предпочтительно**) | Стабильнее NVIDIA; возможен AMD reset-bug → модуль `vendor-reset` |
| GPU (альтернатива) | NVIDIA GT 1030 Low Profile ×3 | Часто Code 43 → патч VBIOS, `hidden=1`, `cpu: host` |
| GPU хоста | Встроенная iGPU или отдельная служебная | Proxmox не должен использовать passthrough-GPU |
| БП | 750850 Вт, 80+ Gold | |
| UPS | 10001500 ВА, line-interactive | Сервер + мониторы |
| Сеть | 2× Gigabit | Отделение технологической сети (VLAN) |
| USB | 3+ независимых USB-контроллера или PCIe USB-карты | Надёжный passthrough КМ и USB-ключа |
#### Рекомендуемая конфигурация
| Позиция | Модель |
|---------|--------|
| CPU | AMD Ryzen 9 5900X |
| MB | ASUS ProArt X570-CREATOR WIFI |
| RAM | 64 ГБ DDR4-3200 (2×32) |
| SSD | 2× Samsung 990 Pro 1TB |
| GPU ×3 | Sapphire RX 550 4GB LP |
| БП | be quiet! Straight Power 11 850W |
| UPS | APC Smart-UPS 1500VA |
**Ориентир стоимости:** 150–220 тыс. ₽ (без мониторов и периферии).
#### Настройки BIOS (обязательно)
| Параметр | Intel | AMD |
|----------|-------|-----|
| Виртуализация | VT-x ON | SVM ON |
| IOMMU | VT-d ON | IOMMU ON (не Auto) |
| Режим загрузки | UEFI, CSM OFF | UEFI, CSM OFF |
| Above 4G Decoding | ON | ON |
| Resizable BAR | OFF (для NVIDIA) | по необходимости |
| Primary Display | iGPU (если есть) | iGPU (если есть) |
### 4.4. Плюсы и минусы
| Плюсы | Минусы |
|-------|--------|
| Полная автономность каждого рабочего места | Сложная настройка passthrough |
| Нет зависимости от сети для отображения | Сервер в комнате диспетчеров (шум, пыль) |
| Минимальная задержка ввода | Жёсткие требования к плате (3 PCIe ×16) |
| Привычно для оператора | NVIDIA может потребовать патч VBIOS |
---
## 5. Вариант Б — RDP (сервер в серверной)
### 5.1. Описание
Сервер располагается в **серверной / шкафу**. На рабочем месте диспетчеров — **клиентский ПК** с 3 мониторами. Оператор подключается к каждой ВМ по **RDP** в полноэкранном режиме на свой монитор.
### 5.2. Схема
```
┌──────────────────────┐ Gigabit LAN ┌─────────────────────┐
│ Серверная │◄────────────────────────────►│ Комната диспетчеров│
│ Proxmox VE │ (VLAN) │ Клиентский ПК │
│ ┌────┐┌────┐┌────┐ │ │ Монитор 1 → RDP VM-01
│ │VM01││VM02││VM03│ │ │ Монитор 2 → RDP VM-02
│ └──┬─┘└──┬─┘└──┬─┘ │ │ Монитор 3 → RDP VM-03
│ 1× GPU (админ) │ └─────────────────────┘
└──────────────────────┘
```
### 5.3. Требования к оборудованию
#### Сервер (серверная)
| Компонент | Рекомендация |
|-----------|-------------|
| CPU | AMD Ryzen 9 5900X / Intel Core i7-13700 (12+ ядер) |
| MB | Любая с VT-d/IOMMU |
| RAM | 64 ГБ |
| SSD | 2× NVMe 1TB, ZFS mirror |
| GPU | 1× GT 1030 или iGPU — только для консоли хоста |
| NIC | 2× Gigabit (Intel I210/I225 предпочтительнее Realtek) |
| UPS | Обязателен |
#### Клиентское рабочее место
| Компонент | Рекомендация |
|-----------|-------------|
| ПК | Intel NUC / Beelink / офисный mini-PC (i5, 8 ГБ RAM) |
| Мониторы | 3× существующих |
| КМ | 1 комплект (управление клиентом) |
| Сеть | Gigabit, задержка ≤5 мс до сервера |
| ОС | Windows 10/11 Pro |
#### Сеть
| Параметр | Требование |
|----------|-----------|
| Пропускная способность | ≥1 Gbps |
| Задержка | ≤5 мс |
| VLAN | Отделить SCADA/лифты от офисной сети |
| Firewall | RDP (TCP 3389) только клиент ↔ сервер |
### 5.4. USB-ключ «Меркурия»
USB-ключ остаётся **на сервере**, пробрасывается в VM-01. MOXA (до замены) работает по **Ethernet** — USB passthrough для MOXA не требуется.
### 5.5. Лицензирование RDP
Windows 10 Pro допускает **1 одновременную RDP-сессию** на ВМ. Для данного проекта достаточно: клиент открывает 3 отдельных RDP-подключения к 3 разным ВМ.
### 5.6. Плюсы и минусы
| Плюсы | Минусы |
|-------|--------|
| Сервер в серверной (тише, безопаснее) | Зависимость от сети |
| Не нужны 3 GPU и сложный passthrough | Клиентский ПК — дополнительная точка отказа |
| Проще железо и поддержка | Задержка ввода (обычно незаметна в LAN) |
| Дешевле | При обрыве сети — нет доступа к системам |
---
## 6. Сравнение вариантов
| Критерий | Вариант А (GPU) | Вариант Б (RDP) |
|----------|----------------|-----------------|
| Расположение сервера | Комната диспетчеров | Серверная |
| Сложность внедрения | Высокая | Средняя |
| Стоимость железа | Выше (+3 GPU) | Ниже |
| Надёжность отображения | Не зависит от сети | Зависит от LAN |
| Изоляция систем | Полная | Полная |
| USB-ключ «Меркурия» | Passthrough | Passthrough |
| **Рекомендация** | Сервер рядом с мониторами | Сервер в серверной |
---
## 7. План работ (этапы)
| Фаза | Содержание | Срок |
|------|-----------|------|
| 0 | Инвентаризация, бэкапы, выбор варианта | 3–5 дней |
| 1 | Закупка и сборка железа, проверка IOMMU (Вариант А) | 3–7 дней |
| 2 | Установка Proxmox VE | 1 день |
| 3 | Создание 3 ВМ, установка Windows 10 | 12 дня |
| 4 | Миграция СКАДА, «Меркурия», ЛЭРС, лифтов | 2–5 дней |
| 5 | Настройка passthrough (А) или RDP (Б) | 12 дня |
| 6 | Настройка резервного копирования | 0.5 дня |
| 7 | Параллельная эксплуатация и тесты | 7–14 дней |
| 8 | Ввод в промышленную эксплуатацию | 1 день |
Подробные команды и процедуры — в документе [Развёртывание и настройка](razvertyvanie-proxmox.md).
---
## 8. Критерии приёмки
| № | Критерий | Вариант А | Вариант Б |
|---|----------|-----------|-----------|
| 1 | 3 системы работают одновременно | ✓ | ✓ |
| 2 | Каждая система на своём мониторе | ✓ | ✓ |
| 3 | USB-ключ «Меркурия» определяется ПО | ✓ | ✓ |
| 4 | Опрос счётчиков через MOXA работает | ✓ | ✓ |
| 5 | Reboot одной ВМ не влияет на другие | ✓ | ✓ |
| 6 | Reboot хоста → autostart всех ВМ ≤10 мин | ✓ | ✓ |
| 7 | Ежедневный vzdump-бэкап выполняется | ✓ | ✓ |
| 8 | Restore из бэкапа проверен | ✓ | ✓ |
---
## 9. Риски и меры
| Риск | Вероятность | Мера |
|------|-------------|------|
| Code 43 (NVIDIA passthrough) | Средняя | AMD RX 550; патч VBIOS |
| IOMMU groups «склеены» | Средняя | Проверка до покупки; ACS override (крайний случай) |
| USB-ключ нестабилен в VM | Низкая | Passthrough USB-контроллера целиком |
| AMD GPU reset-bug | Средняя | Модуль `vendor-reset` |
| Единая точка отказа (сервер) | Высокая | UPS + vzdump + процедура restore ≤4 ч |
| Обрыв сети (Вариант Б) | Средняя | Выделенный VLAN, резервный клиент |
| Windows Update перезагрузка | Средняя | Отложенные обновления, maintenance window |
---
## 10. Будущая фаза: замена MOXA на Меркурий-220/221
> **Статус:** не входит в текущий объём работ. Выполняется после стабилизации основной системы.
| № | Действие |
|---|----------|
| 10.1 | Определить модель: **Меркурий-221 (USB)** — предпочтительно |
| 10.2 | Подключить к серверу, passthrough в VM-01 по vendor:product ID |
| 10.3 | Установить драйвер USB-COM в Windows VM-01 |
| 10.4 | Перенастроить «Меркурий»: COM-порт, скорость, адреса счётчиков |
| 10.5 | Параллельный опрос (MOXA + 221) 37 дней |
| 10.6 | Переключение на 221, отключение MOXA |
| 10.7 | Документирование новой схемы |
---
## 11. Рекомендация по выбору варианта
| Условие | Вариант |
|---------|---------|
| Сервер может стоять в комнате диспетчеров | **А** (GPU passthrough) |
| Сервер только в серверной | **Б** (RDP) |
| Нет опыта с passthrough / ограничен бюджет | **Б** |
| Критична минимальная задержка и автономность | **А** |
| Не уверены в совместимости железа | Начать с **Б** |
---
## 12. Передаваемая документация
После внедрения подготовить:
1. Схема сети (IP, VLAN, порты).
2. Таблица passthrough (GPU ↔ VM, USB ↔ VM).
3. Учётные записи и пароли (в защищённом хранилище).
4. Инструкция: перезагрузка сервера, restore из бэкапа.
5. Журнал изменений.