3.9. 运行 preflight playbook
此 Ansible playbook 配置 Ceph 存储库,并准备用于引导的存储集群。它还会安装一些前提条件,如 podman
、lvm2
、chronyd
和 cephadm
。cephadm-ansible
和 cephadm-preflight.yml
的默认位置为 /usr/share/cephadm-ansible
。
preflight playbook 使用 cephadm-ansible
清单文件来识别存储集群中的所有 admin 和节点。
清单文件的默认位置为 /usr/share/cephadm-ansible/hosts
。以下示例显示了典型的清单文件的结构:
示例
host02 host03 host04 [admin] host01
清单文件中的 [admin]
组包含存储了 admin 密钥环的节点的名称。在新存储集群中,[admin]
组中的节点将是 bootstrap 节点。要在引导集群后添加额外的 admin 主机,请参阅安装指南中的设置 管理节点。
在引导初始主机前运行 preflight playbook。
如果要执行断开连接的安装,请参阅 运行 preflight playbook 以断开连接安装。
先决条件
- 对 Ansible 管理节点的根级别访问权限.
具有 sudo 的 Ansible 用户,对存储集群中所有节点的
ssh
访问和免密码访问。注意在以下示例中,host01 是 bootstrap 节点。
流程
-
进入
/usr/share/cephadm-ansible
目录。 打开并编辑
hosts
文件并添加节点:示例
host02 host03 host04 [admin] host01
运行 preflight playbook:
语法
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"
示例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"
安装完成后,
cephadm
驻留在/usr/sbin/
目录中。使用
--limit
选项在存储集群中的一组主机上运行 preflight playbook:语法
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit GROUP_NAME|NODE_NAME
将 GROUP_NAME 替换为清单文件中的组名称。将 NODE_NAME 替换为清单文件中的特定节点名称。
注意另外,您可以根据组名称,如
[mons]
,[osds]
, 和[mgrs]
等对节点进行分组。但是,必须将管理节点添加到[admin]
组和客户端,必须将客户端添加到[clients]
组中。示例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit clients [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit host01
运行 preflight playbook 时,
cephadm-ansible
会自动在客户端节点上安装chronyd
和ceph-common
。preflight playbook 安装
chronyd
,但为单个 NTP 源进行配置。如果要配置多个源,或者有断开连接的环境,请参阅以下文档以了解更多信息: