3.23. 部署客户端节点
作为存储管理员,您可以通过运行 cephadm-preflight.yml
和 cephadm-clients.yml
playbook 来部署客户端节点。cephadm-preflight.yml
playbook 配置 Ceph 存储库,并为引导准备存储集群。它还安装一些先决条件,如 podman
、lvm2
、chrony
和 cephadm
。
cephadm-clients.yml
playbook 处理配置和密钥环文件分发到一组 Ceph 客户端。
如果没有使用 cephadm-ansible
playbook,在升级 Ceph 集群后,您必须升级客户端节点上的 ceph-common
软件包和客户端库。如需更多信息,请参阅升级 Red Hat Ceph Storage 集群。
先决条件
- 对 Ansible 管理节点的根级别访问权限.
-
具有 sudo 的 Ansible 用户,对存储集群中所有节点的
ssh
访问和免密码访问。 -
安装
cephadm-ansible
软件包。 -
[clients]
组变量必须在 Ansible 清单文件中指定。 -
[admin]
组在清单文件中定义,其中有一个节点位于/etc/ceph/ceph.client.admin.keyring
中。
流程
以 Ansible 用户身份,进入到 Ansible 管理节点上的
/usr/share/cephadm-ansible
目录:示例
cd /usr/share/cephadm-ansible
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 打开并编辑
hosts
清单文件,并将[clients]
组和客户端添加到您的清单中:示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
cephadm-preflight.yml
playbook,来在客户端上安装先决条件:语法
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_NAME
Copy 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 clients
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
cephadm-clients.yml
playbook,将密钥环和 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
中。示例
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
验证
登录客户端节点,并验证是否存在密钥环和配置文件。
示例
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