Files
SKADA/docs/TZ-proxmox-konsolidaciya.md
T
PTah d76958f651 docs(TZ): рекомендация MegaRAID RAID10 + LVM-thin, подбор контроллеров
Добавлен раздел 3.1 о подсистеме хранения: Broadcom/LSI MegaRAID с BBU/CacheVault, RAID10/RAID1, ext4+LVM-thin. Таблица моделей контроллеров (9560-8i, 9460-8i, 9361-8i, PERC H730p).

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

465 lines
27 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.1 |
| Дата | 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 ГБ ОЗУ).
**Хранилище:** enterprise RAID-контроллер Broadcom/LSI MegaRAID с BBU/CacheVault, RAID10 (предпочтительно) или RAID1, поверх — **LVM-thin / ext4** (см. раздел 3.1).
---
## 3.1. Подсистема хранения (общая для обоих вариантов)
### Рекомендуемая схема
Для промышленного сервера с одновременной работой баз данных СКАДА, ЛЭРС и «Меркурия» **рекомендуется** использовать **аппаратный RAID** на базе enterprise-контроллера **Broadcom/LSI MegaRAID** с обязательной защитой write-back кэша (**BBU** или **CacheVault**), а не ZFS mirror на «голых» дисках.
```
Физические SSD/SAS-диски
Broadcom/LSI MegaRAID (RAID10 или RAID1, Write-Back + BBU/CacheVault)
Один виртуальный диск (VD) / несколько VD
Proxmox VE: ext4 + LVM-thin (local-lvm) — диски ВМ
```
### Почему RAID10 + LVM-thin, а не ZFS поверх MegaRAID
| Критерий | RAID10 + LVM-thin/ext4 | ZFS mirror на raw-дисках |
|----------|------------------------|--------------------------|
| Защита write-cache при сбое питания | BBU / CacheVault на контроллере | Нет аппаратного кэша |
| IOPS при записи в БД | RAID10 — лучший random write | Хорошо, но без HW-кэша |
| Hot-swap / predictive fail | Штатно через MegaRAID | Зависит от корзины |
| Совместимость с Proxmox | Нативная (LVM-thin по умолчанию) | Требует ZFS на root |
| ZFS поверх HW RAID | **Не использовать** — двойная абстракция, нет смысла | — |
> **Важно.** При использовании MegaRAID Proxmox устанавливается на **ext4 + LVM-thin**, а не на ZFS. ZFS поверх аппаратного RAID **не применяется**.
### Уровни RAID
| Уровень | Минимум дисков | Ёмкость | Отказоустойчивость | Рекомендация |
|---------|---------------|---------|-------------------|--------------|
| **RAID1** | 2 | 50% | 1 диск | Минимальная конфигурация, бюджет |
| **RAID10** | 4 | 50% | 1 диск в каждой паре | **Предпочтительно** для СКАДА/ЛЭРС |
**RAID10 предпочтительнее RAID1** при нагрузке от четырёх одновременных баз данных: выше random write IOPS, быстрее rebuild, ниже риск деградации при активной записи архивов.
### Диски
| Параметр | Рекомендация |
|----------|-------------|
| Тип | Enterprise SAS SSD или SATA SSD (Samsung PM893, Micron 5400, Kingston DC600M) |
| Объём | 4× 960 ГБ 1,92 ТБ (RAID10) или 2× 12 ТБ (RAID1) |
| Интерфейс | SAS 12G или SATA через SFF-8643/SFF-8087 кабели/бэкплейн |
| NVMe | Только через Tri-Mode контроллеры (см. таблицу ниже); для tower-сборки проще SAS/SATA SSD |
### RAID-контроллеры (подбор моделей)
Обязательные требования к контроллеру:
- чип **Broadcom/LSI MegaRAID** (не FakeRAID материнской платы);
- **кэш DDR** на плате контроллера (≥1 ГБ);
- **BBU** (Battery Backup Unit) **или CacheVault** (CVPM02 / CVPM05) — **обязательно**;
- режим **Write-Back** (Write-Back with BBU/CacheVault);
- поддержка **RAID10**;
- драйвер `megaraid_sas` в Linux (штатно в Proxmox).
#### Рекомендуемые модели (по приоритету)
| Приоритет | Модель | Порты | Кэш | Защита кэша | PCIe | Комментарий |
|-----------|--------|-------|-----|-------------|------|-------------|
| **1** | **Broadcom MegaRAID 9560-8i** | 8 int | 4 ГБ | CacheVault CVPM05 | 4.0 ×8 | Актуальное поколение, PCIe 4.0, оптимален для 48 SSD в RAID10 |
| **2** | **Broadcom MegaRAID 9460-8i** | 8 int | 2 ГБ | CacheVault CVPM05 | 3.0 ×8 | Tri-Mode (SAS/SATA/NVMe), проверен в Proxmox, хорошее соотношение цена/надёжность |
| **3** | **Broadcom MegaRAID 9460-16i** | 16 int | 4 ГБ | CacheVault CVPM05 | 3.0 ×8 | Если нужно ≥8 дисков или отдельный RAID1 (boot) + RAID10 (data) |
| **4** | **LSI/Broadcom MegaRAID 9361-8i** | 8 int | 12 ГБ | CVPM02 / BBU | 3.0 ×8 | Предыдущее поколение, широко доступен б/у, полностью совместим |
| **5** | **Dell PERC H730p** (rebadged 9361) | 8 int | 2 ГБ | BBU / CacheVault | 3.0 ×8 | При покупке готового Dell R730/R740 — проверенная связка |
#### Допустимые модели (если основные недоступны)
| Модель | Кэш | Защита | Ограничение |
|--------|-----|--------|-------------|
| Broadcom MegaRAID 9560-16i | 8 ГБ | CacheVault CVPM05 | Избыточен для 4 дисков, но допустим |
| Broadcom MegaRAID 9480-8i8e | 4 ГБ | CacheVault CVPM05 | 8 int + 8 ext — если нужен внешний корз |
| LSI MegaRAID 9271-8i | 1 ГБ | BBU | Устаревшее поколение 6 Gb/s, только SAS2/SATA |
#### Не рекомендуется
| Модель / тип | Причина |
|--------------|---------|
| MegaRAID **9440-8i**, **9540-8i** | Нет кэша и CacheVault — write-back невозможен |
| FakeRAID (Intel RST, AMD RAID) | Нестабильная работа с Linux/Proxmox |
| HBA 9400-8i (IT mode) | Нет аппаратного RAID — только для ZFS |
| MegaRAID без BBU/CacheVault | Риск потери данных в кэше при сбое питания |
### Рекомендуемые конфигурации массивов
#### Конфигурация «оптимум» (рекомендуется)
| Параметр | Значение |
|----------|----------|
| Контроллер | MegaRAID 9560-8i или 9460-8i + CVPM05 |
| Диски | 4× SAS/SATA SSD 960 ГБ 1,92 ТБ |
| RAID | **RAID10** |
| Полезный объём | ~1,9 – 3,8 ТБ |
| VD | 1 виртуальный диск → весь объём в LVM-thin |
| Политика кэша | Write-Back (Enabled with BBU/CacheVault) |
| Инициализация | Fast Init + фоновый Patrol Read |
#### Конфигурация «минимум» (бюджет)
| Параметр | Значение |
|----------|----------|
| Контроллер | MegaRAID 9361-8i + CVPM02 |
| Диски | 2× SATA SSD 12 ТБ |
| RAID | **RAID1** |
| Полезный объём | ~1 – 2 ТБ |
| VD | 1 виртуальный диск → LVM-thin |
### Установка Proxmox на RAID
При установке Proxmox VE:
1. В BIOS контроллера MegaRAID создать VD (RAID10/RAID1).
2. В инсталляторе Proxmox выбрать созданный VD.
3. Filesystem: **ext4**.
4. Storage: **LVM-thin** (стандартный `local-lvm` для дисков ВМ).
5. **Не выбирать ZFS** при аппаратном RAID.
### Мониторинг RAID
```bash
# Установить утилиты (на хосте Proxmox)
apt install storcli64 # или megacli / perccli для Dell
# Проверка состояния массива
storcli64 /c0 show
storcli64 /c0/vall show
storcli64 /c0/eall/sall show
```
Настроить оповещения: degraded array, predictive failure, BBU/CacheVault charge low.
### Альтернатива (бюджетная tower-сборка без RAID-контроллера)
Если сервер собирается как **настольный ПК** без серверной корзины и RAID-контроллера:
- 2× NVMe в режиме **AHCI** (не FakeRAID);
- **ZFS mirror** при установке Proxmox;
- без аппаратного RAID.
Этот вариант допустим для Варианта А (комната диспетчеров), но **для серверной (Вариант Б) предпочтителен MegaRAID + RAID10**.
---
## 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 — желательно на серверных платах |
| RAID-контроллер | Broadcom MegaRAID 9460-8i или 9560-8i + CacheVault CVPM05 | RAID10 из 4× SSD, LVM-thin/ext4 (раздел 3.1) |
| Диски | 4× SAS/SATA SSD 960 ГБ 1,92 ТБ (RAID10) | Enterprise SSD; альтернатива: 2× NVMe 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) |
| RAID | Broadcom MegaRAID 9460-8i + CVPM05 |
| SSD | 4× Samsung PM893 960GB (RAID10) |
| 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 | Серверная плата с PCIe ×8/×16 для RAID-контроллера или Supermicro |
| RAM | 64 ГБ |
| RAID-контроллер | Broadcom MegaRAID 9560-8i + CacheVault CVPM05 | RAID10, LVM-thin (раздел 3.1) |
| SSD | 4× SAS/SATA SSD 960 ГБ 1,92 ТБ | Enterprise, RAID10 |
| 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 |
| Хранилище | RAID10 + LVM-thin или ZFS mirror (бюджет) | RAID10 + LVM-thin (раздел 3.1) |
| **Рекомендация** | Сервер рядом с мониторами | Сервер в серверной |
---
## 7. План работ (этапы)
| Фаза | Содержание | Срок |
|------|-----------|------|
| 0 | Инвентаризация, бэкапы, выбор варианта | 3–5 дней |
| 1 | Закупка и сборка железа, RAID-контроллер, проверка 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, резервный клиент |
| Сбой RAID-массива (degraded) | Средняя | Hot-spare; мониторинг storcli; UPS |
| 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. Журнал изменений.