5.5. 安装 Ceph 客户端角色
ceph-ansible 实用程序提供 ceph-client 角色,将 Ceph 配置文件和管理密钥环复制到节点。此外,您还可以使用此角色创建自定义池和客户端。
先决条件
-
正在运行的 Ceph 存储集群,最好处于
active + clean状态。 - 执行要求中列出的任务。
- 启用免密码 SSH 访问。
流程
在 Ansible 管理节点上执行下列任务:
在
/etc/ansible/hosts文件中添加新部分[clients]:[clients] CLIENT_NODE_NAME
[clients] CLIENT_NODE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 CLIENT_NODE_NAME 替换为您要安装
ceph-client角色的节点的主机名。进入
/usr/share/ceph-ansible目录:cd /usr/share/ceph-ansible
[root@admin ~]# cd /usr/share/ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为
clients.yml.sample文件创建一个新副本,取名为client.yml:cp group_vars/clients.yml.sample group_vars/clients.yml
[root@admin ceph-ansible ~]# cp group_vars/clients.yml.sample group_vars/clients.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 打开
group_vars/clients.yml文件,取消注释以下行:keys: - { name: client.test, caps: { mon: "allow r", osd: "allow class-read object_prefix rbd_children, allow rwx pool=test" }, mode: "{{ ceph_keyring_permissions }}" }keys: - { name: client.test, caps: { mon: "allow r", osd: "allow class-read object_prefix rbd_children, allow rwx pool=test" }, mode: "{{ ceph_keyring_permissions }}" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用实际客户端名称替换
client.test,并在客户端定义行中添加客户端密钥,例如:key: "ADD-KEYRING-HERE=="
key: "ADD-KEYRING-HERE=="Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,整行示例类似如下:
- { name: client.test, key: "AQAin8tUMICVFBAALRHNrV0Z4MXupRw4v9JQ6Q==", caps: { mon: "allow r", osd: "allow class-read object_prefix rbd_children, allow rwx pool=test" }, mode: "{{ ceph_keyring_permissions }}" }- { name: client.test, key: "AQAin8tUMICVFBAALRHNrV0Z4MXupRw4v9JQ6Q==", caps: { mon: "allow r", osd: "allow class-read object_prefix rbd_children, allow rwx pool=test" }, mode: "{{ ceph_keyring_permissions }}" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意ceph-authtool --gen-print-key命令可以生成新的客户端密钥。
(可选)指示
ceph-client创建池和客户端。更新
clients.yml。-
取消注释
user_config设置并将其设置为true。 -
取消注释
pools和keys部分,并根据需要进行更新。您可以使用cephx功能定义自定义池和客户端名称。
-
取消注释
将
osd_pool_default_pg_num设置添加到all.yml文件的ceph_conf_overrides部分:ceph_conf_overrides: global: osd_pool_default_pg_num: NUMBERceph_conf_overrides: global: osd_pool_default_pg_num: NUMBERCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 NUMBER 替换为 PG 的默认数量。
以
ansible用户身份,运行 Ansible playbook:裸机部署:
ansible-playbook site.yml --limit clients -i hosts
[ansible@admin ceph-ansible]$ ansible-playbook site.yml --limit clients -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 容器部署:
ansible-playbook site-container.yml --limit clients -i hosts
[ansible@admin ceph-ansible]$ ansible-playbook site-container.yml --limit clients -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其它资源
-
详情请参阅 了解
限制选项。