При эксплуатации крупных инсталляций 1С:Предприятие 8 КОРП системные администраторы часто сталкиваются с проблемой: кластер из нескольких серверов становится полностью неработоспособен при временной потере связи всего с одним USB-ключом. Это особенно актуально для виртуальных сред, где проброс аппаратных токенов осуществляется через USB-over-IP концентраторы. В данной статье мы разберем, как правильно настроить кластер, чтобы он сохранял работоспособность даже при сбоях в системе лицензирования на отдельных узлах.
Для начала проанализируем, почему кластер может "падать" целиком. В версии КОРП реализованы расширенные механизмы управления ресурсами, одним из которых является Уровень отказоустойчивости. Этот параметр определяет количество рабочих серверов, которые могут одновременно выйти из строя без прекращения работы всей системы. Рассмотрим подробнее, как этот параметр влияет на стабильность.
Важно понимать, что уровень отказоустойчивости тесно связан с понятием Центрального сервера. В кластере 1С центральным называется сервер, на котором запущен менеджер кластера, управляющий реестром. Если у вас 7 серверов, но только один из них назначен центральным, то при потере лицензии на этом узле (или его сбое) кластер перестанет функционировать, сколько бы свободных лицензий ни было на остальных 6 серверах.
Разберем по шагам, как изменить конфигурацию кластера для повышения его живучести. Нам необходимо применить формулу N+1, где N — это уровень отказоустойчивости. Для того чтобы кластер пережил отключение одного сервера (или одного USB-ключа), выполним следующие действия:
После этих настроек кластер сможет перераспределять нагрузку. Если на одном из серверов пропадет доступ к USB-ключу, рабочие процессы rphost этого узла будут остановлены, но сеансы пользователей не прервутся — они будут перенесены на другие живые узлы кластера благодаря механизму КОРП.
Выясним причину, по которой кластер может вести себя нестабильно даже при наличии нескольких ключей. В КОРП-версии существует специальный Сервис лицензирования. Он отвечает за проверку легальности использования функций КОРП во всем кластере. Если этот сервис не может "достучаться" до ключа, он блокирует работу узлов.
Проанализируем ситуацию с распределением сервисов. Мы можем принудительно заставить кластер запускать сервис лицензирования только на тех машинах, где проброс USB-ключей наиболее стабилен. Для этого используются Требования функциональности:
Сервис лицензирования установим тип требования Назначать.Не назначать.Таким образом, мы локализуем работу с лицензиями и предотвратим ситуацию, когда весь кластер "ждет" ответа от проблемного USB-концентратора на случайном узле.
Посмотрим на техническую сторону использования USB-ключей в виртуализации. Драйвер HASP крайне чувствителен к сетевым задержкам. Когда 1cv8 опрашивает ключ через сеть, микросекундная задержка может быть интерпретирована как отсутствие лицензии. Рассмотрим подробнее, как минимизировать эти риски:
Во-первых, следует убедиться, что ПО для проброса USB (USB-over-IP) настроено на минимальное время ожидания. Если ключ презентуется одновременно двум виртуальным машинам, это приведет к немедленной блокировке стека USB.
Во-вторых, стоит рассмотреть архитектурный подход: один ключ — один сервер. В вашем случае (7 серверов и 7 лицензий) каждый сервер должен видеть только свой ключ. Не пытайтесь "раздавать" один многопользовательский ключ на все 7 ВМ через один менеджер лицензий nhsrv.exe, если используете серверные лицензии КОРП — это создает лишнюю точку отказа в сети.
Проанализируем перспективу использования программных лицензий. Фирма 1С официально рекомендует для виртуальных сред использовать именно пин-коды. Программная лицензия привязывается к параметрам виртуальной машины (CPU, RAM, ID диска) и не зависит от стабильности сетевого соединения с USB-концентратором.
Если специфика вашего бизнеса позволяет, мы рекомендуем выполнить следующие шаги по миграции:
jitter и отказов USB-шины, что для кластера на 500+ пользователей является критически важным фактором стабильности.Подводя итог, для решения проблемы "падения" кластера при отключении одного токена, мы должны:
Соблюдение этих правил позволит вашему кластеру 1С КОРП работать максимально эффективно, обеспечивая бесперебойную работу пользователей по всей стране.