【发布时间】:2019-11-05 03:47:44
【问题描述】:
我正在 Vagrant 环境中使用 Ceph 并尝试创建一些最小的集群。 我有两个节点:“主”和“从” 掌握作为管理员,监视器,经理。 从属 OSD。
我正在关注官方的 ceph 部署指南并面临创建 OSD 的问题。 在从节点上,我创建了一些 10Gb 循环设备并将其安装到 /media/vdevice 然后在主节点上我尝试创建 OSD:
ceph-deploy osd create slave1:loop0
它失败了:
...
[slave1][WARNIN] File "/usr/lib/python2.7/dist-packages/ceph_disk/main.py", line 956, in verify_not_in_use
[slave1][WARNIN] raise Error('Device is mounted', dev)
[slave1][WARNIN] ceph_disk.main.Error: Error: Device is mounted: /dev/loop0
[slave1][ERROR ] RuntimeError: command returned non-zero exit status: 1
[ceph_deploy.osd][ERROR ] Failed to execute command: /usr/sbin/ceph-disk -v prepare --cluster ceph --fs-type xfs -- /dev/loop0
[ceph_deploy][ERROR ] GenericError: Failed to create 1 OSDs
如果是未挂载的 loop0,它会失败并显示:
[slave1][WARNIN] ceph_disk.main.Error: Error: /dev/loop0 device size (0M) is not big enough for data
[slave1][ERROR ] RuntimeError: command returned non-zero exit status: 1
[ceph_deploy.osd][ERROR ] Failed to execute command: /usr/sbin/ceph-disk -v prepare --cluster ceph --fs-type xfs -- /dev/loop0
[ceph_deploy][ERROR ] GenericError: Failed to create 1 OSDs
这是有道理的,因为实际存储未绑定到系统。 那么我们如何为 OSD 准备存储呢?
【问题讨论】:
-
卸载
loop0时是否也执行了losetup -d /dev/loop0?您能否尝试再次运行losetup /dev/loop0 /your/10GB/file并检查 ceph-deploy 是否会失败并显示相同的消息? -
@DmitriChubarov 感谢您的提示!就我而言,我刚刚将文件挂载到挂载点,但没有将其与 loop0 关联。所以我刚刚卸载它并执行了'sudo losttup /dev/loop0 vdrive.img'。创建该 OSD 之后。
-
好的,我会把它写下来作为答案。这似乎是其他人可能会遇到的事情。
标签: ceph