在企业级应用中,数据的高可用性和实时备份至关重要。DRBD(Distributed Replicated Block Device)是一种基于 Linux 的块设备复制技术,能够在两台服务器之间实现磁盘级别的实时同步。本文将详细讲解如何在 CentOS 系统上部署和配置 DRBD磁盘复制,即使你是 Linux 新手,也能轻松上手。
在开始之前,请确保你有以下环境:
首先,我们需要在两台服务器上安装 DRBD。由于 CentOS 官方仓库默认不包含 DRBD,需先添加 ELRepo 源:
# 添加 ELRepo 仓库sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgsudo rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm# 安装 DRBD 内核模块和工具sudo yum install -y kmod-drbd84 drbd84-utils
为便于识别,建议设置清晰的主机名,并在两台机器的 /etc/hosts 中互相解析:
# 在 node1 上执行sudo hostnamectl set-hostname drbd-node1# 在 node2 上执行sudo hostnamectl set-hostname drbd-node2# 两台机器都编辑 /etc/hostsecho "192.168.1.10 drbd-node1" | sudo tee -a /etc/hostsecho "192.168.1.11 drbd-node2" | sudo tee -a /etc/hosts
在两台服务器上创建相同的 DRBD 资源配置文件 /etc/drbd.d/r0.res(r0 是资源名,可自定义):
resource r0 { protocol C; startup { wfc-timeout 15; degr-wfc-timeout 60; } net { cram-hmac-alg "sha1"; shared-secret "mysecret"; } on drbd-node1 { device /dev/drbd0; disk /dev/sdb1; address 192.168.1.10:7789; meta-disk internal; } on drbd-node2 { device /dev/drbd0; disk /dev/sdb1; address 192.168.1.11:7789; meta-disk internal; }} 在两台服务器上执行以下命令初始化元数据并启动服务:
# 初始化元数据(两台都要执行)sudo drbdadm create-md r0# 启动 DRBD 服务(两台都要执行)sudo systemctl start drbdsudo systemctl enable drbd
此时可通过 cat /proc/drbd 查看状态,应显示“Connected”但尚未同步。
选择一台作为主节点(Primary),另一台为从节点(Secondary)。在主节点上执行:
# 在 drbd-node1 上执行sudo drbdadm primary --force r0# 格式化 DRBD 设备(仅主节点)sudo mkfs.ext4 /dev/drbd0# 挂载使用sudo mkdir -p /mnt/drbdsudo mount /dev/drbd0 /mnt/drbd
现在,任何写入 /mnt/drbd 的数据都会自动同步到另一台服务器的对应磁盘上,实现真正的 DRBD高可用集群 架构。
- 使用 drbdadm status 或 cat /proc/drbd 查看同步状态。
- 若状态为“SyncSource/SyncTarget”,表示正在同步。
- 主从切换命令:drbdadm secondary r0(原主)和 drbdadm primary r0(原从)。
通过以上步骤,你就成功搭建了一个基于 CentOS数据同步 的 DRBD 环境。这种方案常用于数据库、文件服务器等需要高可用性的场景,是构建 DRBD安装配置 基础设施的关键一步。
DRBD 是实现 Linux 服务器间磁盘级复制的强大工具。虽然配置过程稍显复杂,但只要按照本教程一步步操作,即使是初学者也能顺利完成 CentOS DRBD磁盘复制 的部署。建议在生产环境中结合 Pacemaker 或 Corosync 实现自动故障转移,进一步提升系统可靠性。
本文由主机测评网于2025-12-22发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20251211577.html