Смена имени кластера серверов 1С:Предприятия через консоль, rac и PowerShell
Содержание
Кластер завели на коленке, назвали «Локальный кластер», а теперь серверов три и в консоли не разобрать, где боевой, а где тестовый. Переименовать кластер 1С можно тремя способами: через графическую консоль администрирования серверов, командой rac cluster update --name=... или скриптом на PowerShell. Любой из них занимает пару минут.
Само имя кластера нужно только администратору. Пользователи подключаются по адресу сервер:порт (по умолчанию 1541), поэтому информационные базы и строки подключения после переименования продолжают работать. Меняется подпись в консоли и в выводе утилит.
Что проверить перед переименованием кластера
Смена имени безопасна, но пять минут подготовки сэкономят нервы, если что-то пойдёт не так.
Узнайте текущее состояние
- 🖥️ Найдите, на каком порту работает центральный сервер. Стандартно это
1540(агент) и1541(менеджер кластера). - 🔑 Выясните, задан ли у кластера администратор. Если да, понадобятся его логин и пароль.
- 📦 Определите версию платформы: утилиты
racиrasлежат в каталоге конкретной версии, напримерC:\Program Files\1cv8\8.3.xx.xxxx\bin\. - 🧾 Запишите текущее имя и идентификатор кластера: идентификатор не меняется при переименовании и пригодится в скриптах.
Сделайте страховку
Имя кластера может быть прописано в ваших скриптах, заданиях планировщика и мониторинге. Поищите по ним старое имя заранее.
Смена имени не требует остановки сервера и не отключает сеансы. Но хорошая привычка на рабочем сервере — делать любые правки в окно, когда в базах никого нет, и не переименовывать кластер одновременно с обновлением платформы.
Сверьтесь с таблицей и выберите способ:
| Способ | Когда подходит | Что нужно |
|---|---|---|
| Консоль администрирования | Один-два сервера, разовая правка | Графическая среда, права администратора |
rac | Сервер без графики, Linux, удалённая правка | Запущенный ras, доступ к порту |
| PowerShell | Много серверов, повторяемость | Скрипт, учётные данные |
Переименование через графическую консоль
Самый наглядный путь. Консоль называется «Администрирование серверов 1С:Предприятия» и ставится вместе с платформой (компонент администрирования серверов). Пользователь, который работает в консоли, должен иметь права на центральный сервер.
Порядок действий
- Запустите консоль администрирования серверов и раскройте ветку «Центральные серверы 1С:Предприятия».
- Если нужного сервера в списке нет, добавьте его через контекстное меню: адрес сервера и порт агента
1540. - Раскройте сервер и найдите папку «Кластеры».
- Щёлкните правой кнопкой по нужному кластеру и откройте «Свойства».
- В поле «Имя» введите новое название. Пробелы и кириллица допустимы, но для скриптов удобнее латиница без пробелов.
- Нажмите «ОК». Если у кластера есть администратор, консоль запросит его логин и пароль.
Новое имя появится в дереве сразу. Перезапускать службы не нужно.
Придерживайтесь схемы «среда-назначение», например prod-main или test-cluster. Через год вы скажете себе спасибо.
Переименование кластера через ras и rac
Когда консоли под рукой нет (сервер на Linux, доступ только по SSH), работают две утилиты из каталога bin платформы. ras — сервер администрирования, rac — клиент к нему.
Запустите сервер администрирования
Если ras ещё не работает
, запустите его и укажите порт и адрес агента:
ras cluster --port=1545 localhost:1540
Порт 1545 — стандартный для ras. Не путайте его с портами 1540 и 1541, которые заняты самим кластером.
На Windows ras часто ставят как службу, чтобы он поднимался вместе с сервером. Проверьте список служб, возможно, он уже есть.
Найдите идентификатор кластера
Команда rac принимает UUID кластера, а не его имя:
rac localhost:1545 cluster list
В выводе строка cluster содержит UUID, а строка name показывает текущее имя. Скопируйте UUID.
Выполните переименование
rac localhost:1545 cluster update --cluster=<UUID_кластера> --name=prod-main
Если у кластера задан администратор, добавьте его учётные данные:
rac localhost:1545 cluster update --cluster=<UUID_кластера> --cluster-user=Admin --cluster-pwd=Пароль --name=prod-main
Повторите cluster list. Если в поле name новое значение, всё сделано. Команда успешно отрабатывает молча, без сообщения «готово».
Пароль в командной строке виден в истории оболочки и в списке процессов. Для разовой правки это терпимо, для скриптов храните его иначе (см. ниже).
Проверьте результат и не потеряйте связь
После правки полезно убедиться, что кластер жив и отвечает. Выведите сведения о нём и сравните с записанными раньше значениями:
rac localhost:1545 cluster info --cluster=<UUID_кластера>
В выводе должны совпадать идентификатор, порт менеджера и число рабочих серверов, а поле name покажет новое имя. Если порт или идентификатор поменялись, вы редактировали не тот кластер.
Заодно зайдите в консоль и откройте список информационных баз. Он должен быть таким же, как до правки. Пара баз в списке и один тестовый вход через клиент закрывают вопрос, что ничего не сломалось.
Автоматизация через PowerShell
Когда серверов несколько, а имена нужно привести к единому виду, ручные клики утомляют. Скрипт ниже обходит нужные кластеры и меняет имя через rac. Он рассчитан на Windows и запущенный ras.
$rac = "C:\Program Files\1cv8\8.3.xx.xxxx\bin\rac.exe"
$ras = "localhost:1545"
$newName = "prod-main"
# Берём первый кластер из списка
$out = & $rac $ras cluster list
$uuid = ($out | Select-String '^cluster\s*:\s*(\S+)').Matches[0].Groups[1].Value
if (-not $uuid) { throw "Кластер не найден" }
& $rac $ras cluster update --cluster=$uuid --name=$newName
if ($LASTEXITCODE -ne 0) { throw "rac вернул код $LASTEXITCODE" }
& $rac $ras cluster list
Подставьте реальный путь к каталогу своей версии платформы. Этот путь меняется при каждом обновлении, поэтому в боевых скриптах берите каталог через поиск последней версии или вынесите в переменную окружения.
Что улучшить в скрипте
- 🔐 Не храните пароль администратора кластера в тексте. Читайте его из защищённого хранилища или запрашивайте через
Read-Host -AsSecureString. - 📋 Если кластеров несколько, разбирайте вывод
cluster listпо блокам, разделённым пустой строкой, и фильтруйте по текущему имени. - 📝 Пишите результат в журнал: время, старое и новое имя, код возврата.
- 🧪 Сначала прогоните скрипт на тестовом сервере.
На Linux та же логика пишется на bash: rac cluster list | awk вытаскивает UUID, а дальше команда та же.
Linux: на что смотреть отдельно
На Linux утилиты лежат в каталоге вида /opt/1cv8/x86_64/<версия>/, а ras обычно запускают как службу через systemd. Пример простого юнита: команда запуска ExecStart=/opt/1cv8/x86_64/<версия>/ras cluster --port=1545 localhost:1540, пользователь usr1cv8, перезапуск при сбое Restart=on-failure.
Если после обновления платформы служба не стартует, почти всегда виноват старый путь в юните. Исправьте его и выполните systemctl daemon-reload.
Права доступа и аутентификация
Ошибки при переименовании чаще всего связаны с правами, а не с самой командой. На платформе их два независимых уровня.
Администратор кластера
Это учётная запись внутри кластера. Её создают в консоли в разделе «Администраторы» кластера. Если администратор у кластера есть, любое изменение его свойств, в том числе имени, требует логина и пароля. В rac это параметры --cluster-user и --cluster-pwd.
Если администраторов нет, rac пускает без пароля. Это удобно, но на боевом сервере небезопасно: любой, кто достучится до порта ras, сможет менять настройки.
Администратор центрального сервера
Этот уровень стоит над кластерами. Нужен для операций с самим сервером (агентом): добавление и удаление кластеров, настройки рабочих серверов. Для простой смены имени он, как правило, не требуется, но консоль может запросить его при подключении к серверу. Параметры в rac — --agent-user и --agent-pwd.
Права на уровне ОС
- Учётная запись, из-под которой запускается
ras, должна иметь доступ к каталогу платформы и сети. - Пользователь, запускающий консоль или
rac, должен иметь право подключаться к порту сервера. Файрвол между вашим компьютером и сервером часто режет1540,1541и1545. - На Linux для запуска
rasподusr1cv8проверьте, что нужный порт свободен.
Не открывайте порт ras в интернет. Доступ к нему должен быть только из внутренней сети или через VPN.
--cluster-user и --cluster-pwd. Если пароль забыт, администратора кластера сбрасывают через консоль под администратором центрального сервера.ras не запущен или порт закрыт. Проверьте, что служба работает, и что порт 1545 доступен с вашей машины.cluster list и скопируйте UUID заново.Типичные ошибки и способы их устранения
Часть сбоев не про права, а про окружение. Вот что встречается на практике.
Несоответствие версий
Утилита rac из одной версии платформы и сервер другой версии иногда не понимают друг друга. Самый надёжный вариант — использовать rac и ras из каталога той же версии платформы, которая запущена на сервере. После обновления платформы проверьте пути в своих скриптах.
Кириллица и пробелы в имени
Консоль принимает любое имя. В командной строке имя с пробелами нужно брать в кавычки: --name="Основной кластер". На Linux следите за кодировкой терминала, иначе вместо русских букв получатся «кракозябры» и потом их придётся править через консоль.
Остался старый порт или старая конфигурация
Если вы заодно переносили кластер на другой порт, а ras смотрит на прежний агент, команда пойдёт не туда. Параметр в конце команды запуска ras должен совпадать с адресом агента: localhost:1540 в примере выше.
Служба ras падает после перезагрузки
Проверьте тип запуска службы и учётную запись. Часто ras запускали вручную, а после перезагрузки сервера о нём забыли. Заведите службу, чтобы он поднимался автоматически.
Если переименование не получилось
Если ничего из описанного не помогло, действуйте по порядку.
- Убедитесь, что вы подключены к нужному серверу, а не к его копии.
- Попробуйте тот же шаг другим способом: не сработал
rac, сделайте то же через консоль. Если консоль подтверждает правку, проблема в скрипте. - Посмотрите журналы сервера в каталоге журналов регистрации кластера: там видны отказы в доступе.
- Как крайняя мера: создайте новый кластер с нужным именем и перенесите базы. Это долго и рискованно, на рабочем сервере без резервной копии баз не делайте.
Перед любыми правками на боевом сервере сделайте копию баз и согласуйте окно работ. Даже безобидная смена имени может вылезти неожиданной зависимостью в мониторинге.
Частые вопросы
Сломаются ли информационные базы после переименования кластера?
Нужно ли перезапускать сервер 1С после смены имени?
Можно ли изменить идентификатор (UUID) кластера?
Чем отличается имя кластера от имени сервера?
Можно ли переименовать кластер на Linux-сервере?
rac в терминале.