3.22. 部署客户端节点
作为存储管理员,您可以通过运行 cephadm-preflight.yml 和 cephadm-clients.yml playbook 来部署客户端节点。cephadm-preflight.yml playbook 配置 Ceph 存储库,并为引导准备存储集群。它还安装一些先决条件,如 podman、lvm2、chrony 和 cephadm。
对于 Red Hat Enterprise Linux 9 跳过这些步骤,因为 cephadm-preflight playbook 不被支持。
cephadm-clients.yml playbook 处理配置和密钥环文件分发到一组 Ceph 客户端。
在升级 Ceph 集群后如果不使用 cephadm-ansible playbook,则必须升级客户端节点上的 ceph-common 软件包和客户端库。有关更多信息,请参阅 Red Hat Ceph Storage 升级指南中的升级 Red Hat Ceph Storage 集群部分。
先决条件
- 对 Ansible 管理节点的根级别访问权限.
-
具有 sudo 的 Ansible 用户,对存储集群中所有节点进行免密码
SSH访问。 -
安装
cephadm-ansible软件包。 -
[admin]组在清单文件中定义,其中有一个节点位于/etc/ceph/ceph.client.admin.keyring中。
流程
以 Ansible 用户身份,进入到 Ansible 管理节点上的
/usr/share/cephadm-ansible目录。示例
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible打开并编辑
hosts清单文件,并将[clients]组和客户端添加到您的清单中:示例
host02 host03 host04 [clients] client01 client02 client03 [admin] host01运行
cephadm-preflight.ymlplaybook,来在客户端上安装先决条件:语法
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --limit CLIENT_GROUP_NAME|CLIENT_NODE_NAME示例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --limit clients运行
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"}'- 将 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中。示例
[ceph-admin@host01 cephadm-ansible]$ ansible-playbook -i hosts cephadm-clients.yml --extra-vars '{"fsid":"266ee7a8-2a05-11eb-b846-5254002d4916","client_group":"clients","keyring":"/etc/ceph/ceph.client.admin.keyring","conf":"/etc/ceph/ceph.conf","keyring_dest":"/etc/ceph/custom.name.ceph.keyring"}'
使用默认目标密钥环名称
ceph.keyring复制密钥环,并使用默认clients组 :语法
ansible-playbook -i INVENTORY_FILE cephadm-clients.yml --extra-vars '{"fsid":"FSID","keyring":"KEYRING_PATH","conf":"CEPH_CONFIGURATION_PATH"}'示例
[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","conf":"/etc/ceph/ceph.conf"}'
验证
登录客户端节点,并验证是否存在密钥环和配置文件。
示例
[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