如何查询DRBD设备大小?

要编写Ansible脚本来设置DRBD设备和文件系统,我遇到以下问题:

# blockdev --report /dev/drbd0 RO RA SSZ BSZ StartSec Size Device blockdev: cannot open /dev/drbd0: Wrong medium type 

我本来希望DRBD设备像任何md设备一样实现块设备操作。

我使用软件包运行Debian Linux Jessie / stable

drbd-utils 8.9.2~rc1-2+deb8 amd64 RAID 1 over TCP/IP for Linux (user utilities)

有没有办法获得可用的设备大小?

根据您的drbd utils版本,您可以使用:

 drbdsetup status /dev/drbd0 --verbose --statistics 

这将给你的东西沿线:

 home node-id:1 role:Secondary suspended:no write-ordering:none volume:0 minor:0 disk:UpToDate size:1048412 read:0 written:1048412 al-writes:0 bm-writes:48 upper-pending:0 lower-pending:0 al-suspended:no blocked:no nina local:ipv4:10.9.9.111:7001 peer:ipv4:10.9.9.103:7010 node-id:0 connection:Connected role:Secondary congested:no volume:0 replication:Connected disk:UpToDate resync-suspended:no received:1048412 sent:0 out-of-sync:0 pending:0 unacked:0 nino local:ipv4:10.9.9.111:7021 peer:ipv4:10.9.9.129:7012 node-id:2 connection:Connected role:Secondary congested:no volume:0 replication:Connected disk:UpToDate resync-suspended:no received:0 sent:0 out-of-sync:0 pending:0 unacked:0 nono local:ipv4:10.9.9.111:7013 peer:ipv4:10.9.9.138:7031 node-id:3 connection:WFConnection 

我的麻烦是在设备真正可用之前尝试使用/dev/drbd0 ,也就是当drbdadm cstate data确认它处于ConnectedSyncSource状态时。

顺便说一句,准备就绪时, blockdev操作可用于/dev/drbd0 ,或者可以直接从/sys/block/drbd0/size查询/sys/block/drbd0/size