我正在尝试在新的 Debian Stretch 服务器上重建 DRDB 辅助服务器,而我从未成功将其设为主服务器。/proc/drbd 总是在重启后将辅助服务器报告为无盘服务器。drbd 设备实际上包含一个名为“dr”的 lvm vg,其中包含一个名为 home 的 lv。所以这是 DRBD 之上的 LVM。在重建的辅助服务器上运行 lsblk,我通常会看到
sdd 8:48 0 558.4G 0 disk
├─sdd1 8:49 0 101G 0 part
│ ├─dr-home 254:0 0 10G 0 lvm
而初选
sdd 8:48 0 558.4G 0 disk
├─sdd1 8:49 0 101G 0 part
│ └─drbd1 147:1 0 101G 0 disk
│ ├─dr-home 254:8 0 10G 0 lvm /var/home
我重建了辅助如下
drbdadm down r1
wipefs --all /dev/sdd1 # gives "wipefs: error: /dev/sdd1: probing initialization failed: Device or resource busy"
# however pvs,vgs and lvm dont mention 'dr' at all
# yet /etc/mapper/dr-home and /etc/dr/home exist
dmsetup remove dr-home
wipefs --all /dev/sdd1 # now works
dd if=/dev/zero of=/dev/sdd1 count=1000000 # for good measure
drbdadm create-md r1
drbdadm up r1
cat /proc/drbd # reports drbd rebuilding
# after a while proc/drbd contains
# 1: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
reboot
# and proc/drbd now contains
# 1: cs:Connected ro:Secondary/Primary ds:Diskless/UpToDate C r-----
据我所知,在重启期间,某些东西(设备映射器?)在 drbd 之前获取了设备。您知道发生了什么吗?或者我该如何修复?我不明白启动期间发生了什么。我很想知道系统如何在启动期间区分 lvm 上的 drbd 和 drdb 上的 lvm。
我的 /etc/lvm/lvm.conf 包含
filter = [ "r|/dev/sdd|", "r|/dev/sdd1|", "r|/dev/block/|", "a/.*/" ]
提前致谢!