3.23. 部署客户端节点
作为存储管理员,您可以通过运行 cephadm-preflight.yml 和 cephadm-clients.yml playbook 来部署客户端节点。cephadm-preflight.yml playbook 配置 Ceph 存储库,并为引导准备存储集群。它还安装一些先决条件,如 podman、lvm2、chrony 和 cephadm。
cephadm-clients.yml playbook 处理配置和密钥环文件分发到一组 Ceph 客户端。
如果在升级 Ceph 集群后不使用 cephadm-ansible playbook,则必须升级客户端节点上的 ceph-common 软件包和客户端库。有关更多信息,请参阅升级 Red Hat Ceph Storage 集群。
先决条件
- 对 Ansible 管理节点的根级别访问权限.
-
具有 sudo 的 Ansible 用户,对存储集群中所有节点的
ssh访问和免密码访问。 -
安装
cephadm-ansible软件包。 -
[clients]组变量必须在 Ansible 清单文件中指定。 -
[admin]组在清单文件中定义,其中有一个节点位于/etc/ceph/ceph.client.admin.keyring中。 Intel 和 AMD x86-64 微处理器支持 Red Hat Ceph Storage 8.1 及更新的版本。
ARM 64 (aarch64)、IBM POWER 和 S390x CPU 被完全支持。
对 ARM 64 (aarch64)、IBM POWER 和 S390x CPU 的集群支持仅作为技术预览。
重要红帽产品服务级别协议(SLA)不支持技术预览功能,且其功能可能并不完善,因此红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。如需了解更多详细信息,请参阅红帽技术预览功能的支持范围。
流程
以 Ansible 用户身份,进入到 Ansible 管理节点上的
/usr/share/cephadm-ansible目录:示例
cd /usr/share/cephadm-ansible
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 打开并编辑
hosts清单文件,并将[clients]组和客户端添加到您的清单中:示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
cephadm-preflight.ymlplaybook,来在客户端上安装先决条件:语法
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --limit CLIENT_GROUP_NAME|CLIENT_NODE_NAME
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --limit CLIENT_GROUP_NAME|CLIENT_NODE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ansible-playbook -i hosts cephadm-preflight.yml --limit clients
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --limit clientsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
cephadm-clients.ymlplaybook,将密钥环和 Ceph 配置文件分发到一组客户端。使用自定义目标密钥环名称复制密钥环:
语法
ansible-playbook -i INVENTORY_FILE cephadm-clients.yml --extra-vars '{"fsid":"FSID","keyring":"KEYRING_PATH","client_group":"CLIENT_GROUP_NAME","conf":"CEPH_CONFIGURATION_PATH","keyring_dest":"KEYRING_DESTINATION_PATH"}'ansible-playbook -i INVENTORY_FILE cephadm-clients.yml --extra-vars '{"fsid":"FSID","keyring":"KEYRING_PATH","client_group":"CLIENT_GROUP_NAME","conf":"CEPH_CONFIGURATION_PATH","keyring_dest":"KEYRING_DESTINATION_PATH"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将 INVENTORY_FILE 替换为 Ansible 清单文件名称。
- 将 FSID 替换为集群的 FSID。
- 将 KEYRING_PATH 替换为您要复制到客户端的 admin 主机上的密钥环的完整路径名称。
- 可选:将 CLIENT_GROUP_NAME 替换为要设置的客户端的 Ansible 组名称。
- 可选:将 CEPH_CONFIGURATION_PATH 替换为管理节点上 Ceph 配置文件的完整路径。
可选:将 KEYRING_DESTINATION_PATH 替换为要复制密钥环的目标的完整路径名称。
注意如果在运行 playbook 时没有使用 conf 选项指定配置文件,则 playbook 会生成并分发最小配置文件。默认情况下,生成的文件位于
/etc/ceph/ceph.conf中。Example
ansible-playbook -i hosts cephadm-clients.yml --extra-vars '{"fsid":"266ee7a8-2a05-11eb-b846-5254002d4916","keyring":"/etc/ceph/ceph.client.admin.keyring","client_group":"clients","conf":"/etc/ceph/ceph.conf","keyring_dest":"/etc/ceph/custom.name.ceph.keyring"}'[ceph-admin@host01 cephadm-ansible]$ ansible-playbook -i hosts cephadm-clients.yml --extra-vars '{"fsid":"266ee7a8-2a05-11eb-b846-5254002d4916","keyring":"/etc/ceph/ceph.client.admin.keyring","client_group":"clients","conf":"/etc/ceph/ceph.conf","keyring_dest":"/etc/ceph/custom.name.ceph.keyring"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用默认目标密钥环名称
ceph.keyring复制密钥环,并使用默认客户端组:语法
ansible-playbook -i INVENTORY_FILE cephadm-clients.yml --extra-vars '{"fsid":"FSID","keyring":"KEYRING_PATH","conf":"CONF_PATH"}'ansible-playbook -i INVENTORY_FILE cephadm-clients.yml --extra-vars '{"fsid":"FSID","keyring":"KEYRING_PATH","conf":"CONF_PATH"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
登录客户端节点,并验证是否存在密钥环和配置文件。
Example
ls -l /etc/ceph/
[user@client01 ~]# ls -l /etc/ceph/
-rw-------. 1 ceph ceph 151 Jul 11 12:23 custom.name.ceph.keyring
-rw-------. 1 ceph ceph 151 Jul 11 12:23 ceph.keyring
-rw-------. 1 ceph ceph 269 Jul 11 12:23 ceph.conf