我有一个 Ceph 节点,有 2 个磁盘(SSD 500G)。
/dev/sda
用于操作系统(Debian 11)
我想安装第二个 SSD 作为 Ceph 的 OSD。但 Ceph 无法识别我的第二个磁盘。
呼唤
$ sudo cephadm ceph-volume inventory
结果是一个空列表 - 无法识别磁盘。但命令lsblk
显示磁盘存在:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:16 1 476.9G 0 disk
├─sda1 8:17 1 32G 0 part [SWAP]
├─sda2 8:18 1 1G 0 part /boot
└─sda3 8:19 1 443.9G 0 part /
sdb 8:0 1 476.9G 0 disk
因此,在我看来,我的分区或逻辑卷的某些内容是完全错误的。
如何设置我的第二个磁盘 ( /dev/sdb
) 才能被 Ceph 识别为 LVM?
我通过以下方式验证了状态:
1.) 检查是否已安装:
# umount /dev/sdb
umount: /dev/sdb: not mounted.
2.) 检查设备是否正在使用 LVM 或具有文件系统:
$ sudo fdisk /dev/sdb -l
Disk /dev/sdb: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: Micron_1100_MTFD
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
答案1
这配置 Ceph 存储的说明声明磁盘不得在使用中。具体来说,
如果满足以下所有条件,则认为存储设备可用:
- 该设备必须没有分区。
- 设备不得具有任何 LVM 状态。
- 不得安装该设备。
- 该设备不得包含文件系统。
- 设备不得包含 Ceph BlueStore OSD。
- 该设备必须大于 5 GB。
Ceph 不会在不可用的设备上配置 OSD。
因此,您需要确保您的磁盘满足所有这些标准。一种方法是擦除磁盘开头的分区表:
# Destroy the partition table (all data!) on sdb
dd bs=1M count=1 </dev/zero >/dev/sdb
现在重新启动计算机并修复可能因/dev/sdb
不再配置而报告的任何错误。
最后,您可以按照有关设置新磁盘的 Ceph 配置说明进行操作。这应该显示如果您/dev/sdb
在当前主机上添加(删除--dry-run
以执行)会发生什么:
ceph orch daemon add osd "$(hostname)":/dev/sdb --dry-run
请注意,我没有安装 Ceph。如果这个答案对你没有帮助,我会删除它。