在构建高可用(HA)系统时,数据的实时同步至关重要。DRBD(Distributed Replicated Block Device)是一种开源的块设备复制技术,可以在两台服务器之间实现磁盘级别的实时同步。本教程将详细讲解如何在 Ubuntu 系统上配置 DRBD磁盘复制,即使你是Linux新手,也能轻松上手。

一、准备工作
你需要两台运行 Ubuntu 20.04 或 22.04 的服务器(以下称为 node1 和 node2),并满足以下条件:
两台服务器网络互通(建议使用专用同步网络) 每台服务器至少有一个未挂载的空闲磁盘或分区(例如 /dev/sdb) root 权限或具有 sudo 权限的用户 已关闭防火墙或开放 TCP 7788-7799 端口(DRBD 默认端口)二、安装 DRBD 软件包
在两台服务器上分别执行以下命令安装 DRBD:
sudo apt updatesudo apt install -y drbd-utils
三、配置主机名与 hosts 文件
为便于识别,建议设置清晰的主机名,并在两台机器的
/etc/hosts中互相解析。
在 node1 上:
sudo hostnamectl set-hostname node1
在 node2 上:
sudo hostnamectl set-hostname node2
然后在两台服务器的
/etc/hosts文件末尾添加如下内容(假设 IP 为 192.168.1.10 和 192.168.1.11):
192.168.1.10 node1192.168.1.11 node2
四、创建 DRBD 配置文件
在两台服务器上创建相同的 DRBD 资源配置文件
/etc/drbd.d/r0.res(r0 是资源名,可自定义):
sudo nano /etc/drbd.d/r0.res
填入以下内容(请根据你的实际 IP 和设备路径修改):
resource r0 { protocol C; startup { wfc-timeout 15; degr-wfc-timeout 60; } net { cram-hmac-alg "sha1"; shared-secret "mysecret"; } on node1 { device /dev/drbd0; disk /dev/sdb; address 192.168.1.10:7789; meta-disk internal; } on node2 { device /dev/drbd0; disk /dev/sdb; address 192.168.1.11:7789; meta-disk internal; }}说明:
protocol C表示同步写入(最安全)/dev/sdb是你用于同步的物理磁盘,请确保它未被挂载且无重要数据meta-disk internal表示元数据存储在磁盘末尾
五、初始化 DRBD 元数据并启动服务
在两台服务器上分别执行以下命令初始化元数据:
sudo drbdadm create-md r0
然后启动 DRBD 服务:
sudo systemctl start drbdsudo systemctl enable drbd
六、设置主从角色并开始同步
首次使用时,需要指定一台为主节点(Primary),另一台为从节点(Secondary)。在 node1 上执行:
sudo drbdadm primary --force r0
在 node2 上无需操作,它会自动成为 Secondary。
现在可以查看同步状态:
cat /proc/drbd
如果看到类似
cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate,说明同步成功!
七、格式化并挂载 DRBD 设备
仅在 Primary 节点(node1)上格式化并挂载:
sudo mkfs.ext4 /dev/drbd0sudo mkdir -p /mnt/drbdsudo mount /dev/drbd0 /mnt/drbd
现在你可以向
/mnt/drbd写入文件,这些数据会自动同步到 node2 的对应磁盘上(但 node2 不能直接挂载,除非切换为主节点)。
八、故障切换测试(可选)
若要将 node2 切换为主节点,需先在 node1 上卸载并降级:
# 在 node1 上执行sudo umount /mnt/drbdsudo drbdadm secondary r0
然后在 node2 上提升为主并挂载:
# 在 node2 上执行sudo drbdadm primary r0sudo mkdir -p /mnt/drbdsudo mount /dev/drbd0 /mnt/drbd
总结
通过本教程,你已经成功在 Ubuntu 系统上完成了 DRBD磁盘复制 的基础配置。这项技术是构建 Ubuntu高可用存储 架构的核心组件之一,常与 Pacemaker、Corosync 等工具结合使用,实现真正的零停机容灾方案。
如果你正在寻找一份完整的 DRBD同步教程,希望本文能为你提供清晰、可靠的指导。记得定期检查同步状态,确保数据安全无忧!
