Можно сделать любой/весь тот материал с файлом интерфейсов debian при помощи/вниз команд.
http://xn.pinkhamster.net/blog/tech/mail/high-availability_smtp_with_ucarp_on_debian.html
Вам нужно сделать две вещи (но вы сделали только одну из них):
/ etc / hostname
. /etc/cloud/cloud.cfg
и установите preserve_hostname
на True
. (Вы также можете передать эту опцию вместе со своими пользовательскими данными.) Второй шаг необходим, потому что Fedora использует cloud-init
для переноса пользовательских данных из среды EC2 для подготовки экземпляра и cloud-init
необходимо указать, что имя хоста должно сохраниться.
Похоже, что ответ находится на странице руководства hostnamectl, теперь есть 3 имени хоста: статическое, временное и красивое.
Чтобы установить статическое имя хоста, которое, как мне кажется, является тем, которое вам нужно,
hostnamectl --static set-hostname somehost.tld
Вы можете настроить их все одинаковыми с помощью
hostnamectl set-hostname somehost.tld
Этот должен работать, но есть ' s больше о вашей среде, которую нам нужно знать. Ваша проблема, скорее всего, связана с настройками контроля допуска для вашего кластера с 4 хостами. Однако особенности того, как правильно настроить контроль доступа , выходят за рамки этого вопроса.
Можете ли вы попробовать отключить контроль доступа высокой доступности и снова попытаться перейти в режим обслуживания на хосте?
[Unit]
Description= *** Hostname becomes 'penpen.homelinux.org' ***
After=default.target
# After=systemd-hostnamed.service -- NOPE
# After=dbus.service -- NOPE
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/toolbox/setting_hostnames/penpen
[Install]
WantedBy=multi-user.target
Активируйте его с помощью systemctl enable pen-naming
Что делает / usr / local / toolbox / setting_hostnames / penpen
? Если записывает penpen.homelinux.org в / etc / hostname
. Но на самом деле этого недостаточно, нужно также установить имя хоста с помощью hostnamectl
.
Даже в этом случае модуль должен запускаться так поздно (After = default.target)
что оболочка входа по-прежнему отображает внутреннее имя хоста EC2. И все еще есть проблемы с подключением к DBus.
Так что это не лучшее решение, или, по крайней мере, требуется исправление для «позиции в дереве зависимостей файловых модулей» и «что, черт возьми, с dbus»
имена хостов после этого:
Kernel hostname via 'sysctl' : penpen.homelinux.org
Kernel domainname via 'sysctl' : (none)
File '/etc/hostname' : contains 'penpen.homelinux.org'
File '/etc/sysconfig/network' : exists but has no 'HOSTNAME' line
According to the shell : HOSTNAME = ip-10-164-65-105.ec2.internal
Nodename given by 'uname --nodename' : penpen.homelinux.org
Hostname ('hostname') : penpen.homelinux.org
Short hostname ('hostname --short') : penpen
NIS domain name ('domainname') : (none)
YP default domain ('hostname --yp') : [hostname --yp failed]
DNS domain name ('hostname --domain') : homelinux.org
Fully qualified hostname ('hostname --fqdn') : penpen.homelinux.org
Hostname alias ('hostname --alias') :
By IP address ('hostname --ip-address') : 54.221.0.63
All IPs ('hostname --all-ip-addresses') : 10.164.65.105
All FQHNs via IPs ('hostname --all-ip-addresses') : ip-10-164-65-105.ec2.internal
Static hostname via 'hostnamectl' : penpen.homelinux.org
Transient hostname via 'hostnamectl' : penpen.homelinux.org
Pretty hostname via 'hostnamectl' :
На самом деле это ошибка в cloud-init на RHEL-подобных дистрибутивах, использующих SystemD. Патч доступен по адресу https://bugs.launchpad.net/cloud-init/+bug/1424710
Другой вариант - установить имя хоста через пользовательские данные
например
#cloud-config
hostname: foo
fqdn: foo.bar.net
Это установит имя хоста при загрузке, однако я не уверен, будет ли это всегда происходить до первого входа в систему.