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

Centos文件共享高可用部署指南(基于DRBD+Pacemaker实现企业级NFS高可用)

在企业环境中,文件共享服务的稳定性至关重要。一旦文件服务器宕机,可能导致整个业务系统瘫痪。本文将手把手教你如何在 Centos 系统上搭建一套 高可用文件服务器,即使主服务器故障,备用服务器也能无缝接管服务,保障业务连续性。

Centos文件共享高可用部署指南(基于DRBD+Pacemaker实现企业级NFS高可用) Centos文件共享 高可用文件服务器 DRBD+Pacemaker集群 Centos NFS高可用 第1张

一、环境准备

本教程使用两台 Centos 7 服务器(建议最小化安装),配置如下:

  • 主机名:node1(IP:192.168.1.10)
  • 主机名:node2(IP:192.168.1.11)
  • 共享存储:每台服务器额外挂载一块未格式化的磁盘(如 /dev/sdb)用于 DRBD 同步
  • 网络互通,关闭防火墙或开放必要端口(建议测试阶段关闭 firewalld)

二、基础配置

在两台服务器上执行以下操作:

# 关闭防火墙(生产环境请按需开放端口)systemctl stop firewalldsystemctl disable firewalld# 关闭 SELinuxsetenforce 0sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config# 配置主机名解析(/etc/hosts)echo "192.168.1.10 node1" >> /etc/hostsecho "192.168.1.11 node2" >> /etc/hosts# 安装必要软件包yum install -y epel-releaseyum install -y drbd84-utils kmod-drbd84 pacemaker corosync pcs nfs-utils  

三、配置 DRBD(分布式复制块设备)

DRBD 负责在两台服务器之间实时同步磁盘数据,是实现高可用的基础。

创建 DRBD 配置文件 /etc/drbd.d/r0.res

resource r0 {  on node1 {    device    /dev/drbd0;    disk      /dev/sdb;    address   192.168.1.10:7788;    meta-disk internal;  }  on node2 {    device    /dev/drbd0;    disk      /dev/sdb;    address   192.168.1.11:7788;    meta-disk internal;  }}  

在两台节点上初始化 DRBD 元数据并启动服务:

drbdadm create-md r0systemctl start drbdsystemctl enable drbd  

在 node1 上设置为主节点并格式化文件系统:

drbdadm primary --force r0mkfs.xfs /dev/drbd0mkdir -p /datamount /dev/drbd0 /data  

四、配置 Pacemaker + Corosync 集群

Pacemaker 是集群资源管理器,Corosync 负责节点间通信。

设置 hacluster 用户密码(两台机器密码需一致):

echo "hacluster:your_password" | chpasswd  

启动 pcsd 并启用集群:

systemctl start pcsdsystemctl enable pcsd# 在任意节点执行(如 node1)pcs cluster auth node1 node2 -u hacluster -p your_passwordpcs cluster setup --name mycluster node1 node2pcs cluster start --allpcs cluster enable --all  

五、创建高可用资源

我们将创建以下资源:

  • DRBD 主从资源
  • 文件系统挂载点
  • NFS 服务
  • 虚拟 IP(客户端访问地址)

执行以下命令配置资源组:

# 创建 DRBD 主从资源pcs resource create drbd_r0 ocf:linbit:drbd \  drbd_resource=r0 op monitor interval=30spcs resource master ms_drbd_r0 drbd_r0 \  master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true# 创建文件系统资源pcs resource create fs_data Filesystem \  device="/dev/drbd0" directory="/data" fstype="xfs"# 创建 NFS 服务资源pcs resource create nfs_service systemd:nfs-server# 创建虚拟 IPpcs resource create virtual_ip IPaddr2 ip=192.168.1.100 cidr_netmask=24# 将所有资源加入同一个组(确保顺序启动)pcs resource group add nfs_ha_group virtual_ip fs_data nfs_service# 设置约束:DRBD 主节点必须与资源组在同一节点pcs constraint colocation add nfs_ha_group with master ms_drbd_r0 INFINITYpcs constraint order promote ms_drbd_r0 then start nfs_ha_group symmetrical=false  

六、验证高可用

现在,你的 Centos 文件共享高可用 系统已部署完成!

客户端可通过虚拟 IP 192.168.1.100 挂载 NFS 共享:

mkdir -p /mnt/nfsmount -t nfs 192.168.1.100:/data /mnt/nfs  

测试故障切换:在当前主节点执行 reboot,观察备用节点是否自动接管服务(通常 30 秒内完成)。使用 pcs status 可查看集群状态。

七、总结

通过结合 DRBDPacemakerNFS,我们在 Centos 上构建了一套可靠的 高可用文件服务器。该方案适用于对数据一致性要求高、不能容忍单点故障的企业场景。

关键词回顾:Centos文件共享高可用文件服务器DRBD+Pacemaker集群Centos NFS高可用。掌握这套技术,将极大提升你运维系统的稳定性与专业度!