13.6. 使用 ceph_orch_apply 模块应用服务规格
作为存储管理员,您可以使用 Ansible playbook 中的 ceph_orch_apply
模块将服务规格应用到存储集群。服务规格是一个数据结构,它指定用于部署 Ceph 服务的服务属性和配置设置。您可以使用服务规格来部署 Ceph 服务类型,如 mon
、crash
、mds
、mgr
、osd
、rdb
或 rbd-mirror
。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 具有 sudo 的 Ansible 用户,对存储集群中的所有节点进行免密码 SSH 访问。
-
在 Ansible 管理节点上安装
cephadm-ansible
软件包。 - Ansible 清单文件包含集群和 admin 主机。
流程
- 登录 Ansible 管理节点。
进入 Ansible 管理节点上的
/usr/share/cephadm-ansible
目录:示例
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible
使用服务规格创建 playbook:
语法
sudo vi PLAYBOOK_FILENAME.yml --- - name: PLAY_NAME hosts: HOSTS_OR_HOST_GROUPS become: USE_ELEVATED_PRIVILEGES gather_facts: GATHER_FACTS_ABOUT_REMOTE_HOSTS tasks: - name: NAME_OF_TASK ceph_orch_apply: spec: | service_type: SERVICE_TYPE service_id: UNIQUE_NAME_OF_SERVICE placement: host_pattern: 'HOST_PATTERN_TO_SELECT_HOSTS' label: LABEL spec: SPECIFICATION_OPTIONS:
示例
[ceph-admin@admin cephadm-ansible]$ sudo vi deploy_osd_service.yml --- - name: deploy osd service hosts: host01 become: true gather_facts: true tasks: - name: apply osd spec ceph_orch_apply: spec: | service_type: osd service_id: osd placement: host_pattern: '*' label: osd spec: data_devices: all: true
在本例中,playbook 将 Ceph OSD 服务部署到所有具有标签
osd
的主机。运行 playbook:
语法
ansible-playbook -i INVENTORY_FILE _PLAYBOOK_FILENAME.yml
示例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts deploy_osd_service.yml
验证
- 检查 playbook 任务的输出。
其它资源
- 如需了解更多有关服务规格选项的详细信息,请参阅 Red Hat Ceph Storage Operations 指南。