При развертывании сервера 1С:Предприятие на базе операционных систем семейства Linux администраторы нередко сталкиваются с ситуацией, когда службы кластера запущены, сетевые порты прослушиваются, но консоль администрирования ведет себя неадекватно. Кластер либо отображается без имени с нулевым идентификатором 00000000-0000-0000-0000-000000000000, либо при попытке открыть его свойства выдает пустые поля, а команды управления завершаются ошибками. Разберем детально, почему возникает такое поведение платформы и как восстановить нормальную работоспособность системы.
Проанализируем типовую ситуацию развертывания сервера на примере ОС Debian. На сервере установлены компоненты 1С и СУБД PostgreSQL. Проверка сетевых соединений с помощью утилиты netstat показывает, что процессы агента кластера ragent (порт 1540) и менеджера кластера rmngr (порт 1541) активны и слушают входящие подключения:
tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 2751/ragent
tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 2758/rmngr
Сетевой экран настроен, стандартный диапазон портов (1540, 1541, 1560:1591) открыт. Однако при подключении с рабочей станции администратора через консоль управления (MMC-оснастку) или через утилиту командной строки rac возникают следующие аномалии:
rac cluster list возвращает пустую структуру с нулевыми параметрами:
cluster : 00000000-0000-0000-0000-000000000000
host :
port : 0
name :
expiration-timeout : 0
lifetime-limit : 0
max-memory-size : 0
max-memory-time-limit : 0
security-level : 0
session-fault-tolerance-level : 0
load-balancing-mode : performance
errors-count-threshold : 0
kill-problem-processes : 0
Выясним причину, приводящую к подобному сбою. Чаще всего такое поведение вызвано повреждением или несовместимостью файлов настроек реестра кластера, расположенных в рабочем каталоге пользователя usr1cv8.
Распространенный сценарий: ранее на сервер был по ошибке установлен дистрибутив 1С другой архитектуры (например, 32-битный i386 вместо 64-битного x86_64). При первой установке служба сервера успела запуститься и инициализировать служебные файлы в каталоге пользователя /home/usr1cv8/.1cv8/1C/1cv8/. После обнаружения ошибки пакеты были удалены, а 64-битная версия установлена заново. Однако данные домашнего каталога пользователя при переустановке пакетов не очищаются автоматически. В результате новый сервер попытался использовать остаточные файлы конфигурации, сформированные предыдущей версией или другой разрядностью платформы, что привело к сбою сериализации реестра кластера.
Разберем по шагам, как безопасно очистить некорректную конфигурацию и дать платформе возможность создать реестр кластера заново.
service srv1cv83 stop
или в системах с systemd:
systemctl stop srv1cv83
Убедимся, что процессы ragent, rmngr и rphost завершены с помощью команды ps aux | grep 1cv8./home/usr1cv8/.1cv8/1C/1cv8/. Внутри находится каталог reg_1541 (или другой номер порта), а также служебные файлы 1cv8wsrv.lst и 1CV8Clst.lst. Если в системе еще нет настроенных рабочих баз, очистим каталог настроек целиком:
rm -rf /home/usr1cv8/.1cv8/1C/1cv8/*
Если требуется сохранить часть настроек, достаточно удалить подкаталог reg_1541 и файл общего реестра 1cv8wsrv.lst. Обратите внимание: скрытые каталоги (начинающиеся с точки) не видны при обычном выполнении команды ls, поэтому используйте флаг ls -la или файловый менеджер mc.usr1cv8 и его группе:
chown -R usr1cv8:grp1cv8 /home/usr1cv8
service srv1cv83 start
Если очистка реестра не помогла или кластер по-прежнему недоступен с клиентского компьютера, рассмотрим сопутствующие системные параметры:
/etc/hosts. Если на сервере активно несколько сетевых интерфейсов (например, физический eth0 и туннель VPN/PPTP ppp0), убедимся, что доменное имя сервера резолвится именно в тот IP-адрес, по которому к нему обращаются клиенты:
127.0.0.1 localhost
192.168.100.220 sdb.local sdb
C:\Windows\System32\drivers\etc\hosts, если в локальной сети отсутствует настроенный DNS-сервер.radmin.dll) должна строго совпадать по версии и номеру релиза с версией сервера 1С на Linux. Несовпадение даже в младшем номере сборки может приводить к ошибкам десериализации данных и отображению нулевых параметров кластера. Для регистрации правильной версии библиотеки на административном компьютере выполним:
regsvr32 "C:\Program Files\1cv8\8.3.X.YYYY\bin\radmin.dll"
rac и демон администрирования ras, при запуске сервиса обязательно указываем параметры хоста и порта:
/opt/1C/v8.3/x86_64/ras --daemon cluster --port 1545 192.168.100.220:1541
Это исключит путаницу маршрутов между различными сетевыми интерфейсами сервера.Таким образом, своевременная очистка старых конфигурационных файлов и проверка сетевых настроек хоста позволяют быстро восстановить доступ к кластеру серверов 1С на Linux.