我正在尝试用DRBD创建一个故障转移,并且我有两个分区。
分区1) /dev/sda4 4是为我将要创建的KVM设置的。分区2) /dev/sda5 5用于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 md r0时,它成功地运行,但是它在两个分区上都创建了/dev/drbd0 0。
├─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 5的元磁盘上创建它。我设置元磁盘的原因是为了避免写入sda4。我的推理是正确的还是我遗漏了什么。
发布于 2022-01-31 10:12:48
终于弄明白了。通过将卷组放在DRBD0之上,一切都开始工作了。
我在设备上创建卷组时遇到了问题,必须向lvm.conf添加筛选器。
我有个错误说
Cannot use device /dev/drbd/ with duplicates我刚把这个添加到设备部分
filter = [ "r|/dev/sda4|", "r|/dev/disk/|", "r|/dev/block/|", "a/.*/" ]现在一切都很好
发布于 2022-01-28 04:34:14
我证实了这就是在lsblk 8.5上使用外部元数据时AlmaLinux输出的样子。DRBD设备仅仅是一个虚拟块设备,在您安装的两个分区上都是分层的。
它如预期的那样工作。如果使用其他方法/实用程序检查块设备,您将看到只有一个/dev/drbd0,并且您创建的元数据分区是您所期望的大小。
例如,我的配置使用两个LVM卷:
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/drbdpool/data; # 1GiB lvm on /dev/sdb
meta-disk /dev/drbdpool/meta; # 4MiB lvm on /dev/sdb
192.168.1.11:7788;
}
on Server2{
device /dev/drbd0;
disk /dev/drbdpool/data; # 1GiB lvm on /dev/sdb
meta-disk /dev/drbdpool/meta; # 4MiB lvm on /dev/sdb
192.168.1.12:7788;
}正如我在/proc/partitions中所期望的那样:
# cat /proc/partitions
major minor #blocks name
8 0 20480000 sda
8 1 2048000 sda1
8 2 18430976 sda2
8 16 8388608 sdb
253 0 4096 dm-0
253 1 1048576 dm-1
147 0 1048576 drbd0blockdev --report看起来也不错:
# blockdev --report /dev/drbd0
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 1073741824 /dev/drbd0
# blockdev --report /dev/drbdpool/meta
RO RA SSZ BSZ StartSec Size Device
rw 8192 512 4096 0 4194304 /dev/drbdpool/meta
# blockdev --report /dev/drbdpool/data
RO RA SSZ BSZ StartSec Size Device
rw 8192 512 4096 0 1073741824 /dev/drbdpool/data这可能是lsblk感到困惑的地方:
# cat /sys/block/drbd0/size
2097152
# cat /sys/block/dm-0/size
8192
# cat /sys/block/dm-1/size
2097152
# cat /sys/block/dm-0/holders/drbd0/size
2097152
# cat /sys/block/dm-1/holders/drbd0/size
2097152https://serverfault.com/questions/1091310
复制相似问题