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

CentOS文件共享集群(手把手教你搭建高可用NFS共享存储系统)

在企业级应用中,多个服务器之间需要共享同一份文件数据是常见需求。例如Web集群中的静态资源、数据库备份目录等。本文将详细讲解如何在CentOS系统上搭建一个简单但高可用的文件共享集群,使用NFS(Network File System)作为共享协议,并通过Keepalived实现主备切换,确保服务持续可用。

一、什么是CentOS文件共享集群?

CentOS文件共享集群是指在多台CentOS服务器之间,通过网络协议(如NFS、Samba、GlusterFS等)实现文件系统的统一挂载与访问。其中,Linux高可用文件系统设计可避免单点故障,当一台服务器宕机时,其他节点能自动接管服务。

CentOS文件共享集群(手把手教你搭建高可用NFS共享存储系统) CentOS文件共享集群  Linux高可用文件系统 NFS共享存储 CentOS集群配置教程 第1张

二、实验环境准备

本教程使用3台CentOS 7服务器(最小化安装):

  • NFS-Server1:IP 192.168.1.10(主NFS服务器)
  • NFS-Server2:IP 192.168.1.11(备NFS服务器)
  • Client:IP 192.168.1.20(客户端,用于挂载共享目录)

所有服务器需关闭防火墙或放行相关端口(NFS默认使用2049端口,Keepalived使用VRRP协议)。

三、安装并配置NFS服务

首先,在两台NFS服务器上安装NFS服务:

# 在 Server1 和 Server2 上执行sudo yum install -y nfs-utils rpcbind# 创建共享目录sudo mkdir -p /data/sharedsudo chmod 777 /data/shared# 配置NFS导出规则echo "/data/shared 192.168.1.0/24(rw,sync,no_root_squash)" | sudo tee /etc/exports# 启动服务sudo systemctl enable --now rpcbind nfs-server# 重新加载NFS配置sudo exportfs -ra  

四、配置Keepalived实现高可用

为避免NFS单点故障,我们使用Keepalived提供虚拟IP(VIP),客户端通过该VIP访问NFS服务。

在Server1(主)上配置:

sudo yum install -y keepalived# 编辑配置文件sudo cat > /etc/keepalived/keepalived.conf << EOFglobal_defs {   router_id NFS_MASTER}vrrp_instance VI_1 {    state MASTER    interface eth0    virtual_router_id 51    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass 123456    }    virtual_ipaddress {        192.168.1.100/24    }}EOFsudo systemctl enable --now keepalived  

在Server2(备)上配置(仅priority改为90,state改为BACKUP):

sudo yum install -y keepalivedsudo cat > /etc/keepalived/keepalived.conf << EOFglobal_defs {   router_id NFS_BACKUP}vrrp_instance VI_1 {    state BACKUP    interface eth0    virtual_router_id 51    priority 90    advert_int 1    authentication {        auth_type PASS        auth_pass 123456    }    virtual_ipaddress {        192.168.1.100/24    }}EOFsudo systemctl enable --now keepalived  

此时,VIP 192.168.1.100 会绑定在主服务器上。若主服务器宕机,VIP将自动漂移到备服务器。

五、客户端挂载共享目录

在Client服务器上安装NFS客户端并挂载:

sudo yum install -y nfs-utils# 挂载到本地目录sudo mkdir -p /mnt/nfssudo mount -t nfs 192.168.1.100:/data/shared /mnt/nfs# 设置开机自动挂载(写入/etc/fstab)echo "192.168.1.100:/data/shared /mnt/nfs nfs defaults,_netdev 0 0" | sudo tee -a /etc/fstab  

六、验证高可用性

1. 在Client上创建测试文件:echo "Hello from client" > /mnt/nfs/test.txt

2. 关闭Server1,观察VIP是否漂移到Server2(使用ip addr show查看)

3. 在Client上继续读写文件,应无中断。这证明了我们的CentOS集群配置教程成功实现了高可用文件共享。

七、总结

通过本教程,你已掌握如何在CentOS上搭建一个基于NFS和Keepalived的CentOS文件共享集群。这种架构成本低、配置简单,适合中小型企业使用。如需更高性能或分布式能力,可考虑Ceph或GlusterFS等方案。

关键词回顾:CentOS文件共享集群、Linux高可用文件系统、NFS共享存储、CentOS集群配置教程