При модернизации ИТ-инфраструктуры часто возникает необходимость перехода с 32-битной версии сервера «1С:Предприятие» на 64-битную. Это позволяет серверным процессам использовать более 4 ГБ оперативной памяти и существенно повышает стабильность системы под нагрузкой. Однако в процессе такой миграции системные администраторы часто сталкиваются с неприятной ошибкой: «Сервер не является центральным для кластера». Эта ошибка блокирует возможность управления базами данных и создания новых кластеров через консоль администрирования.
В этой статье мы подробно разберем, почему возникает эта проблема и как её решить несколькими способами, проанализируем технические нюансы работы реестра кластера и настройки операционной системы.
Прежде чем переходить к активным действиям, выясним причину сбоя. Сервер 1С хранит информацию о своих настройках, списках баз данных и самом кластере в специальном каталоге реестра кластера (обычно это папка srvinfo). Пути к этой папке по умолчанию различаются для разных разрядностей:
C:\Program Files (x86)\1cv8\srvinfo\C:\Program Files\1cv8\srvinfo\Когда мы останавливаем 32-битную службу и запускаем 64-битную, новый сервер обращается к своей пустой папке и «не видит» старых настроек. Консоль администрирования при этом может пытаться подключиться к старому идентификатору кластера, который не совпадает с тем, что сгенерировал новый сервер. Разберем, как восстановить связь.
Этот метод наиболее безопасен и позволяет сохранить все настройки баз данных, пользователей и журналов регистрации. Рассмотрим последовательность действий:
services.msc.C:\Program Files (x86)\1cv8\srvinfo\. Нам нужно скопировать все содержимое этой папки.C:\Program Files\1cv8\srvinfo\ с заменой всех существующих файлов.USR1CV8), имеет полные права на папку C:\Program Files\1cv8\srvinfo\.После этих манипуляций сервер должен «подхватить» старую конфигурацию и признать себя центральным для существующего кластера. Для проверки состояния и структуры файлов реестра можно использовать инструмент для анализа рабочего каталога центрального сервера.
Если мы не хотим копировать гигабайты журналов регистрации, мы можем заставить 64-битную службу смотреть в старую папку srvinfo. Разберем, как это сделать через реестр ОС:
regedit).HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (название службы может немного отличаться в зависимости от версии).ImagePath. Проанализируем его значение. Оно выглядит примерно так:
"C:\Program Files\1cv8\8.3.X.XXXX\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
-d на старый каталог: "C:\Program Files (x86)\1cv8\srvinfo".Иногда простого переноса файлов недостаточно. Рассмотрим ситуации, когда ошибка сохраняется из-за настроек сети или компонентов системы.
Сервер 1С сверяет свое текущее имя с именем, записанным в конфигурационном файле 1cv8wsrv.lst. Если в файле указано короткое имя SERVER1C, а служба определяет себя как SERVER1C.domain.local, возникнет ошибка центрального сервера.
Посмотрим на пример структуры файла 1cv8wsrv.lst:
{
{1,
{f4b9a8e2-..., "Центральный сервер", 1540, "SERVER1C", 0}
}
}
Если вы видите несовпадение, попробуйте вручную изменить имя сервера в этом файле на актуальное (при остановленной службе) или используйте IP-адрес.
При параллельной установке двух версий сервера консоль администрирования может использовать старую библиотеку radmin.dll. Проанализируем необходимость перерегистрации компонентов. Выполним команду в консоли cmd от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.X.XXXX\bin\radmin.dll"
Это гарантирует, что оснастка MMC будет корректно взаимодействовать именно с 64-битным менеджером кластера. Чтобы избежать проблем с регистрацией библиотек штатной оснастки, можно использовать альтернативную консоль администрирования кластера серверов.
Современные версии Windows часто отдают приоритет протоколу IPv6. Если кластер был настроен на IPv4, менеджер может не узнать себя. Попробуем временно отключить IPv6 в свойствах сетевого адаптера или явно указать IP-адрес сервера в настройках кластера через консоль, если удастся в неё зайти.
Внутри папки кластера есть подпапка snccntry. В ней хранятся данные о текущих сеансах и блокировках. При смене разрядности эти данные могут стать невалидными. Выясним, поможет ли очистка:
srvinfo.snccntry.В большинстве случаев проблема решается совмещением каталогов реестра. Мы рекомендуем использовать Способ №1 (копирование файлов), так как он позволяет избежать путаницы в путях в будущем, когда 32-битная версия будет окончательно удалена с сервера. Не забывайте про права пользователя USR1CV8 — это самая частая «невидимая» причина того, что сервер не может прочитать собственные настройки и выдает ошибку о центральном сервере.