VDI / терминальный сервер
Два способа вынести рабочие столы пользователей на сервер в ЦОД: своя виртуальная машина каждому (VDI) или общие сессии в одной ОС (терминальный сервер).
Что такое VDI / терминальный сервер
VDI расшифровывается как Virtual Desktop Infrastructure — инфраструктура виртуальных рабочих столов. Идея простая: рабочий стол пользователя выполняется не на его компьютере, а на сервере в ЦОД, а до пользователя по сети доезжает только картинка. Обратно уходят нажатия клавиш и движения мыши.
Терминальный сервер решает ту же задачу другим способом. На Windows Server поднимается роль RDS (Remote Desktop Services, до 2008 года — Terminal Services), и все пользователи работают в сессиях внутри одной общей ОС.
Зачем это нужно: данные не покидают ЦОД (украли ноутбук — украли стекло и пластик), тяжёлые приложения работают рядом с базой, а не тянут её через интернет, парк рабочих мест обновляется в одном месте, и подключиться можно с чего угодно.
VDI и терминальный сервер: разница
| Терминальный сервер (RDS) | VDI | |
|---|---|---|
| Модель | одна ОС, много сессий | своя ВМ каждому пользователю |
| Изоляция | общая — сосед может съесть CPU | полная, ресурсы нарезаны |
| Права администратора | выдать нельзя | можно, в пределах своей ВМ |
| Софт | должен уметь работать в multi-session | любой, как на обычном ПК |
| При падении | ложится у всех сразу | ложится у одного |
| Плотность на железе | высокая | ниже, ОС дублируется |
| Стоимость | дешевле | дороже |
| Лицензии | Windows Server + RDS CAL | ОС на каждую ВМ + брокер подключений |
Практический вывод: терминальный сервер — дешёвый способ дать 30 бухгалтерам одно и то же приложение. VDI берут, когда пользователям нужны разные наборы софта, права администратора, изоляция друг от друга или гарантированные ресурсы.
Про лицензии стоит помнить отдельно: для терминального сервера RDS CAL покупаются сверх лицензии на сам Windows Server, по пользователям или по устройствам. Без сервера лицензирования роль работает в льготном периоде и затем перестаёт принимать подключения.
В VDI ВМ бывают персистентные (личная машина, изменения сохраняются) и неперсистентные (клонируется из золотого образа, при выходе откатывается). Второй вариант дешевле в обслуживании, но требует, чтобы профили и данные хранились отдельно от ВМ.
RDP, VNC и другие протоколы
Протокол — это то, как картинка и ввод ходят между сервером и пользователем.
RDP расшифровывается как Remote Desktop Protocol — протокол Microsoft (в разговоре «рдп»), штатный способ подключиться к Windows. Работает на порту 3389 (TCP, и UDP как дополнительный транспорт). Клиент в Windows — mstsc, в Linux — Remmina или FreeRDP. Передаёт не пиксели, а команды отрисовки, поэтому экономен к каналу. На Linux сервером RDP работает xrdp.
VNC расшифровывается как Virtual Network Computing — открытая система удалённого доступа поверх протокола RFB (Remote Framebuffer), порт 5900 плюс номер дисплея (:1 → 5901). В отличие от RDP просто гоняет содержимое экрана как картинку: работает где угодно и с любой ОС, но прожорливее к каналу и не даёт отдельных сессий — вы видите то же, что и человек за монитором. Классическая VNC-авторизация слабая и трафик не шифрует, поэтому VNC заворачивают в SSH или VPN. Реализации: TigerVNC, TightVNC, x11vnc, noVNC (доступ прямо из браузера).
Ещё встречаются: ICA/HDX (Citrix), Blast Extreme и PCoIP (VMware), SPICE (для ВМ на QEMU/KVM).
Из готовых платформ VDI строят на Citrix Virtual Apps and Desktops, VMware Horizon и Microsoft AVD; на российском рынке есть импортозамещающие решения, например Termidesk.
Что нужно для запуска
- CPU и RAM — считаются на пользователя и умножаются на всех. Офисный профиль скромен, но браузер с десятком вкладок давно не скромен.
- Диск — NVMe. Утренний boot storm, когда сотня рабочих столов стартует одновременно, убивает медленные диски.
- GPU — нужен для CAD, 3D и видео. Отдаётся через GPU passthrough (карта целиком одной ВМ) или через vGPU (карта делится между ВМ).
- Сеть — тонкому клиенту важнее стабильная задержка, чем толщина канала: рывки курсора раздражают сильнее, чем медленная картинка.
Безопасность
Главное правило: порт 3389 не должен смотреть в интернет. RDP, открытый наружу, находят сканерами за часы, дальше идёт перебор паролей, а история протокола знает уязвимости уровня BlueKeep, когда для захвата машины не нужен был даже пароль.
Правильно: доступ через VPN или RD Gateway, двухфакторная аутентификация, ограничение по IP на межсетевом экране, блокировка после неудачных попыток. Смена порта с 3389 на другой отсеивает только ленивые сканеры и защитой не является.
Связанные термины
- Виртуальная машина — основа VDI
- Гипервизор — на чём выполняются рабочие столы
- GPU passthrough — проброс видеокарты в ВМ под CAD и 3D
- VPN — как правильно пускать пользователей внутрь
- ЦОД — где физически стоят рабочие столы
- VPS — с чего обычно начинают небольшой терминальный сервер
Готовы запустить GPU-задачу?
Запустить GPU-сервер