当前位置:首页 > Centos > 正文

CentOS DRBD磁盘复制实战指南(手把手教你搭建高可用数据同步环境)

在企业级应用中,数据的高可用性和实时备份至关重要。DRBD(Distributed Replicated Block Device)是一种基于 Linux 的块设备复制技术,能够在两台服务器之间实现磁盘级别的实时同步。本文将详细讲解如何在 CentOS 系统上部署和配置 DRBD磁盘复制,即使你是 Linux 新手,也能轻松上手。

CentOS DRBD磁盘复制实战指南(手把手教你搭建高可用数据同步环境) DRBD磁盘复制 DRBD高可用集群 CentOS数据同步 DRBD安装配置 第1张

一、准备工作

在开始之前,请确保你有以下环境:

  • 两台 CentOS 7/8 服务器(本文以 CentOS 7 为例)
  • 每台服务器至少有一个未使用的磁盘分区(例如 /dev/sdb1)
  • 两台服务器网络互通,建议配置静态 IP
  • 关闭 SELinux 和防火墙(或开放相应端口)

二、安装 DRBD 软件包

首先,我们需要在两台服务器上安装 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  

三、配置主机名与 hosts 文件

为便于识别,建议设置清晰的主机名,并在两台机器的 /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 配置文件

在两台服务器上创建相同的 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;    }}  

五、初始化并启动 DRBD

在两台服务器上执行以下命令初始化元数据并启动服务:

# 初始化元数据(两台都要执行)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 statuscat /proc/drbd 查看同步状态。
- 若状态为“SyncSource/SyncTarget”,表示正在同步。
- 主从切换命令:drbdadm secondary r0(原主)和 drbdadm primary r0(原从)。

通过以上步骤,你就成功搭建了一个基于 CentOS数据同步 的 DRBD 环境。这种方案常用于数据库、文件服务器等需要高可用性的场景,是构建 DRBD安装配置 基础设施的关键一步。

结语

DRBD 是实现 Linux 服务器间磁盘级复制的强大工具。虽然配置过程稍显复杂,但只要按照本教程一步步操作,即使是初学者也能顺利完成 CentOS DRBD磁盘复制 的部署。建议在生产环境中结合 Pacemaker 或 Corosync 实现自动故障转移,进一步提升系统可靠性。