添加OSD
OSD是Ceph集群数据管理服务。添加OSD的磁盘需满足以下所有条件。
前提条件
- 该磁盘设备必须没有分区。
- 该磁盘设备不得具有任何LVM状态。
- 该磁盘设备不得包含文件系统。
- 该磁盘设备不得包含Ceph BlueStore OSD。
- 该磁盘设备必须大于5GB。
- 可选:修改大页类型。
部署SPDK需要操作系统支持大页,若大页类型不为2M,按照下方步骤修改即可。
- 打开“/boot/efi/EFI/openEuler/grub.cfg”文件。
vim /boot/efi/EFI/openEuler/grub.cfg
- 按“i”进入编辑模式,找到内核启动参数,补充“default_hugepagesz=2M hugepagesz=2M hugepages=1024”。
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存退出文件。
- 打开“/boot/efi/EFI/openEuler/grub.cfg”文件。
- 配置大页内存数量。
1
echo 20480 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
- NVMe SSD切换到用户态驱动。
1
cephadm shell -v /lib/modules:/lib/modules -e DRIVER_OVERRIDE=uio_pci_generic sh /var/lib/ceph/spdk_lib/scripts/setup.sh
- 将2、3中的命令写入“/etc/rc.d/rc.local”持久化保存,开机自启动。
1 2
vim /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local
- 查看系统可用磁盘设备。
1
cephadm shell sh /var/lib/ceph/spdk_lib/scripts/setup.sh status
- 关闭OSD内存自动调节。
cephadm shell ceph config set osd osd_memory_target_autotune false
- 添加OSD(各节点仅支持启动自身的OSD)。
- 方式1:仅指定bdfs号添加OSD。
1 2 3 4 5
# 创建OSD cephadm spdkosd --bstr 0000:82:00.0;0000:83:00.0;0000:84:00.0 init # 启动守护进程 cephadm spdkosd deploy
- 方式2:一键式使用配置文件添加OSD。
通过.yaml配置文件,启动一个部署OSD的服务,通过此方式部署OSD服务有以下优势:
- 可以指定设备。
- 可以指定OSD的ID。
- 编写osd.yaml文件,在文件中添加如下内容,指定可用设备。
- 打开osd.yaml文件。
1
vi osd.yaml
- 按“i”进入编辑模式,添加如下内容。
1 2 3 4 5 6
- osd_id: 0 # osd_id bdfs: "0000:82:00.0" - osd_id: 1 bdfs: "0000:83:00.0" - osd_id: 2 bdfs: "0000:84:00.0"
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存退出文件。
- 打开osd.yaml文件。
- 启动OSD服务。
1 2 3 4 5 6 7 8 9
cephadm spdkosd --b osd.yaml create # 其他启动方式说明: cephadm spdkosd create # 将自动选择可用的设备和osd编号,使用默认配置创建启动OSD服务 cephadm spdkosd --b osd.yaml --c osd.conf create # 指定设备和配置创建启动OSD服务 # 其他启动参数说明 -vv :用于podman 启动守护进程时,配置是否保存更多详细的OSD守护进程的日志到文件中,默认False。 参考示例,开启保存更多日志:cephadm spdkosd -vv create
- 内部使用了“/mnt/osd_xx”目录来挂载大页使能SPDK,需要确保物理机上的“/mnt”目录具有写入权限,注意检查“/mnt”目录是否挂载了镜像变成只读权限。
- 该命令需要在ceph1~ceph3节点依次执行启动。
- 方式1:仅指定bdfs号添加OSD。
- 调整ceph 1、ceph2、ceph3节点OSD内存上限为20GB。
cephadm shell ceph config set osd/host:ceph1 osd_memory_target 20G cephadm shell ceph config set osd/host:ceph2 osd_memory_target 20G cephadm shell ceph config set osd/host:ceph3 osd_memory_target 20G
- 查看集群状态。
1 2
cephadm shell ceph -s
1
ceph orch ps
父主题: 部署Ceph