Масштабирование информационной системы предприятия часто требует перехода от однопользовательской или файловой схемы работы к распределенной архитектуре. Кластер серверов 1С:Предприятие становится фундаментом для обеспечения высокой доступности и производительности при росте числа одновременных пользователей. Правильная организация вычислительного пространства позволяет распределять запросы между несколькими физическими машинами, предотвращая критические нагрузки на один узел.
Процесс создания кластера подразумевает не только установку программного обеспечения, но и тонкую настройку сетевых взаимодействий, управление лицензиями и обеспечение отказоустойчивости. Администратор должен четко понимать разницу между центральным сервером, рабочими серверами и клиентами, чтобы избежать узких мест в архитектуре. В этой статье мы разберем технические нюансы развертывания кластера, начиная с выбора операционной системы и заканчивая регистрацией баз в консоли администрирования.
Современные версии платформы 1С:Предприятие 8.3 предлагают гибкие механизмы управления кластером, однако успех внедрения зависит от предварительного планирования ресурсов. Ошибки на этапе проектирования топологии сети могут привести к нестабильной работе базы данных или невозможности подключения пользователей в часы пик. Поэтому важно подходить к задаче системно, учитывая требования к пропускной способности канала и дисковой подсистеме серверов.
Архитектура кластера и требования к оборудованию
Кластер серверов представляет собой группу компьютеров, объединенных сетью и управляемых как единое целое. Центральным элементом этой структуры является Центральный сервер кластера (ЦС), который хранит информацию о доступных информационных базах, активных сессиях и распределении нагрузки. Именно через ЦС клиенты получают информацию о том, на каком рабочем сервере им следует выполнять запросы к данным.
Для обеспечения стабильной работы кластера необходимо разграничить роли серверов, особенно в высоконагруженных системах. Выделенный сервер баз данных (СУБД), центральный сервер кластера и рабочие серверы (рабочие процессы rphost) должны быть размещены на разных физических или виртуальных машинах. Такое разделение позволяет изолировать ресурсы процессора и оперативной памяти, необходимые для обработки транзакций СУБД, от ресурсов, потребляемых платформой 1С.
Требования к аппаратному обеспечению напрямую зависят от планируемого количества пользователей и сложности конфигурации. Для малого кластера может быть достаточно виртуальных машин с 4-8 ядрами CPU, тогда как для крупных предприятий требуются мощные серверы с десятками ядер и сотнями гигабайт памяти. Критически важным параметром является скорость дисковой подсистемы, особенно для сервера СУБД, где задержки ввода-вывода могут парализовать работу всего кластера.
⚠️ Внимание: Не рекомендуется размещать Центральный сервер кластера и сервер баз данных на одной физической машине в продуктивной среде. Конкуренция за ресурсы диска и процессора между PostgreSQL или MSSQL и службой 1С может привести к непредсказуемым тормозам.
Операционная система также играет ключевую роль в производительности. Хотя платформа поддерживает различные ОС, в корпоративном сегменте чаще всего используются серверные версии Windows Server или дистрибутивы Linux, такие как Ubuntu Server или CentOS. Выбор ОС должен базироваться не только на стоимости лицензий, но и на квалификации администраторов, которые будут поддерживать инфраструктуру.
Установка серверной части платформы 1С
Первым этапом создания кластера является установка серверной части платформы на выделенные машины. Дистрибутив сервера 1С содержит все необходимые компоненты, включая службу агрегирования соединений и утилиты для управления. Процесс установки стандартен для большинства операционных систем, но требует внимательного отношения к выбору компонентов на каждом узле будущего кластера.
На машине, отведенной под Центральный сервер, необходимо установить компонент "Сервер 1С:Предприятия" и обязательно выбрать опцию "Администрирование серверов 1С:Предприятия". Это позволит запускать консоль управления ( MMC-снапшот или утилиту командной строки ras) непосредственно с этого узла. На остальных машинах, которые будут выступать в роли рабочих серверов, достаточно установить только серверную часть без инструментов администрирования, если вы планируете управлять ими удаленно.
В ходе установки инсталлятор предложит создать системного пользователя, от имени которого будут запускаться процессы 1С. В среде Windows это обычно пользователь USR1CV8, а в Linux — пользователь usr1cv8. Крайне важно, чтобы пароль этого пользователя был одинаковым на всех серверах кластера, если они находятся в разных доменах или рабочей группе, хотя в доменной среде Windows достаточно корректной настройки прав доступа.
☑️ Подготовка к установке сервера
После установки службы необходимо убедиться, что они запускаются автоматически при загрузке операционной системы. Для проверки можно использовать оснастку "Службы" в Windows или команды systemctl в Linux. Статус службы должен быть "Выполняется", а тип запуска установлен в "Автоматически". Любые ошибки при старте службы обычно связаны с некорректными правами доступа к папкам установки или отсутствием сетевой связности.
Регистрация Центрального сервера и рабочих узлов
После успешной установки ПО на всех узлах необходимо логически объединить их в единый кластер. Этот процесс выполняется через консоль администрирования серверов 1С:Предприятие. Сначала в консоль добавляется сам Центральный сервер кластера, который становится точкой входа для управления всей инфраструктурой.
Добавление сервера в консоль требует указания имени хоста или IP-адреса машины, а также порта агента сервера (по умолчанию 1541). Если установка прошла успешно, при подключении вы увидите пустой список информационных баз и рабочих серверов. На этом этапе ЦС еще не знает о существовании других машин, которые должны стать частью кластера, поэтому их необходимо зарегистрировать явно.
Для регистрации рабочих серверов нужно раскрыть ветку добавленного Центрального сервера, нажать правой кнопкой мыши на узел "Рабочие серверы" и выбрать пункт "Добавить". В открывшемся окне указывается имя или адрес машины, на которой запущен агент рабочего сервера. После подтверждения система попытается установить соединение с агентом и добавить узел в список доступных ресурсов.
ras cluster --cluster=192.168.1.10:1541 register worker --worker=192.168.1.11
Альтернативой графическому интерфейсу является использование утилиты командной строки ras, что особенно удобно при автоматизации развертывания или работе в среде Linux без графической оболочки. Команда регистрации требует указания адреса кластера и адреса регистрируемого рабочего сервера. Успешное выполнение команды подтверждается появлением нового узла в списке рабочих серверов консоли.
Что делать, если рабочий сервер не добавляется?
Чаще всего проблема кроется в настройках брандмауэра. Убедитесь, что порты 1540-1560 открыты для входящих соединений на всех серверах кластера. Также проверьте, разрешено ли имя хоста в файле hosts или DNS.
Важно отметить, что все серверы в кластере должны иметь синхронизированное время. Рассинхронизация часов даже на несколько минут может привести к ошибкам аутентификации и невозможности установления сессий между узлами. Используйте протокол NTP для настройки точного времени на всех машинах, входящих в состав кластера.
Настройка сетевых портов и брандмауэра
Корректная работа кластера невозможна без правильно настроенных сетевых экранов. Платформа 1С:Предприятие использует динамический диапазон портов для общения между клиентами, серверами приложений и СУБД. Блокировка этих портов брандмауэром является одной из самых частых причин проблем с подключением после развертывания кластера.
Основной порт агента сервера — 1541 (TCP), используется для регистрации и управления. Однако для передачи данных сессий и запросов выделяется диапазон портов, который по умолчанию составляет от 1560 до 1591. Эти порты должны быть открыты как на входящие, так и на исходящие соединения на всех серверах кластера. Если диапазон портов изменен в настройках службы, необходимо открыть соответствующий новый диапазон.
| Компонент | Порт (по умолчанию) | Протокол | Назначение |
|---|---|---|---|
| Агент сервера | 1541 | TCP | Управление кластером |
| Менеджер кластера | 1540 | TCP | Координация процессов |
| Рабочий процесс (rphost) | 1560-1591 | TCP/UDP | Обмен данными сессий |
| СУБД (MSSQL) | 1433 | TCP | Доступ к данным |
Для ограничения количества используемых портов и упрощения настройки брандмауэра можно задать фиксированный диапазон в свойствах службы "Агент сервера 1С:Предприятия". Это делается через реестр Windows или файлы конфигурации в Linux. Параметр port-range позволяет указать конкретный интервал, например, от 1560 до 1570, что сократит количество необходимых правил фильтрации.
⚠️ Внимание: При изменении диапазона портов необходимо перезапустить службу агента сервера. Убедитесь, что новые правила брандмауэра применены до перезапуска, иначе потеряете удаленный доступ к управлению сервером.
Помимо портов платформы 1С, не забудьте открыть порты для вашей системы управления базами данных. Для Microsoft SQL Server это стандартный порт 1433, для PostgreSQL — 5432. Если СУБД расположена на отдельном сервере, правило должно разрешать соединения именно от IP-адресов серверов 1С к IP-адресу сервера баз данных.
Используйте команду telnet или Test-NetConnection в PowerShell для проверки доступности портов между серверами перед началом настройки кластера. Это сэкономит время на отладке сетевых проблем.
Добавление информационных баз в кластер
После того как инфраструктура кластера готова, необходимо зарегистрировать в нем информационные базы. Это действие связывает физическое расположение базы данных на сервере СУБД с логическим представлением в кластере 1С. Пользователи будут видеть базу в списке подключений именно благодаря этой регистрации.
В консоли администрирования необходимо раскрыть ветку Центрального сервера, затем перейти к узлу "Информационные базы", вызвать контекстное меню и выбрать "Добавить". В открывшемся мастере создания базы требуется указать имя базы, которое будет видеть пользователь, и тип расположения. Для кластерного режима выбирается вариант "На сервере 1С:Предприятия".
Далее следует указать параметры соединения с сервером баз данных. Вам потребуется ввести имя сервера СУБД, имя базы данных, тип СУБД, а также учетные данные администратора базы данных для первоначальной настройки. Если база уже создана, достаточно указать существующее имя и учетные данные пользователя с правами доступа.
Особое внимание стоит уделить параметрам безопасности. В свойствах информационной базы можно настроить список разрешенных пользователей, режим запуска (обычный или управляемое приложение) и другие ограничения. Также здесь задается путь к файлам внешних обработок и отчетов, если они хранятся не в базе данных, а в файловой системе общего доступа.
Регистрация базы в кластере не создает саму базу данных в СУБД. База должна быть предварительно создана средствами СУБД или конвертирована из файлового варианта перед добавлением в кластер.
После завершения мастера база появится в списке информационных баз Центрального сервера. Теперь клиенты могут подключаться к ней, указывая в строке подключения имя кластера (сервера 1С) и имя информационной базы. Платформа автоматически перенаправит клиентское соединение на свободный рабочий процесс в кластере.
Мониторинг производительности и балансировка
Создание кластера — это не разовое действие, а начало процесса постоянного мониторинга и настройки. Консоль администрирования предоставляет инструменты для просмотра активных сессий, блокировок и загрузки рабочих процессов. Регулярный анализ этих данных позволяет выявлять "узкие места" и оптимизировать распределение нагрузки.
Для балансировки нагрузки можно использовать встроенные механизмы платформы или внешние решения. В свойствах рабочих серверов можно задать вес узла, что влияет на вероятность выбора данного сервера для новой сессии. Серверы с более мощным железом должны иметь больший вес, чтобы принимать на себя больше пользователей.
Также важно следить за потреблением оперативной памяти рабочими процессами rphost. При достижении лимитов памяти процесс может быть перезагружен, что приведет к разрыву сессий пользователей. Настройка параметров memory-limit и process-timeout позволяет управлять жизненным циклом процессов, предотвращая утечки памяти и накопление ошибок.
⚠️ Внимание: Параметры кластера и версии платформы могут обновляться. Сверяйте актуальные значения предельных нагрузок и лимитов памяти в официальной документации фирмы "1С" для вашей конкретной версии платформы.
Использование внешних систем мониторинга, таких как Zabbix или Prometheus, позволяет собирать метрики о состоянии кластера в реальном времени и отправлять уведомления администраторам при возникновении критических ситуаций. Интеграция таких систем с 1С возможна через стандартные интерфейсы или специализированные агенты.
Как перезагрузить рабочий процесс без остановки всего кластера?
В консоли администрирования выберите нужный рабочий сервер, найдите активный процесс rphost и используйте команду "Завершить процесс". Кластер автоматически запустит новый процесс на этом или другом узле.
Часто задаваемые вопросы (FAQ)
Можно ли объединить в один кластер серверы на Windows и Linux?
Да, платформа 1С:Предприятие поддерживает гетерогенные кластеры. Вы можете иметь Центральный сервер на Windows, а рабочие серверы на Linux, или наоборот. Главное требование — совместимость версий платформы и корректная настройка сетевых имен и прав доступа между разнородными системами.
Сколько рабочих серверов можно добавить в один кластер?
Технических ограничений на количество рабочих серверов в кластере практически нет, однако целесообразность увеличения их числа определяется производительностью Центрального сервера. ЦС является единой точкой управления, и при очень большом количестве узлов (сотни) он может стать узким местом. Для большинства задач достаточно от 2 до 10 рабочих серверов.
Что произойдет, если Центральный сервер кластера выйдет из строя?
При остановке ЦС новые пользователи не смогут подключиться к базам, так как не смогут получить адрес рабочего сервера. Существующие сессии могут продолжать работать некоторое время, но полноценное управление кластером будет невозможно. Для обеспечения отказоустойности ЦС рекомендуется использовать решения кластеризации на уровне ОС (например, Windows Failover Cluster) или виртуализации.
Обязательно ли использовать домен Active Directory для кластера?
Нет, использование домена не является строго обязательным. Кластер можно развернуть в рабочей группе, используя локальные учетные записи с одинаковыми паролями на всех серверах. Однако использование домена значительно упрощает управление правами доступа, аутентификацию пользователей и администрирование сервисов.
Как изменить порт агента сервера 1С?
Порт агента (по умолчанию 1541) задается при установке службы или меняется через реестр Windows (ключ Port в ветке службы) или конфигурационные файлы в Linux. После изменения параметра службу агента необходимо перезапустить. Не забудьте обновить правила брандмауэра и указывать новый порт при подключении консоли администрирования.