40.3. 使用 Ansible 检查两个副本之间是否存在复制协议
存储在身份管理 (IdM) 服务器上的数据存储基于复制协议:配置了两个服务器时,它们共享其数据。复制协议始终为现实:数据从第一个副本复制到另一个副本,另一个副本复制到第一个副本。
按照以下流程验证 IdM 中多个副本对之间是否存在复制协议。与 使用 Ansible 确保复制协议在 IdM 中存在 不同,这个过程不会修改现有的配置。
先决条件
- 确保您了解拓扑中连接副本中列出的 IdM 拓扑的建议。
- 您已配置了 Ansible 控制节点以满足以下要求: - 您在使用 Ansible 版本 2.13 或更高版本。
- 
								您已安装了 ansible-freeipa软件包。
- 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
- 
								示例假定 secret.yml Ansible vault 存储了您的 ipaadmin_password,并且您可以访问存储了保护 secret.yml 文件的密码的文件。
 
- 
						目标节点(这是执行 ansible-freeipa模块的节点)是 IdM 域的一部分,来作为 IdM 客户端、服务器或副本。
流程
- 进入您的 ~/MyPlaybooks/ 目录: - cd ~/MyPlaybooks/ - $ cd ~/MyPlaybooks/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 复制 - ansible-freeipa软件包提供的- check-topologysegments.ymlAnsible playbook 文件:- cp /usr/share/doc/ansible-freeipa/playbooks/topology/check-topologysegments.yml check-topologysegments-copy.yml - $ cp /usr/share/doc/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