Ceph创建OSD时提示Failed to execute command的解决方法
问题现象描述
环境配置
类别 |
子项 |
版本 |
---|---|---|
硬件 |
CPU |
鲲鹏920处理器 |
网络 |
Ethernet-10GE |
|
存储 |
SSD 480G*3 |
|
内存 |
1024G |
|
OS |
CentOS |
7.6 |
Kernel |
4.14.0 |
|
软件 |
ceph-deploy |
2.0.0 |
python |
2.7 |
问题描述:使用命令ceph-deploy osd create ceph1 --data /dev/bcache0 --block-db /dev/sdb1 --block-wal /dev/sdb2创建OSD失败,提示“OSError: [Error 2] No such file or directory: '/var/lib/ceph/osd/ceph-0'......[ceph1][ERROR ]RuntimeError: command returned non-zero exit status: 1 [cpeh_deploy.osd][ERROR ] Failed to execute command:/usr/sbin/ceph-volume --cluster ceph lvm create --bluestore --data /dev/bcache0 --block.wal /dev/sdb2 --block.db /dev/sdb1”错误信息。
关键过程、根本原因分析
- 原因一:目录/var/lib/ceph/osd/ceph-0文件不存在。
- 原因二:wal和db盘采用的分区方式是直接使用fdisk /dev/sdb的方式。
结论、解决方案及效果
- 针对原因一手动创建文件。
mkdir -p /var/lib/ceph/osd/ceph-0
- 针对原因二建议采用parted工具采用如下所示方式进行分区。
parted -s /dev/sdb mklabel gpt parted /dev/sdb mkpart primary xfs 2048s 240000 ###分区240G,分区1 parted /dev/sdb mkpart primary xfs 240000 480000 ###分区240G,分区2