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

Ubuntu文件共享高可用配置(手把手教你搭建NFS高可用共享存储集群)

在企业环境中,文件共享服务的稳定性和连续性至关重要。一旦文件服务器宕机,可能导致业务中断、数据丢失等严重后果。为此,本文将详细讲解如何在 Ubuntu 系统上配置 高可用(High Availability, HA) 的文件共享服务,使用 NFS(Network File System) 作为共享协议,并结合 Pacemaker + Corosync 实现故障自动切换,确保服务永不中断。

无论你是 Linux 新手还是有一定经验的运维人员,只要按照本教程一步步操作,都能成功搭建一套可靠的 Ubuntu文件共享高可用 系统。

一、环境准备

我们需要两台 Ubuntu 服务器(建议 Ubuntu 20.04 或 22.04 LTS),分别命名为:

  • nfs-server1:IP 地址 192.168.1.10
  • nfs-server2:IP 地址 192.168.1.11

此外,还需要一个共享存储设备(如 iSCSI LUN、DRBD 或共享磁盘),用于存放实际的文件数据。为简化演示,本文使用 DRBD 同步数据(你也可以用共享 SAN 存储)。

Ubuntu文件共享高可用配置(手把手教你搭建NFS高可用共享存储集群) Ubuntu文件共享高可用 Ubuntu NFS高可用配置 共享存储集群搭建 Linux高可用文件服务器 第1张

二、安装必要软件包

在两台服务器上执行以下命令安装所需组件:

sudo apt updatesudo apt install -y nfs-kernel-server corosync pacemaker drbd-utils pcs fence-agents  

三、配置主机名与 hosts 解析

确保两台服务器能通过主机名互相解析:

# 在两台服务器的 /etc/hosts 中添加192.168.1.10 nfs-server1192.168.1.11 nfs-server2  

四、配置 DRBD(可选但推荐)

DRBD 可以在两台服务器之间实时同步数据。假设你已有一块未挂载的磁盘(如 /dev/sdb),创建 DRBD 资源:

# 创建 DRBD 配置文件 /etc/drbd.d/r0.resresource r0 {  device    /dev/drbd0;  disk      /dev/sdb1;  meta-disk internal;  on nfs-server1 {    address   192.168.1.10:7789;  }  on nfs-server2 {    address   192.168.1.11:7789;  }}  

然后初始化并启动 DRBD(具体步骤略,重点在 HA 配置)。

五、配置 Corosync 与 Pacemaker

启用并启动 pcsd 服务:

sudo systemctl enable pcsdsudo systemctl start pcsd  

设置 hacluster 用户密码(两台服务器必须相同):

echo "your_password" | sudo passwd --stdin hacluster  

认证节点:

sudo pcs cluster auth nfs-server1 nfs-server2 -u hacluster -p your_password  

创建集群:

sudo pcs cluster setup my_cluster nfs-server1 nfs-server2sudo pcs cluster start --allsudo pcs cluster enable --all  

六、创建高可用 NFS 服务

假设你的共享目录挂载在 /shared(由 DRBD 提供),创建 NFS 导出资源:

# 创建文件系统资源(挂载 DRBD)sudo pcs resource create fs_shared Filesystem \  device="/dev/drbd0" directory="/shared" fstype="ext4"# 创建 NFS 服务资源sudo pcs resource create nfs_service systemd:nfs-server# 创建虚拟 IP(客户端访问此 IP)sudo pcs resource create virtual_ip IPaddr2 ip=192.168.1.100 cidr_netmask=24# 将资源组合成一个组(确保启动顺序)sudo pcs resource group add nfs_group virtual_ip fs_shared nfs_service  

现在,当主服务器宕机时,Pacemaker 会自动将虚拟 IP、文件系统和 NFS 服务迁移到备用服务器,实现 Ubuntu NFS高可用配置

七、客户端挂载测试

在任意客户端上挂载高可用 NFS 共享:

sudo mount -t nfs 192.168.1.100:/shared /mnt  

即使你手动关闭 nfs-server1,客户端连接也不会中断(短暂卡顿后自动恢复)。

八、总结

通过本教程,你已经成功搭建了一套基于 Ubuntu 的 高可用文件共享系统。这套方案适用于中小型企业、开发测试环境或任何需要持续在线文件服务的场景。核心关键词包括:Ubuntu文件共享高可用Ubuntu NFS高可用配置共享存储集群搭建Linux高可用文件服务器

记住:高可用 ≠ 数据备份!请务必配合定期备份策略,防止数据逻辑损坏。

祝你搭建顺利,服务永不停机!