我正在尝试使用 DRBD 创建故障转移,并且我有两个分区。
分区 1) /dev/sda4 是为我将要创建的 KVM 设置的。分区 2) /dev/sda5 用于 DRBD 元数据
我的配置文件在下面
resource r0 {
protocol C;
startup {
wfc-timeout 15;
degr-wfc-timeout 60;
}
net {
cram-hmac-alg sha1;
shared-secret "SECRET_KEY";
}
on Server1{
device /dev/drbd0;
disk /dev/sda4;
address IP:7788;
meta-disk /dev/sda5;
}
on Server2{
device /dev/drbd0;
disk /dev/sda4;
address IP:7788;
meta-disk /dev/sda5;
}
}
当我运行 drbdadm create-md r0 它运行成功但它在两个分区上创建 /dev/drbd0 。
├─sda4 8:4 0 7.2T 0 part
│ └─drbd0 147:0 0 7.2T 1 disk
└─sda5 8:5 0 399M 0 part
└─drbd0 147:0 0 7.2T 1 disk
据我了解,它应该只在 /dev/sda5 的元磁盘上创建它。我设置元磁盘的原因是避免对 sda4 进行任何写入。我的推理是正确的还是我遗漏了什么。
我确认这是
lsblk
在使用外部元数据和 DRBD 时输出在 AlmaLinux 8.5 上的样子。DRBD 设备只是一个虚拟块设备,它在您的设置中的两个分区上分层。它按预期工作。如果您使用其他方法/实用程序检查块设备,您会发现您只有一个
/dev/drbd0
,并且您创建的元数据分区是您期望的大小。例如,我使用两个 LVM 卷的配置:
完全显示了我的期望
/proc/partitions
:blockdev --report
看起来也不错:这可能
lsblk
是令人困惑的地方:终于想通了。通过将卷组放在 DRBD0 之上,现在一切正常。
我在设备上创建卷组时确实遇到了问题,必须将过滤器添加到 lvm.conf
我得到一个错误说
我刚刚将这个添加到设备部分
现在一切都很好