部署OSD节点
划分OSD分区
以集群共72个OSD为例,每个节点上个每块NVMe盘可分3个分区用于部署3个OSD,每个节点上共可部署24个OSD。由于OSD部署在NVMe上,无需为OSD划分WAL和DB分区。
- (可选)确认硬盘是否有残留未清理分区。若硬盘曾作为Ceph集群数据盘或曾安装过操作系统,则可能残留之前的数据,建议进行确认并清除。若使用全新硬盘可跳过本步骤。
lsblk
- 无残留未清理分区,直接进入2进行后续操作。
- 有残留为清理分区,清除残留,此处命令以/dev/nvme0n1p1有残留为例。
ceph-volume lvm zap /dev/nvme0n1p1 --destroy
- 创建分区脚本。
- 新建“partition.sh”文件。
1
vim partition.sh
- 按“i”键进入编辑模式,添加如下内容。
#!/bin/bash for node in ceph1 ceph2 ceph3 do for i in {0..7} do ssh ${node} "parted -s /dev/nvme${i}n1 mklabel gpt" ssh ${node} "parted /dev/nvme${i}n1 mkpart primary 0% 33%" ssh ${node} "parted /dev/nvme${i}n1 mkpart primary 33% 66%" ssh ${node} "parted /dev/nvme${i}n1 mkpart primary 66% 99%" done done
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 新建“partition.sh”文件。
- 执行脚本,创建分区。
1
bash partition.sh
部署OSD节点
- 创建OSD部署脚本。
- 新建“create_osd.sh”文件。
cd /etc/ceph/ vim /etc/ceph/create_osd.sh
- 按“i”键进入编辑模式,添加如下内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!/bin/bash for node in ceph1 ceph2 ceph3 do j=1 for i in {0..7} do for j in {1..3} do ceph-deploy osd create ${node} --data /dev/nvme${i}n1p${j} done sleep 1 done done
此脚本内容只适用于当前硬件配置,其他硬件配置可参考此脚本。
其中,ceph-deploy osd create命令中:- ${node}是节点的hostname。
- --data选项后面是作为数据盘的设备。
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 新建“create_osd.sh”文件。
- 在ceph1上运行脚本。
1
bash create_osd.sh
- 创建成功后,查看是否正常,即72个OSD是否都为up。
1
ceph -s
父主题: 安装Ceph