- 7.2. Создание базового файла конфигурации
- 7.2.1. Примеры cluster.conf
- 7.2.2. Значение consensus элемента totem в кластере с двумя узлами
- Настройка сети⚓︎
- Именование сетевых устройств⚓︎
- Настройка DHCP⚓︎
- Настройка статического IP-адреса⚓︎
- Создание файла /etc/resolv.conf⚓︎
- Настройка systemd-resolved⚓︎
- Статическая настройка файла resolv.conf⚓︎
- Настройка /etc/hostname⚓︎
- Настройка /etc/hosts⚓︎
7.2. Создание базового файла конфигурации
Если Red Hat Enterprise Linux и Red Hat High Availability уже установлены, для создания кластера останется только создать файл конфигурации /etc/cluster/cluster.conf и запустить кластерные службы. Эта секция ориентирована на создание базового файла конфигурации. Более сложные операции — изоляция узлов, настройка резервных доменов и служб высокой готовности — будут рассмотрены позднее.
Ниже приведен порядок создания шаблона файла конфигурации. Окончательный файл может отличаться в зависимости от индивидуальных требований окружения, числа узлов, типа изоляции, типа и числа кластерных служб.
Дополнительно: при настройке кластера с двумя узлами можно позволить одному узлу поддерживать кворум:
Операции добавления или удаления two_node из cluster.conf требуют перезапуска кластера (см. Раздел 8.4, «Обновление конфигурации»). Пример 7.2, « cluster.conf . Базовая конфигурация для двух узлов» содержит пример настройки two_node .
После этого можно выбрать имя кластера и номер версии конфигурации с помощью атрибутов name и config_version в строке cluster (см. Пример 7.1, « cluster.conf . Базовая конфигурация» и Пример 7.2, « cluster.conf . Базовая конфигурация для двух узлов»).
В секции clusternodes для каждого узла можно определить имя и идентификатор с помощью атрибутов name и nodeid в строке clusternode .
[root@example-01 ~]# ccs_config_validate
Configuration validates
Копирование конфигурации работающего кластера рекомендуется выполнять с помощью cman_tool version -r . По желанию можно использовать scp , но при этом потребуется остановить кластерные программы на всех узлах и выполнить проверку ccs_config_validate .
[root@example-01 ~]# service cman start
Starting cluster: Checking Network Manager. [ OK ] Global setup. [ OK ] Loading kernel modules. [ OK ] Mounting configfs. [ OK ] Starting cman. [ OK ] Waiting for quorum. [ OK ] Starting fenced. [ OK ] Starting dlm_controld. [ OK ] Starting gfs_controld. [ OK ] Unfencing self. [ OK ] Joining fence domain. [ OK ]
Выполните cman_tool nodes на любом узле, чтобы убедиться, что все узлы успешно вошли в состав кластера, о чем сообщает значение «M» в столбце статуса:
[root@example-01 ~]# cman_tool nodes
Node Sts Inc Joined Name 1 M 548 2010-09-28 10:52:21 node-01.example.com 2 M 548 2010-09-28 10:52:21 node-02.example.com 3 M 544 2010-09-28 10:52:21 node-03.example.com
После успешного создания кластера можно приступить к настройке изоляции узлов (см. Раздел 7.3, «Исключение узлов из кластера»).
7.2.1. Примеры cluster.conf
Пример 7.1, « cluster.conf . Базовая конфигурация» и Пример 7.2, « cluster.conf . Базовая конфигурация для двух узлов» демонстрируют две схемы, на основе которых будут позднее настроены возможности изоляции узлов и службы высокой готовности.
Пример 7.1. cluster.conf . Базовая конфигурация
Пример 7.2. cluster.conf . Базовая конфигурация для двух узлов
7.2.2. Значение consensus элемента totem в кластере с двумя узлами
Если кластер содержит два узла, и в будущем добавление других узлов не планируется, можно опустить значение consensus в строке totem . В таком случае оно будет рассчитываться автоматически по принципу:
При увеличении числа узлов с 2 до 3 (и более) потребуется перезапустить кластер, так как формула расчета изменится.
Если в кластер с двумя узлами планируется добавить дополнительные узлы, необходимость перезапуска кластера можно предотвратить, переопределив consensus в строке totem :
Главным достоинством этого подхода является сокращение времени восстановления в кластере с двумя узлами, так как значение consensus не является динамическим.
Следует помнить, что функции автоматического обнаружения узлов cman учитывают только наличие физических узлов в кластере с двумя элементами, а не наличие two_node=1 в cluster.conf .
Настройка сети⚓︎
Начиная с версии 209, в systemd имеется служба systemd-networkd , которую можно использовать для настройки сети. Кроме того, начиная с версии 213, разрешение имен DNS можно обрабатывать с помощью systemd-resolved вместо статического файла /etc/resolv.conf . Обе службы включены по умолчанию.
Файлы конфигурации для systemd-networkd (и systemd-resolved ) можно разместить в /usr/lib/systemd/network или /etc/systemd/network . Файлы в /etc/systemd/network имеют более высокий приоритет, чем файлы в /usr/lib/systemd/network .
Существует три типа файлов конфигурации: файлы .link , .netdev и .network .
Именование сетевых устройств⚓︎
Udev обычно назначает имена интерфейсов сетевых карт на основе физических характеристик системы, таких как enp2s1 . Если вы не уверены, как называется ваш интерфейс, вы всегда можете запустить ip link после загрузки вашей системы.
Для большинства систем существует только один сетевой интерфейс для каждого типа подключения. Например, классическое имя интерфейса для проводного подключения — eth0 . Беспроводное соединение обычно имеет имя wifi0 или wlan0 .
Если вы предпочитаете использовать классические или настраиваемые имена сетевых интерфейсов, есть три способа это сделать:
ln -s /dev/null /etc/systemd/network/99-default.link
- Создайте схему именования вручную, например, присвоив интерфейсам что-то вроде internet0 , dmz0 или lan0 . Для этого создайте файлы .link в /etc/systemd/network/ , которые выберут явное имя или лучшую схему именования для ваших сетевых интерфейсов. Например:
cat > /etc/systemd/network/10-ether0.link "EOF" [Match] # Change the MAC address as appropriate for your network device MACAddress=12:34:45:78:90:AB [Link] Name=ether0 EOF
Настройка DHCP⚓︎
Приведенная ниже команда создаёт файл базовой конфигурации для настройки IPv4 DHCP:
cat > /etc/systemd/network/10-eth-dhcp.network "EOF" [Match] Name= [Network] DHCP=ipv4 [DHCP] UseDomains=true EOF
Настройка статического IP-адреса⚓︎
Приведенная ниже команда создает базовый файл конфигурации для настройки статического IP-адреса (с использованием как systemd-networkd , так и systemd-resolved ):
cat > /etc/systemd/network/10-eth-static.network "EOF" [Match] Name= [Network] Address=192.168.0.2/24 Gateway=192.168.0.1 DNS=192.168.0.1 Domains= EOF
Если у вас несколько DNS-серверов, можно добавить несколько записей DNS. (Замените ключ DNS в команде, расположенной выше)
Не включайте записи DNS или доменов, если вы собираетесь использовать статический файл /etc/resolv.conf .
Создание файла /etc/resolv.conf⚓︎
Если система будет подключена к сети Интернет, ей потребуются некоторые средства разрешения доменных имен (DNS) для преобразования доменных имён в IP-адреса и наоборот. Лучше всего это достигается помещением IP-адреса DNS-сервера, доступного у интернет-провайдера или сетевого администратора, в /etc/resolv.conf .
Настройка systemd-resolved⚓︎
При использовании методов, несовместимых с systemd-resolved для настройки сетевых интерфейсов (например, ppp и т. д.), или при использовании любого типа локального преобразователя (например, bind, dnsmasq, unbound и т. д.) или любого другого программного обеспечения, которое генерирует /etc/resolv.conf (например, программа resolvconf, отличная от той, которая предоставляется systemd), службу systemd-resolved использовать не следует.
При использовании службы systemd-resolved для настройки DNS, будет создан файл /run/systemd/resolve/resolv.conf .
Создайте символическую ссылку, чтобы использовать этот файл в каталоге /etc
ln -sfv /run/systemd/resolve/resolv.conf /etc/resolv.conf
Статическая настройка файла resolv.conf⚓︎
Если требуется статический файл /etc/resolv.conf , создайте его, выполнив следующую команду:
cat > /etc/resolv.conf "EOF" # Begin /etc/resolv.conf domain nameserver nameserver # End /etc/resolv.conf EOF
domain — можно можно опустить или заменить на search
Замените IP-адресом DNS-сервера. Может присутствовать несколько записей (требования предусматривают наличия вторичных серверов для возможности восстановления). Если вам нужен только один DNS-сервер, удалите вторую строку nameserver из файла. IP-адрес также может быть маршрутизатором в локальной сети.
В качестве DNS можно указать адреса, предложенные ниже:
Yandex DNS IPv4 77.88.8.8 и 77.88.8.1
The Google Public IPv4 DNS адреса 8.8.8.8 и 8.8.4.4
The Google Public IPv6 DNS адреса 2001:4860:4860::8888 и 2001:4860:4860::8844
Настройка /etc/hostname⚓︎
Во время процесса загрузки файл /etc/hostname используется для определения имени хоста системы.
Создайте файл /etc/hostname и введите имя хоста, запустив:
echo "MyHostName" > /etc/hostname
«MyHostName» необходимо заменить именем, присвоенным компьютеру. Не вводите здесь полное доменное имя (FQDN). Эта информация помещается в файл /etc/hosts .
Настройка /etc/hosts⚓︎
Выберите полное доменное имя (FQDN) и возможные псевдонимы для использования в файле /etc/hosts . Если вы используете статические IP-адреса, вам также необходимо выбрать IP-адрес. Синтаксис записи файла hosts:
IP_address myhost.example.org aliases
Если компьютер не должен быть видимым для Интернета (существует зарегистрированный домен и действительный блок назначенных IP-адресов — у большинства пользователей этого нет), убедитесь, что IP-адрес находится в диапазоне IP-адресов частной сети. Допустимые диапазоны:
Диапазон сети Префикс 10.0.0.1 - 10.255.255.254 8 172.x.0.1 - 172.x.255.254 16 192.168.y.1 - 192.168.y.254 24
x — может быть любым числом в диапазоне от 16 до 31
y — может быть любым числом в диапазоне от 0 до 255
Корректный локальный IP адрес может быть вида 192.168.1.1 . FQDN, напрмер mylin.example.org .
Даже если не используется сетевая карта, всё равно требуется действительное полное доменное имя. Это необходимо для правильной работы определенных программ, таких как MTA (почтовый сервер).
cat > /etc/hosts "EOF" # Begin /etc/hosts 127.0.0.1 localhost.localdomain localhost 127.0.1.1 192.168.0.2> [alias1] [alias2] . ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters # End /etc/hosts EOF
Значения , и необходимо изменить в соответствии с потребностями (если IP-адрес назначен сетевым / системным администратором, и оборудование будет подключено к существующей сети).
Необязательные псевдонимы можно опустить, а строку 192.168.0.2 можно не указывать, если вы используете соединение, настроенное с помощью DHCP или автоконфигурации IPv6.
Запись ::1 является эквивалентом IPv6 127.0.0.1 и представляет loopback интерфейс IPv6 .
127.0.1.1 — так называемый, «местный» от англ. local, или «локальный хост», по смыслу — это компьютер, зарезервированный специально для FQDN.