我正在 virtualbox 中测试 2 节点 drbd 集群。我已连接虚拟磁盘 (/dev/sdb/) 并将其挂载到 /mnt/drbd0 目录。在使用 drbdadm create 命令创建资源时,我收到资源 (/dev/sdb1) 繁忙错误。没有与 /mnt/drbd0 关联的活动进程。
答案1
您不应该挂载连接的块设备/dec/sdb
。相反,您应该像已经拥有的那样连接它,然后在卸载时在两个节点上创建 DRBD 元数据,在两个节点上启动 DRBD 设备,选择一个节点并将 DRBD 设备提升到Primary
该节点,最后/dev/drbdX
在那里创建并挂载生成的设备。
要从当前位置到达那里,您首先需要卸载两个节点上的块设备:
# umount /dev/sdb
然后,按照我在上面的摘要中概述的步骤进行操作:
在两个节点上(替换为您的 DRBD 资源的名称):
# drbdadm create-md <res>
# drbdadm up <res>
如果拒绝覆盖文件系统,您可能需要擦除或缩小(xfs 不支持缩小)文件系统,以便为 DRBD 的元数据腾出空间create-md
。如果您只是在测试,没有重要数据,我只会擦除它:# wipefs -a /dev/sdb
然后您应该在输出中看到类似这样的内容drbdadm status
:
r0 role:Secondary
disk:Inconsistent
node-b role:Secondary
peer-disk:Inconsistent
如果节点卡在某种Connecting
状态,请检查配置文件中的 IP 和节点的防火墙规则。
一旦看到它们Inconsistent/Inconsistent
,您就可以选择其中一个节点Primary
并开始初始同步。然后,在同一个节点上,(重新)创建文件系统并挂载 DRBD 设备:
# drbdadm primary <res> --force
# mkfs.ext4 /dev/drbd0 # or some other filesystem
# mount /dev/drbd0 /mnt/drbd0
然后,您写入的任何内容都/mnt/drbd0
将被复制到对等节点。要测试一切是否正常,您可以从节点卸载设备Primary
,将设备降级为辅助设备(# drbdadm secondary <res>), promote the device to
主设备),并将其安装在对等节点上,您应该会看到您的文件系统已被复制。
请注意,在任何正常情况下您都不应使用该--force
标志;仅当您创建新的 DRBD 设备或为现有设备重新创建元数据时才应使用该标志。