Remote Desktop Services: развёртывание терминальной фермы для офиса 30–80 пользователей
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. Терминальные фермы на RDS я строю с 2010 года — от одного сервера на 15 пользователей до ферм на 8 RDSH в дата-центре МТС с отказоустойчивыми RDCB. RDS даёт офисам то, что не даст ни одно облако: быструю работу 1С, полный контроль над данными, предсказуемую стоимость.
Из чего состоит RDS-ферма
| Роль | Назначение | HA |
|---|---|---|
| RDSH (Session Host) | Где сидят пользователи | 2+ в коллекции |
| RDCB (Connection Broker) | Балансировка и переподключение | 2 в HA + SQL |
| RDWA (Web Access) | Портал для RemoteApp | 2 за NLB |
| RDG (Gateway) | Внешний доступ через HTTPS | 2 за NLB |
| RDLS (Licensing) | Выдача CAL | 1-2 резервных |
Подготовка: домен и серверы
RDS требует Active Directory. Минимальная схема для 30 пользователей: один RDSH + один RDCB (или совмещённый RDCB+RDWA+RDLS) + RD Gateway в DMZ.
Установка ролей через Server Manager
# На любом сервере RDCB-кандидате
# Server Manager → Add Roles → Remote Desktop Services installation →
# Quick Start или Standard deployment → Session-based deployment
# Или PowerShell
New-RDSessionDeployment -ConnectionBroker rdcb01.corp.local `
-WebAccessServer rdwa01.corp.local `
-SessionHost @("rdsh01.corp.local","rdsh02.corp.local")
Создание коллекции и публикация приложений
# Коллекция
New-RDSessionCollection -CollectionName "Office-Users" `
-SessionHost @("rdsh01.corp.local","rdsh02.corp.local") `
-CollectionDescription "Основная коллекция офиса" `
-ConnectionBroker rdcb01.corp.local
# Разрешение пользователей
Set-RDSessionCollectionConfiguration -CollectionName "Office-Users" `
-UserGroup "CORP\Office_RDS_Users" `
-ConnectionBroker rdcb01.corp.local
# Публикация RemoteApp
New-RDRemoteApp -CollectionName "Office-Users" -DisplayName "1С" `
-FilePath "C:\Program Files\1cv8\common\1cestart.exe" `
-ConnectionBroker rdcb01.corp.local
User Profile Disks
UPD — отдельный VHDX с профилем, монтируется к сессии на любом RDSH. Это решает проблему «пользователь вошёл на другой хост и потерял настройки».
Set-RDSessionCollectionConfiguration -CollectionName "Office-Users" `
-EnableUserProfileDisk `
-DiskPath "\\fileserver\rds_profiles$" `
-MaxUserProfileDiskSizeGB 10 `
-ConnectionBroker rdcb01.corp.local
FSLogix — современная альтернатива от Microsoft, включена в Windows Server 2022 RDS. У нас на практике на новых инсталляциях всегда FSLogix: он быстрее, стабильнее и поддерживает Office-контейнеры для Outlook и OneDrive.
Лицензирование
# Активация RDLS
# Через GUI: RD Licensing Manager → Activate Server
# Публикация режима лицензирования
Set-RDLicenseConfiguration -Mode PerUser `
-LicenseServer "rdls01.corp.local" `
-ConnectionBroker rdcb01.corp.local
Без активированного RDLS через 120 дней сервер перестанет принимать новые сессии.
Оптимизация RDSH под нагрузку
- CPU type в ВМ — host, без ограничений.
- Оперативки — 1,5 ГБ на пользователя + 8 ГБ для ОС.
- Диск — NVMe, минимум 500 ГБ на RDSH.
- TCP/UDP балансировка через Use Client Name в RDCB.
- Отключить ненужные компоненты: Defender для серверов только essentials, нет Cortana, нет Store.
- Power Plan — High Performance.
Мини-кейс: ферма для аудиторской компании
Ноябрь 2025, клиент — аудиторская фирма, 65 сотрудников, работа с 1С и MS Office. Раньше у всех были свои ноутбуки с локальными 1С-базами, постоянные проблемы с синхронизацией и бэкапом. Собрал RDS-ферму в дата-центре МТС: два RDSH на Dell Xeon Platinum 8280 по 40 vCPU и 256 ГБ RAM, RDCB в HA, RD Gateway с Azure MFA, FSLogix-профили на кластерном файл-сервере с SSD. Сеть 40G Mellanox до шлюза. Все пользователи сидят в терминалах через тонкие клиенты HP t530, ноутбуки получили только директора и продажники. Стоимость проекта — 1,9 млн руб. за железо и 240 000 руб. за внедрение. Срок работ — 9 дней. Экономия на лицензиях MS Office Per-Device вместо Per-User — 380 000 руб./год.
Типичные ошибки
- Ставят RDS на контроллер домена — официально не поддерживается, получают странные баги.
- UPD на обычном SMB без оптимизации под небольшие файлы — тормоза при логине.
- Один RDCB без HA — при падении пользователи не могут зайти.
- Забывают отключить IPv6 на RDSH, если в сети нет маршрутизации — таймауты логина по 30 сек.
- RemoteApp публикуется по IP, а не FQDN — не работает RDP Gateway.
- Централизованное логирование сессий не настроено — в инциденте нечего смотреть.
Развернём RDS-ферму под ключ за 2 недели
Проектирование, сборка железа, установка ролей и коллекций, FSLogix, RD Gateway с 2FA, миграция пользователей со старой инфраструктуры. Сопровождение 24/7 после запуска.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы
- Сколько серверов нужно для RDS?
- Минимум один RDSH (где сидят пользователи) и RDCB (брокер). Для отказоустойчивости — два RDSH в коллекции и два RDCB в HA.
- Какие CAL нужны?
- RDS CAL per-user или per-device, плюс Windows Server CAL. User — когда пользователей меньше, чем устройств. Device — наоборот.
- Что такое UPD?
- User Profile Disk — отдельный VHDX с профилем пользователя, монтируется на любом RDSH. Альтернатива Roaming Profiles и FSLogix.
- Какой сервер по мощности нужен?
- На 1С+Office с 20 пользователями достаточно 8 vCPU, 32 ГБ RAM. Масштабируется линейно: ~1,5 ГБ RAM и 0,3 ядра на активного юзера.
- Можно ли RDS на одной ВМ?
- Можно All-in-one, но для прода обязательно разделять. RDSH и RDCB на одной машине — путь к проблемам при обновлениях.