Служба удалённого администрирования (RAS) — центральный компонент управления кластером серверов 1С:Предприятие. Она позволяет централизованно контролировать все рабочие процессы, распределять нагрузку между серверами и отслеживать производительность системы в режиме реального времени. В этом гайде разберём архитектуру RAS, настроим балансировку нагрузки и научимся мониторить ключевые метрики.
Что такое RAS-сервер и как он работает
RAS (Remote Administration Server) — служба, которая принимает команды от консоли администрирования и передаёт их агентам кластера. Каждый кластер 1С имеет один главный менеджер кластера (Central Server), который координирует работу всех узлов.
Архитектура включает три уровня:
- Консоль администрирования — инструмент управления (rac.exe, веб-интерфейс или сторонние утилиты)
- RAS-сервер — обрабатывает запросы администратора и передаёт команды агентам
- Агенты кластера — выполняют операции на серверах приложений (запуск/остановка процессов, сбор статистики)
По умолчанию RAS работает на порту 1545. Связь между компонентами происходит по TCP с использованием собственного протокола 1С.
Основные функции RAS
| Функция | Описание |
|---|---|
| Управление рабочими процессами | Запуск, остановка, перезапуск процессов rphost на серверах кластера |
| Балансировка нагрузки | Распределение пользовательских подключений между доступными процессами |
| Мониторинг производительности | Сбор метрик: загрузка CPU, память, количество сеансов, длительность вызовов |
| Управление лицензиями | Контроль доступных клиентских лицензий и их распределение |
| Администрирование информационных баз | Блокировка фоновых заданий, установка расписаний, управление сеансами |
Установка и первичная настройка RAS-сервера
Подготовка серверной инфраструктуры
Для работы кластера 1С требуется выделенное серверное оборудование с достаточной производительностью. Минимальные требования к серверу для RAS — 4 ГБ RAM и 2 ядра CPU, но для продуктивных кластеров с десятками пользователей рекомендуем конфигурации с 16-32 ГБ оперативной памяти и процессорами Intel Xeon уровня E5 или новее.
- Установите платформу 1С:Предприятие 8.3 на сервер, где будет работать агент кластера
- Откройте порты 1540-1541 (агент кластера) и 1545 (RAS) в брандмауэре Windows или iptables
- Создайте учётную запись службы в Active Directory с правами локального администратора на серверах кластера
- Запустите службу «Агент сервера 1С:Предприятие 8.3» от имени созданной учётной записи
Регистрация кластера и запуск RAS
После установки агента кластера регистрируем его как центральный сервер:
cluster --create --host=server1c-01 --port=1541 --name="Production Cluster"
Запускаем службу RAS:
ras cluster --daemon --port=1545
Проверяем доступность:
rac cluster list --cluster=<cluster-id>
Команда должна вернуть список кластеров с указанием host, port и состояния (started).
Добавление серверов в кластер 1С
Регистрация рабочих серверов
После создания центрального кластера добавляем дополнительные серверы приложений. Каждый сервер должен иметь установленную платформу 1С той же версии, что и центральный сервер.
Процедура добавления сервера
- На новом сервере установите платформу 1С и запустите службу агента кластера
- В консоли администрирования подключитесь к центральному кластеру
- Выполните команду регистрации через rac:
rac server --cluster=<cluster-id> insert --server=server1c-02 --agent-host=server1c-02 --agent-port=1541 --port-range=1560:1591 - Укажите диапазон портов для рабочих процессов (по умолчанию 1560-1591, можно изменить при необходимости)
- Проверьте статус сервера командой
rac server list— он должен отображаться как active
Настройка профиля рабочих процессов
Профиль определяет количество рабочих процессов (rphost) на каждом сервере и их параметры. Создайте профиль через консоль:
rac profile --cluster=<cluster-id> insert --name="Standard" --descr="8 процессов по 2 ГБ" --max-memory=2048 --all-connection-max=128
Параметры профиля:
- max-memory — максимальный объём оперативной памяти для одного процесса (в МБ)
- all-connection-max — лимит одновременных подключений к процессу
- avg-call-time-limit — средний лимит времени выполнения вызова (в мс), после превышения процесс перезапускается
- avg-threads-limit — средний лимит активных потоков в процессе
Назначьте профиль серверу:
rac server --cluster=<cluster-id> --server=<server-id> update --profile=<profile-id>
Балансировка нагрузки в кластере
Кластер 1С распределяет пользовательские подключения между доступными рабочими процессами автоматически. Механизм балансировки учитывает текущую загрузку процессов и распределяет новые сеансы на наименее занятые узлы.
Алгоритмы балансировки
Платформа 1С использует два основных алгортима:
- По производительности — новый сеанс открывается на процессе с наименьшей загрузкой CPU и памяти
- По приоритету — администратор вручную назначает приоритеты серверам (0-100), сеансы открываются сначала на серверах с высоким приоритетом
По умолчанию используется балансировка по производительности. Чтобы изменить приоритет сервера:
rac server --cluster=<cluster-id> --server=<server-id> update --priority=90
Назначение серверов под конкретные задачи
Для повышения производительности можно разделить серверы по типам нагрузки:
| Тип сервера | Назначение | Рекомендуемая конфигурация |
|---|---|---|
| Фронтальные серверы | Интерактивная работа пользователей (тонкий/толстый клиент) | Больше ядер CPU, меньше памяти на процесс (1-2 ГБ) |
| Фоновые серверы | Регламентные задания, отчёты, обмены данными | Много памяти на процесс (4-8 ГБ), SSD для временных файлов |
| Сервер HTTP-соединений | Веб-клиент, REST API, публикации OData | Высокая пропускная способность сети, производительные сетевые адаптеры |
Чтобы ограничить типы подключений для сервера:
rac server --cluster=<cluster-id> --server=<server-id> update --enable=off --enable-http-service=on
Эта команда отключает интерактивные подключения, но разрешает HTTP-соединения через веб-клиент.
Настройка информационных баз в кластере
Создание и регистрация базы данных
Информационная база регистрируется в кластере через консоль администрирования. Процедура:
- Создайте пустую базу на SQL Server или PostgreSQL
- Зарегистрируйте её в кластере командой:
rac infobase --cluster=<cluster-id> create --name="Production" --dbms=MSSQLServer --db-server=sql01 --db-name=1c_prod --db-user=1c_dbo --db-pwd="password" --locale=ru_RU --create-database - Укажите учётные данные администратора информационной базы:
rac infobase --cluster=<cluster-id> --infobase=<infobase-id> update --admin-name=Администратор --admin-pwd="admin"
Распределение задач между серверами кластера
Для каждой информационной базы можно назначить серверы, которые будут обслуживать фоновые задания. Это позволяет изолировать регламентные операции от интерактивной работы:
rac infobase --cluster=<cluster-id> --infobase=<infobase-id> update-group-assignment --server=<server-id> --scheduled-jobs-enabled=on --operations-enabled=off
Параметры:
- scheduled-jobs-enabled — разрешить выполнение регламентных заданий
- operations-enabled — разрешить интерактивные операции пользователей
Мониторинг производительности кластера
Ключевые метрики для отслеживания
Администрирование кластера серверов 1с невозможно без контроля производительности. RAS-сервер собирает статистику по каждому рабочему процессу и информационной базе. Основные показатели:
| Метрика | Нормальное значение | Критическое значение |
|---|---|---|
| Загрузка CPU процесса rphost | < 70% | > 90% |
| Использование памяти процесса | < 80% от max-memory | > 95% от max-memory |
| Количество активных сеансов | < all-connection-max × 0.7 | > all-connection-max × 0.9 |
| Среднее время вызова СУБД | < 50 мс | > 200 мс |
| Количество блокировок транзакций | 0-5 | > 20 |
Сбор статистики через RAC
Получите список активных сеансов:
rac session list --cluster=<cluster-id> --infobase=<infobase-id>
Вывод содержит идентификаторы сеансов, имена пользователей, IP-адреса, время запуска и потребление памяти.
Для детального анализа производительности используйте технологический журнал. Включите запись событий:
rac infobase --cluster=<cluster-id> --infobase=<infobase-id> update --event-log-level=Note --log-directory="\\server1c-01\TechLog"
Парсите логи утилитами вроде logcfg или сторонними анализаторами (например, Loginom, Log Parser Studio).
Автоматизация мониторинга
Для постоянного контроля настройте скрипты, которые опрашивают RAS каждые 1-5 минут:
#!/bin/bash
CLUSTER_ID="..."
INFOBASE_ID="..."
THRESHOLD=90
CPU=$(rac process list --cluster=$CLUSTER_ID | grep rphost | awk '{sum+=$5} END {print sum/NR}')
if (( $(echo "$CPU > $THRESHOLD" | bc -l) )); then
echo "Высокая загрузка CPU: $CPU%" | mail -s "Alert 1C Cluster" admin@domain.com
fi
Альтернатива — интеграция с системами мониторинга (Zabbix, Prometheus). Существуют готовые экспортёры метрик 1С для этих платформ.
Типовые конфигурации кластера для разных нагрузок
| Сценарий | Серверы | Конфигурация | Компоненты |
|---|---|---|---|
| Малый кластер (до 30 пользователей) | 1 сервер | Intel Xeon E-2388G, 32 ГБ RAM, 2×480 ГБ SSD RAID-1 | Агент + RAS + СУБД на одной машине, серверная память DDR4 ECC |
| Средний кластер (30-100 пользователей) | 2 сервера приложений + 1 сервер СУБД | 2× Intel Xeon Silver 4314, 64 ГБ RAM, 4×960 ГБ SSD RAID-10 | Агент + RAS на каждом сервере приложений, выделенный SQL Server |
| Крупный кластер (100-500 пользователей) | 4-6 серверов приложений + отказоустойчивый SQL кластер | Intel Xeon Gold 6338, 128 ГБ RAM, NVMe SSD 2 ТБ | Разделение фронтальных/фоновых серверов, быстрые SSD-накопители под временные файлы |
| Территориально распределённый кластер | 2-3 кластера в разных ЦОД с репликацией БД | Зависит от филиалов | Каждый кластер — автономный, синхронизация через планы обмена 1С или репликацию СУБД |
При выборе оборудования учитывайте не только количество пользователей, но и специфику конфигурации 1С. Например, для систем с тяжёлыми отчётами и сложной логикой потребуется больше процессорных ядер и памяти, чем для простых CRM-систем. Подбирайте конфигурацию исходя из нагрузочного тестирования на реальных данных.
Частые ошибки при администрировании кластера
Ошибка подключения к RAS-серверу
Симптомы: консоль администрирования не может подключиться к кластеру, ошибка «Соединение с сервером не установлено».
Причины:
- Служба RAS не запущена или остановлена
- Порт 1545 заблокирован брандмауэром
- Неправильно указан адрес центрального сервера кластера
Решение:
- Проверьте статус службы:
systemctl status ras(Linux) или в диспетчере служб Windows - Убедитесь, что порт 1545 открыт:
netstat -an | grep 1545 - Попробуйте подключиться локально с сервера кластера:
rac cluster list localhost:1545
Рабочие процессы не запускаются автоматически
Симптомы: после добавления сервера в кластер процессы rphost не появляются в списке, пользователи не могут подключиться.
Причины:
- Не назначен профиль рабочих процессов для сервера
- Служба агента кластера работает под учётной записью без прав доступа к каталогу данных платформы
- Порты диапазона рабочих процессов (1560-1591) заняты другими приложениями
Решение:
- Назначьте профиль командой
rac server update --profile=<profile-id> - Проверьте права учётной записи службы на папку C:\Program Files\1cv8\srvinfo (Windows) или /opt/1cv8/srvinfo (Linux)
- Измените диапазон портов в профиле или освободите занятые порты
Медленная работа при высокой нагрузке
Симптомы: пользователи жалуются на «зависания», выполнение операций занимает десятки секунд.
Причины:
- Недостаточно рабочих процессов на серверах кластера
- Слишком много сеансов на один процесс (превышен параметр all-connection-max)
- Узкое место в дисковой подсистеме или сети
- Блокировки транзакций на уровне СУБД
Решение:
- Увеличьте количество рабочих процессов в профиле (но не более числа ядер CPU × 2)
- Добавьте серверы в кластер для распределения нагрузки
- Проанализируйте технологический журнал — найдите медленные запросы и оптимизируйте индексы СУБД
- Используйте блоки питания с высоким КПД и эффективные системы охлаждения, чтобы избежать троттлинга процессоров под нагрузкой
Потеря связи с агентом кластера
Симптомы: сервер отображается как offline в консоли администрирования, но операционная система и службы работают.
Причины:
- Служба агента кластера аварийно завершилась (out of memory, crash процесса)
- Сетевая недоступность между центральным сервером и агентом
- Рассинхронизация версий платформы 1С на серверах кластера
Решение:
- Перезапустите службу агента на проблемном сервере
- Проверьте сетевое соединение командой
pingиtelnet <host> 1541 - Обновите платформу на всех серверах до одинаковой версии (важно: обновляйте только в режиме обслуживания, предварительно заблокировав новые подключения)
Часто задаваемые вопросы
Можно ли использовать несколько RAS-серверов для одного кластера?
Да, можно настроить несколько RAS-серверов для отказоустойчивости. Каждый RAS подключается к одному и тому же центральному серверу кластера. Если основной RAS недоступен, консоль администрирования автоматически переключается на резервный. Для этого укажите список адресов RAS через запятую при подключении: rac cluster list server1c-01:1545,server1c-02:1545.
Как ограничить количество одновременных сеансов пользователя?
Настройте лимит в параметрах информационной базы командой: rac infobase --cluster=<cluster-id> --infobase=<infobase-id> update --sessions-deny=on --denied-from="2025-01-15T09:00" --denied-to="2025-01-15T18:00" --permission-code="maintenance". Пользователи без специального кода доступа не смогут создать новый сеанс в указанный период. Для ограничения числа сеансов одного пользователя используйте внешние средства контроля или настройте правила в самой конфигурации 1С.
Какие порты нужно открыть в брандмауэре для работы кластера?
Минимальный набор портов: 1540-1541 (агент кластера), 1545 (RAS-сервер), 1560-1591 (рабочие процессы по умолчанию), 1538 (служба лицензирования). Также откройте порты для подключения к СУБД: 1433 (MS SQL Server), 5432 (PostgreSQL) или другие в зависимости от используемой системы. Для веб-клиента дополнительно потребуется порт веб-сервера (обычно 80 или 443).