如何在 Debian 中向 Ceph 添加磁盘

如何在 Debian 中向 Ceph 添加磁盘

我有一个 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。如果这个答案对你没有帮助,我会删除它。

相关内容