Установка реплики#

Документация и описание#

See also

Официальная документация: RHEL8 - Installing Identity Management - Chapter 22. Installing an IdM replica

Я производил установку на машину, уже введённую в домен в качестве клиента; инструкция описывает именно этот вариант. Установка прошла успешно.

В документации по приведённой выше ссылке описан также вариант установки без предварительного ввода в домен.

Предварительная подготовка сервера#

Увеличим swap до 4-х гигов#

Увеличим жёсткий диск до 12 гигов и расширим /dev/sda2, например, с помощью cfdisk.

Дальше:

sudo pvresize -v /dev/sda2
sudo lvextend --size 4G /dev/cl/swap
sudo swapoff /dev/cl/swap
sudo mkswap /dev/cl/swap
sudo swapon -v /dev/cl/swap

Для FreeIPA требуется IPv6, включим#

sudo vim /etc/sysctl.conf

Явно укажем:

net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0

Применим изменения (либо перезагрузим машину):

sudo sysctl --system

See also

Дополнительная информация — в примечании 1.

Проверим /etc/hosts, исправим если нужно#

Сейчас /etc/hosts именно в нужном формате формирует плейбук стартовой инициализации хостов. Практика показала, что VMWare, когда вносит изменения в данный файл, нарушает требуемый формат (или последовательность записей), так что проверить не мешает.

Детально требования описаны в отдельной статье, там же есть ссылка на соответствующий раздел официальной документации: Ошибка “Invalid hostname, localhost.localdomain must not be used”

Установка реплики плейбуком ansible#

Внесём c04-ipa-test.sitefactory.local (а также серверы FreeIPA, которые нужно считать “главными”) в инвентарь:

vim inv/freeipa-replica/hosts
[ipaservers]
c04-ipa-main.sitefactory.local

[ipareplicas]
c04-ipa-test.sitefactory.local

Будут созданы replication agreements от “главного” сервера из ipaservers к устанавливаемым репликам из ipareplicas. Сразу с несколькими не пробовал (может сработать?).

Hint

После окончания установки все реплики FreeIPA равноценны, главных и подчинённых нет (но есть replication agreements между разными парами серверов — в соответствии с тем, что мы задали в инвентаре).

Выполним плейбук:

ansible-playbook -i inv/freeipa-replica \
  --vault-id askme@prompt \
  playbook/maintenance/freeipa/replica/install-replica.yml

Attention

Важно: для установки реплики потребуется пользователь с правами админа на FreeIPA, полномочий hostenrolluser для этого не достаточно!

Note

Если в процессе выполнения плейбука столкнулись с ошибкой

AttributeError: 'AnsibleModuleLog' object has no attribute 'isatty'

(у меня была на шаге [ipareplica : Install - Setup DNS]) — решение в статье Ошибка “AttributeError: AnsibleModuleLog object has no attribute isatty”


1

Мне не помогли следующие варианты (ни по отдельности, ни вместе):

  • закомментировать net.ipv6.conf.all.disable_ipv6 = 1 в /etc/sysctl.conf;

  • sysctl --write net.ipv6.conf.all.disable_ipv6=0
    sysctl --write net.ipv6.conf.default.disable_ipv6=0
    

Следующие команды (для конкретных интерфейсов) не нужно выполнять, если выполнены предыдущие две, но оставлю их здесь для для справки:

sysctl --write net.ipv6.conf.ens192.disable_ipv6=0
sysctl --write net.ipv6.conf.lo.disable_ipv6=0