6.9. 使用高级服务规格部署 Ceph OSD
类型 OSD 的服务规格是利用磁盘属性描述集群布局的方法。它为用户提供了一种抽象的方式,告知 Ceph 哪个磁盘应该切换到带有所需配置的 OSD,而不必了解具体的设备名称和路径。
您可以通过定义 yaml
文件或 json
文件,为每个设备和每个主机部署 OSD。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 主机添加到集群中。
- 所有管理器和监控守护进程都已部署。
流程
在 monitor 节点上,创建
osd_spec.yaml
文件:示例
touch osd_spec.yaml
[root@host01 ~]# touch osd_spec.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
osd_spec.yaml
文件,使其包含以下详情:语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 简单情况:在这些情况下,所有节点都具有相同的设置。
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 简单场景:在这种情况下,所有节点都与原始模式中创建的 OSD 设备具有相同的设置,而无需 LVM 层。
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 高级情景:这会将所有 HDD 用作
data_devices
,并将两个 SSD 分配为专用 DB 或 WAL 设备来创建所需的布局。剩余的 SSD 是将 NVMEs 供应商分配给专用 DB 或 WAL 设备的data_devices
。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 非统一节点的高级场景:这会根据 host_pattern 键将不同的 OSD specs 应用到不同的主机。
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用专用 WAL 和 DB 设备的高级场景:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 每个设备有多个 OSD 的高级场景:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于预先创建的卷,请编辑
osd_spec.yaml
文件,使其包含以下详情:语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 OSD,按 ID 编辑
osd_spec.yaml
文件,使其包含以下详情:注意此配置适用于 Red Hat Ceph Storage 5.3z1 及更新的版本。对于早期版本,请使用预先创建的 lvm。
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 OSD 通过路径,编辑
osd_spec.yaml
文件,使其包含以下详情:注意此配置适用于 Red Hat Ceph Storage 5.3z1 及更新的版本。对于早期版本,请使用预先创建的 lvm。
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
将 YAML 文件挂载到容器中的一个目录下:
示例
cephadm shell --mount osd_spec.yaml:/var/lib/ceph/osd/osd_spec.yaml
[root@host01 ~]# cephadm shell --mount osd_spec.yaml:/var/lib/ceph/osd/osd_spec.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入该目录:
示例
[ceph: root@host01 /]# cd /var/lib/ceph/osd/
[ceph: root@host01 /]# cd /var/lib/ceph/osd/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在部署 OSD 之前,先执行空运行:
注意此步骤提供部署预览,无需部署守护进程。
示例
[ceph: root@host01 osd]# ceph orch apply -i osd_spec.yaml --dry-run
[ceph: root@host01 osd]# ceph orch apply -i osd_spec.yaml --dry-run
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用服务规格部署 OSD:
语法
ceph orch apply -i FILE_NAME.yml
ceph orch apply -i FILE_NAME.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 osd]# ceph orch apply -i osd_spec.yaml
[ceph: root@host01 osd]# ceph orch apply -i osd_spec.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
列出服务:
示例
[ceph: root@host01 /]# ceph orch ls osd
[ceph: root@host01 /]# ceph orch ls osd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看节点和设备的详情:
示例
[ceph: root@host01 /]# ceph osd tree
[ceph: root@host01 /]# ceph osd tree
Copy to Clipboard Copied! Toggle word wrap Toggle overflow