更换 DRBD 中的故障驱动器 ()
Replacing a failed drive in DRBD ()
如何正确设置磁盘大小,更换时,如果我想使用原来的磁盘大小?
新磁盘的容量是 4 Gb,但我只想使用之前使用过的并且在另一个节点的磁盘上使用的容量 (2 Gb)。
资源:
resource res-vdb {
device drbd_res_vdb1 minor 1;
disk /dev/vdb;
meta-disk internal;
protocol C;
on node01 {
address 192.168.0.1:7005;
}
on node02 {
address 192.168.0.2:7005;
}
}
我是否正确理解我可以从 lsblck 或 /sys/block/drbd1/size 获取大小并在 drbdadm create-md 和 drbdadm attach 之前在 res config 中设置?
即配置:
resource res-vdb {
device drbd_res_vdb1 minor 1;
disk /dev/vdb;
meta-disk internal;
protocol C;
disk {
size 2097052K; <==== 2GB
}
on node01 {
address 192.168.0.1:7005;
}
on node02 {
address 192.168.0.2:7005;
}
}
您是正确的,您可以在 create-md
和 attach
之前在 DRBD res 文件中设置大小,以便明确设置 DRBD 设备的大小。
正如您还建议的那样,您可以通过多种方式检索 DRBD 设备的确切大小,包括使用 lsblk
或使用 cat /sys/block/drbd1/size
、运行 检查内核设置来自对等节点。
但是,当您使用 lsblk
时,它会进行一些舍入。 DRBD 的解析器似乎不接受字节 (B
) 作为有效单位(drbd-utils
版本 9.13.1 似乎只喜欢 KB
、MB
和 GB
), 所以你最好设置扇区大小 (s
).
您在 /sys/block/drbd1/size
中找到的大小已经在扇区中,因此示例为:
# cat /sys/block/drbd1/size
27262072
# cat /etc/drbd.d/r1.res
resource res-vdb {
protocol C;
disk /dev/vdb;
device minor 1;
disk {
size 27262072s;
}
on centos7-a {
address 172.16.7.100:7779;
}
on centos7-b {
address 172.16.7.101:7779;
}
}
综上所述,因为 DRBD 会在其对等方之间自动协商设备大小,您可以简单地 drbdadm create-md res-vdb
、drbdadm up res-vdb
,它应该可以正常工作。
如何正确设置磁盘大小,更换时,如果我想使用原来的磁盘大小?
新磁盘的容量是 4 Gb,但我只想使用之前使用过的并且在另一个节点的磁盘上使用的容量 (2 Gb)。
资源:
resource res-vdb {
device drbd_res_vdb1 minor 1;
disk /dev/vdb;
meta-disk internal;
protocol C;
on node01 {
address 192.168.0.1:7005;
}
on node02 {
address 192.168.0.2:7005;
}
}
我是否正确理解我可以从 lsblck 或 /sys/block/drbd1/size 获取大小并在 drbdadm create-md 和 drbdadm attach 之前在 res config 中设置?
即配置:
resource res-vdb {
device drbd_res_vdb1 minor 1;
disk /dev/vdb;
meta-disk internal;
protocol C;
disk {
size 2097052K; <==== 2GB
}
on node01 {
address 192.168.0.1:7005;
}
on node02 {
address 192.168.0.2:7005;
}
}
您是正确的,您可以在 create-md
和 attach
之前在 DRBD res 文件中设置大小,以便明确设置 DRBD 设备的大小。
正如您还建议的那样,您可以通过多种方式检索 DRBD 设备的确切大小,包括使用 lsblk
或使用 cat /sys/block/drbd1/size
、运行 检查内核设置来自对等节点。
但是,当您使用 lsblk
时,它会进行一些舍入。 DRBD 的解析器似乎不接受字节 (B
) 作为有效单位(drbd-utils
版本 9.13.1 似乎只喜欢 KB
、MB
和 GB
), 所以你最好设置扇区大小 (s
).
您在 /sys/block/drbd1/size
中找到的大小已经在扇区中,因此示例为:
# cat /sys/block/drbd1/size
27262072
# cat /etc/drbd.d/r1.res
resource res-vdb {
protocol C;
disk /dev/vdb;
device minor 1;
disk {
size 27262072s;
}
on centos7-a {
address 172.16.7.100:7779;
}
on centos7-b {
address 172.16.7.101:7779;
}
}
综上所述,因为 DRBD 会在其对等方之间自动协商设备大小,您可以简单地 drbdadm create-md res-vdb
、drbdadm up res-vdb
,它应该可以正常工作。