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

Debian DRBD磁盘复制配置(手把手教你搭建高可用存储系统)

在现代 IT 基础架构中,数据的高可用性和容灾能力至关重要。DRBD(Distributed Replicated Block Device)是一种开源的 Linux 内核模块,能够在两台服务器之间实时同步块设备数据,实现类似 RAID 1 的网络镜像功能。本教程将详细讲解如何在 Debian 系统 上配置 DRBD 磁盘复制,即使你是 Linux 新手,也能轻松上手。

什么是 DRBD?

DRBD 是一种分布式复制块设备技术,它通过网络将一个节点上的磁盘数据实时同步到另一个节点。当主节点发生故障时,备用节点可以立即接管服务,从而实现高可用存储。DRBD 常用于数据库、文件服务器等对数据一致性要求高的场景。

Debian DRBD磁盘复制配置(手把手教你搭建高可用存储系统) DRBD配置 DRBD磁盘复制教程 高可用存储Debian DRBD双机热备 第1张

准备工作

在开始之前,请确保满足以下条件:

  • 两台运行 Debian 11(或更新版本)的服务器(例如:node1 和 node2)
  • 每台服务器至少有一个未使用的磁盘分区(如 /dev/sdb1)用于 DRBD 同步
  • 两台服务器之间网络互通,并已配置静态 IP 地址
  • root 权限或具有 sudo 权限的用户

步骤一:安装 DRBD 软件包

首先,在两台服务器上更新系统并安装 DRBD 相关软件包:

sudo apt updatesudo apt install -y drbd-utils drbd-module-$(uname -r)
注意:如果系统提示找不到 drbd-module 包,请先安装 linux-headers:
sudo apt install linux-headers-$(uname -r)

步骤二:配置主机名和 hosts 文件

为方便识别,建议设置清晰的主机名:

# 在 node1 上执行sudo hostnamectl set-hostname node1# 在 node2 上执行sudo hostnamectl set-hostname node2

然后在两台服务器的 /etc/hosts 文件中添加对方的 IP 和主机名:

192.168.1.10 node1192.168.1.11 node2

步骤三:创建 DRBD 配置文件

在两台服务器上创建相同的 DRBD 资源配置文件 /etc/drbd.d/r0.res(r0 是资源名称,可自定义):

resource r0 {    protocol C;    on node1 {        device    /dev/drbd0;        disk      /dev/sdb1;        address   192.168.1.10:7789;        meta-disk internal;    }    on node2 {        device    /dev/drbd0;        disk      /dev/sdb1;        address   192.168.1.11:7789;        meta-disk internal;    }}

说明:

  • protocol C 表示同步写入(最安全)
  • /dev/sdb1 是你准备用于同步的物理分区
  • /dev/drbd0 是 DRBD 创建的虚拟设备
  • meta-disk internal 表示元数据存储在磁盘末尾

步骤四:初始化 DRBD 元数据

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

sudo drbdadm create-md r0

如果提示确认,请输入 yes

步骤五:启动 DRBD 服务并建立连接

在两台服务器上启动 DRBD 服务:

sudo systemctl start drbdsudo systemctl enable drbd

此时两台服务器都处于 Secondary 状态。我们需要在其中一台(例如 node1)上将其设为主节点:

sudo drbdadm primary --force r0

首次同步可能需要几分钟,可通过以下命令查看同步进度:

watch cat /proc/drbd

当看到 cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate 时表示同步完成。

步骤六:格式化并挂载 DRBD 设备

仅在主节点(node1)上执行格式化操作:

sudo mkfs.ext4 /dev/drbd0

然后创建挂载点并挂载:

sudo mkdir -p /mnt/drbdsudo mount /dev/drbd0 /mnt/drbd

现在你可以在 /mnt/drbd 中存放重要数据,这些数据会自动同步到 node2。

故障切换测试

要测试高可用性,可在 node1 上执行:

sudo umount /mnt/drbdsudo drbdadm secondary r0

然后在 node2 上执行:

sudo drbdadm primary r0sudo mkdir -p /mnt/drbdsudo mount /dev/drbd0 /mnt/drbd

此时 node2 已成功接管数据,验证了 DRBD双机热备 的可靠性。

总结

通过本教程,你已经成功在 Debian 系统上完成了 DRBD磁盘复制配置,构建了一个基础的高可用存储环境。DRBD 是实现 高可用存储Debian 解决方案的核心组件之一,结合 Pacemaker 或 Corosync 可进一步实现自动故障转移。

记住:定期测试故障切换流程,确保在真实故障发生时系统能正常工作。希望这篇 DRBD磁盘复制教程 对你有所帮助!