Второй рабочий сервер 1С в кластере: установка и подключение
Содержание
Второй сервер 1С ставят в два шага: на новую машину устанавливают ту же версию платформы с компонентой «Сервер 1С:Предприятия», затем в консоли администрирования добавляют её в существующий кластер как рабочий сервер. Информационные базы при этом переносить не нужно, они остаются на сервере СУБД.
Зачем это нужно: один сервер упирается в память и процессор, а пользователей становится больше. Второй рабочий сервер берёт часть сеансов на себя. Либо вы хотите, чтобы при падении одной машины работа не остановилась. Про отдельный независимый кластер с нуля речь не идёт: ниже именно расширение уже работающего.
Второй сервер не ускорит одно тяжёлое проведение или отчёт. Он распределяет сеансы, а не дробит один запрос. Если тормозит сама база или СУБД, второй сервер 1С ничего не даст.
1. Что подготовить до установки
Сначала убедитесь, что расширение имеет смысл, и соберите всё необходимое.
Проверьте узкое место. Откройте монитор ресурсов на текущем сервере в часы пик. Если процессор и память заняты рабочими процессами rphost, второй сервер поможет. Если упирается диск или SQL Server, сначала решайте это.
Что нужно на новой машине:
- 🖥️ та же операционная система семейства, что и на первом сервере (смешивать Windows и Linux в одном кластере можно, но администрировать сложнее);
- 💾 память с запасом: на каждый рабочий процесс закладывайте порядка 2-4 ГБ, на 100 активных пользователей обычно хватает 16-32 ГБ;
- 🌐 быстрая сеть между серверами 1С и сервером СУБД, желательно 1 Гбит/с и выше, один сегмент или минимальные задержки;
- 🔑 учётная запись для службы сервера 1С. Под Windows это обычно
USR1CV8, под Linux —usr1cv8; - 📦 дистрибутив платформы точно той же версии и разрядности, что на первом сервере, вплоть до номера сборки.
Версию узнайте в консоли администрирования или в свойствах службы на первом сервере. Расхождение даже в последней цифре сборки приведёт к тому, что рабочий сервер не зарегистрируется.
Порты и брандмауэр
Серверы общаются между собой по нескольким портам. Откройте их в обоих направлениях между узлами кластера.
| Назначение | Порт по умолчанию |
|---|---|
Агент сервера (ragent) | 1540 |
Главный менеджер кластера (rmngr) | 1541 |
Диапазон рабочих процессов (rphost) | 1560-1591 |
Сервер администрирования (ras) | 1545 |
Клиентам нужен доступ к порту 1541 и диапазону рабочих процессов. Если вы меняли порты на первом сервере, на втором выставьте такие же.
2. Как установить платформу на второй узел
Запустите установщик платформы от имени администратора. Это обычный setup.exe, как при установке первого сервера.
- На шаге выбора компонентов отметьте «1С:Предприятие» и «Сервер 1С:Предприятия». Клиентские компоненты можно не ставить, на сервере они не нужны.
- Если нужны веб-публикации, отметьте модули расширения веб-серверов. Для простого рабочего сервера они лишние.
- Установщик предложит поставить сервер как службу Windows. Согласитесь.
- Задайте пользователя службы. Выберите «Установить от имени пользователя
USR1CV8» и укажите пароль. Либо оставьте создание учётной записи установщику. - Дождитесь завершения и проверьте, что служба «Агент сервера 1С:Предприятия 8.3» запущена.
На Linux порядок другой: ставят пакеты 1c-enterprise-*-common, -server и при необходимости -ws, после чего запускают службу srv1cv8. Служба стартует от usr1cv8.
Не запускайте службу под учётной записью администратора. Права USR1CV8 нужны только на каталог данных сервера и сеть. Меньше прав — меньше последствий при взломе.
Каталог служебных данных
Каждый сервер хранит свои служебные файлы кластера: по умолчанию C:\Program Files\1cv8\srvinfo (путь в параметре запуска службы -d). Создайте каталог заранее и выдайте пользователю службы полный доступ. Диск лучше взять быстрый: туда пишутся журналы регистрации и временные файлы сеансов.
3. Как добавить второй сервер в кластер
Подключитесь консолью администрирования серверов 1С к первому серверу. Консоль ставится вместе с платформой или отдельным компонентом.
Шаги в консоли
- Разверните «Центральные серверы 1С:Предприятия», выберите свой сервер и нужный кластер.
- Найдите узел «Рабочие серверы» внутри кластера.
- Правой кнопкой по узлу — «Создать» → «Рабочий сервер».
- В поле «Имя компьютера» впишите имя или адрес второй машины. Порт агента —
1540, как на первой. - Не ставьте галочку «Центральный сервер». Центральным остаётся первый, главный менеджер кластера живёт на нём.
- Задайте лимиты (описано в следующем разделе) и нажмите «ОК».
Через несколько секунд в списке рабочих серверов появится новая строка. Если вместо неё всплыла ошибка соединения, перечитайте раздел про порты. Проверьте, что по имени второй сервер резолвится с первого: впишите его в hosts или DNS.
Что такое «центральный» и «рабочий»
Центральный сервер хранит реестр кластера и запускает главный менеджер. Рабочий только выполняет сеансы. Если центральный упал, кластер встаёт целиком: рабочие серверы без него не живут. Настоящей отказоустойчивости второй сервер сам по себе не даёт. Для этого нужен второй кластер и балансировщик перед ним, это уже другая задача.
4. Настройка рабочих процессов и распределения нагрузки
Новый сервер появился, но пока не факт, что он получит пользователей. Теперь определите, как кластер будет раздавать сеансы.
Откройте свойства нового рабочего сервера. Три параметра важнее остальных:
- Допустимый объём памяти рабочих процессов. При превышении кластер перезапустит процесс. Для сервера на 32 ГБ разумно начать со значения около 24 ГБ суммарно и смотреть динамику.
- Безопасный расход памяти за один вызов. Защита от одного «жадного» запроса, который съест всё. Обычно ставят порядка 1-2 ГБ.
- Количество информационных баз на рабочий процесс и соединений на рабочий процесс. Чем меньше значения, тем больше процессов запустится и тем стабильнее каждый. Часто работает схема 8-10 баз и 40-50 соединений на процесс.
Баланс между серверами
Откройте «Требования назначения функциональности» в кластере. Там задают, что и на каком сервере исполняется. По умолчанию всё распределяется автоматически, и кластер выбирает менее загруженный сервер. Для начала оставьте автоматику.
Когда понадобится ручное управление, возможны такие схемы:
| Схема | Когда подходит | Риск |
|---|---|---|
| Всё автоматически | Однотипные базы, равные серверы | Тяжёлые задания могут попасть на слабый сервер |
| Фоновые задания на втором, пользователи на первом | Много регламентных заданий и обмена | Если второй упадёт, регламент остановится |
| Крупная база на втором, остальные на первом | Одна база создаёт основную нагрузку | Неравномерная загрузка, ручной подбор |
Выберите схему, потом проверяйте по фактической загрузке. Менять её можно без остановки пользователей, но активные сеансы остаются на прежнем сервере до переподключения.
5. Лицензии при двух серверах
Лицензирование серверной части зависит от типа лицензий. Здесь легко ошибиться, поэтому проверьте условия по вашим документам, а не по чужому опыту.
Что обычно важно знать:
- 🔑 Клиентские лицензии (на сеансы пользователей) выдаются кластеру и делятся между серверами. Перекупать их под второй сервер не надо, если число одновременных пользователей не выросло.
- 🖥️ Серверная лицензия (программная или аппаратная) нужна для работы серверного ядра. Если ваша лицензия привязана к конкретной машине, на втором сервере придётся получить свою. Условия зависят от поставки: уточните у франчайзи.
- 📋 Программные лицензии активируются на компьютере, где работает процесс, запрашивающий лицензию. Для второго узла нужна отдельная активация.
- 🔌 Аппаратный ключ доступен только той машине, куда вставлен. Рабочий процесс на другом сервере его не увидит, если не настроен проброс ключа по сети.
Практический путь: после регистрации сервера откройте в консоли кластер, перейдите во «Лицензии» и посмотрите, какие выданы и кому. Если на втором сервере рабочие процессы запросили лицензию и получили отказ, ищите причину здесь.
Не пробуйте решать нехватку лицензий «обходными» способами. Используйте только легально приобретённые лицензии и официальную активацию через личный кабинет.
6. Что происходит с базами и метаданными
Это частый вопрос, поэтому коротко. Никакой репликации метаданных между серверами 1С не происходит. Конфигурация и данные хранятся в базе на сервере СУБД. Оба сервера 1С работают с одной и той же базой. Менять конфигурацию, обновлять её и загружать расширения нужно один раз, любым подключением к базе.
Что действительно хранится на каждом сервере:
- служебные каталоги сеансов и кэш серверной части;
- файлы журналов технологического журнала, если он включён;
- параметры запуска службы.
Отсюда следствие: файловые общие ресурсы между серверами для работы кластера не нужны. Если вы используете внешние обработки, шаблоны или вложения, лежащие на диске, поместите их на общий сетевой ресурс. Иначе одни и те же файлы окажутся на разных серверах в разных версиях.
7. Как проверить, что второй сервер работает
Недостаточно увидеть сервер в списке. Убедитесь, что он берёт нагрузку.
Быстрая проверка
Откройте «Рабочие процессы» в кластере. Колонка с именем сервера покажет, где запущен каждый rphost. Пусть пользователи поработают, потом проверьте распределение сеансов в узле «Сеансы». Удобно отсортировать по колонке «Компьютер» или по серверу.
Что считать нормой для двух равных серверов: примерно поровну, с перекосом не более 60 на 40. Если все сеансы по-прежнему на первом, значит назначение функциональности где-то фиксирует всё на нём.
Чек-лист запуска
Мониторинг
Через неделю после запуска посмотрите:
- пиковое потребление памяти каждым
rphost; - число перезапусков рабочих процессов по превышению лимита (журнал в консоли);
- время отклика типовых операций: проведение документа, формирование ключевого отчёта.
Сравните с цифрами до расширения. Если улучшения нет, значит ограничивала не серверная часть.
8. Типичные проблемы после запуска
Если второй сервер не появляется, не стартует или простаивает, смотрите по симптому.