2.3. 使用 Ansible 检查两个副本之间是否存在复制协议
存储在 RHEL 身份管理(IdM)服务器上的数据基于复制协议复制:当两台服务器配置了复制协议时,它们将共享其数据。复制协议始终为现实:数据从第一个副本复制到另一个副本,另一个副本复制到第一个副本。
按照以下流程验证 IdM 中多个副本对之间是否存在复制协议。与使用 Ansible 确保 IdM 中存在复制协议 不同,这个过程不会修改现有的配置。
先决条件
- 确保您了解拓扑中连接副本中列出的 IdM 拓扑的建议。
您已配置了 Ansible 控制节点以满足以下要求:
- 您在使用 Ansible 版本 2.15 或更高版本。
-
已安装
freeipa.ansible_freeipa
集合。 - 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
-
示例假定 secret.yml Ansible vault 存储了您的
ipaadmin_password
,并且您可以访问存储了保护 secret.yml 文件的密码的文件。
-
目标节点(这是执行
freeipa.ansible_freeipa
模块的节点)是作为 IdM 客户端、服务器或副本的 IdM 域的一部分。
流程
进入您的 ~/MyPlaybooks/ 目录:
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 复制
ansible-freeipa
软件包提供的check-topologysegments.yml
Ansible playbook 文件:cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/topology/check-topologysegments.yml check-topologysegments-copy.yml
$ cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/topology/check-topologysegments.yml check-topologysegments-copy.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
打开
check-topologysegments-copy.yml
文件进行编辑。 通过在
vars
部分中设置以下变量来调整文件:-
表示
ipaadmin_password
变量的值已在 secret.yml Ansible vault 文件中定义。 对于每个拓扑片段,在
ipatopology_segments
部分添加一个行并设置以下变量:-
根据您要添加的分段类型,将
suffix
变量设置为domain
或ca
。 -
将
left
变量设置为您要作为复制协议左侧节点的 IdM 服务器的名称。 -
将
right
变量设置为您要作为复制协议正确节点的 IdM 服务器的名称。
-
根据您要添加的分段类型,将
-
表示
在
check-topologysegments-copy.yml
文件的tasks
部分中,确保state
变量设置为present
。这是当前示例修改的 Ansible playbook 文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存该文件。
运行 Ansible playbook。指定 playbook 文件、存储保护 secret.yml 文件的密码,以及清单文件:
ansible-playbook --vault-password-file=password_file -v -i inventory check-topologysegments-copy.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory check-topologysegments-copy.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow