3.5. 安装 Ceph 客户端角色
ceph-ansible
实用程序提供 ceph-client
角色,将 Ceph 配置文件和管理密钥环复制到节点。此外,您还可以使用此角色创建自定义池和客户端。
先决条件
-
正在运行的 Ceph 存储集群,最好处于
active + clean
状态。 - 执行 第 2 章 安装 Red Hat Ceph Storage 的要求 中列出的任务。
流程
在 Ansible 管理节点上执行下列任务:
在
/etc/ansible/hosts
文件中添加新部分[clients]
:[clients] <client-hostname>
将
<client-hostname> 替换为您要安装
。ceph-client
角色的节点的主机名进入
/usr/share/ceph-ansible
目录:[root@admin ~]# cd /usr/share/ceph-ansible
为
clients.yml.sample
文件创建一个新副本,取名为client.yml
:[root@admin ceph-ansible ~]# cp group_vars/clients.yml.sample group_vars/clients.yml
打开
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 }}" }
使用实际客户端名称替换
client.test
,并在客户端定义行中添加客户端密钥,例如:key: "ADD-KEYRING-HERE=="
现在,整行示例类似如下:
- { 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 }}" }
注意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: <number>
将
<number>
替换为 PG 的默认数量。
运行 Ansible playbook:
[user@admin ceph-ansible]$ ansible-playbook site.yml --limit clients