SystemdDoctor
служба не работает имена кластеры

Смена имени машины ломает работу служб

Имя машины попадает в настройки служб, сертификаты, идентификаторы участников кластеров и записи журнала. Смена имени на работающей системе задевает всё это сразу, и отказы проявляются не при переименовании, а при следующем перезапуске служб.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Имя запомнено в настройках службы

    Службы кластеров и очередей запоминают имя узла в своих данных. После переименования они не находят своё состояние.

  2. Имя не совпадает с сертификатом

    Сертификаты выписаны на конкретное имя. После переименования клиенты получают предупреждения о несовпадении.

  3. Имя не прописано в файле узлов

    Без записи в файле узлов разрешение собственного имени отказывает, и часть служб не запускается вовсе.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Текущее имя машины во всех его видах.

hostnamectl status

Разрешается ли собственное имя машины.

getent hosts "$(hostname)" || echo имя не разрешается

Что службы говорят об имени узла.

journalctl -b --no-pager | grep -iE "hostname|nodename" | tail -15

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Имя запомнено в настройках службы
Почему происходит
Службы кластеров и очередей запоминают имя узла в своих данных. После переименования они не находят своё состояние.
Как проверить
Посмотрите текущее имя и сообщения служб.
hostnamectl status | head -5
journalctl -b --no-pager | grep -iE "nodename|hostname" | tail -10
Как исправить
Верните прежнее имя либо выполните штатную процедуру смены имени узла для каждой затронутой службы. Порядок зависит от службы, общего способа нет.
2. Имя не совпадает с сертификатом
Почему происходит
Сертификаты выписаны на конкретное имя. После переименования клиенты получают предупреждения о несовпадении.
Как проверить
Сравните имя в сертификате и текущее.
hostname -f
openssl x509 -in /etc/ssl/certs/server.pem -noout -subject 2>/dev/null
Как исправить
Перевыпустите сертификаты на новое имя. Проверять надо и дополнительные имена в сертификате, а не только основное.
3. Имя не прописано в файле узлов
Почему происходит
Без записи в файле узлов разрешение собственного имени отказывает, и часть служб не запускается вовсе.
Как проверить
Посмотрите файл узлов и разрешение имени.
grep -nE "127\.0\.(0|1)\.1" /etc/hosts
getent hosts "$(hostname)" || echo имя не разрешается
Как исправить
Добавьте новое имя в файл узлов. Это первое, что нужно сделать после переименования: многие службы разрешают собственное имя при старте.

Пример вывода

Служба не находит своё состояние под новым именем. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

systemd[1]: Started rabbitmq-server.service - RabbitMQ Messaging Server.
rabbitmq[10100]: Error: unable to perform an operation on node 'rabbit@old-name'
rabbitmq[10100]: * connected to epmd (port 4369) on new-name
rabbitmq[10100]: * epmd reports: node 'rabbit' not running at all

Связанные ошибки

Где встречается чаще всего

Источники

  • hostnamectl(1)
    Виды имени машины и их смена.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено переименованием машины с работающей службой очередей.
    собственная проверка, systemd 255
    сверено 15 сентября 2026