Чтобы написать сценарий Ansible для настройки устройства DRBD и файловых систем, я столкнулся со следующей проблемой:
# blockdev --report /dev/drbd0
RO RA SSZ BSZ StartSec Size Device
blockdev: cannot open /dev/drbd0: Wrong medium type
Я ожидал, что устройство DRBD будет реализовывать операции блочного устройства, как любое устройство MD.
I запустите Debian Linux Jessie / stable с пакетом
drbd-utils 8.9.2 ~ rc1-2 + deb8 amd64 RAID 1 через TCP / IP для Linux (пользовательские утилиты)
Есть ли способ получить доступный размер устройства?
Моя проблема заключалась в том, чтобы попытаться использовать / dev / drbd0
до того, как устройство действительно можно будет использовать, например, когда drbdadm cstate data
подтвердит, что оно находится в Состояние Connected
или SyncSource
.
Кстати, когда они готовы, операции blockdev
доступны для / dev / drbd0
, либо размер может быть запрошено непосредственно из / sys / block / drbd0 / size
В зависимости от вашей версии 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