在Linux服务器集群中部署分布式文件系统,可有效整合分散的存储资源,实现数据的冗余备份和高并发访问,其中GlusterFS是开源领域应用广泛的分布式文件系统方案,适配多数主流Linux发行版。

环境准备
配置前需要准备至少两台运行相同Linux发行版的服务器,本文以CentOS 7为例,所有节点需要满足以下条件:
- 服务器之间网络互通,可通过主机名互相访问
- 每个节点预留独立的磁盘分区用于分布式存储,不建议使用根分区
- 关闭防火墙或者开放GlusterFS相关端口,24007、24008及后续卷使用的端口都需要放行
- 关闭SELinux,避免权限拦截问题
安装GlusterFS软件包
在所有节点上执行以下命令安装GlusterFS服务端和客户端组件:
# 安装GlusterFS官方源 yum install -y centos-release-gluster # 安装服务端和客户端包 yum install -y glusterfs-server glusterfs-client glusterfs-fuse # 启动并设置开机自启glusterd服务 systemctl start glusterd systemctl enable glusterd
搭建存储集群
在任意一个节点上执行以下命令,将其他节点加入集群:
# 将node2节点加入集群,替换为实际节点的主机名或IP gluster peer probe node2 # 查看集群状态,确认所有节点都是Connected状态 gluster peer status
如果执行gluster peer status后显示所有节点状态为Connected,说明集群搭建成功。
创建分布式卷
首先在所有节点的预留磁盘分区上创建存储目录,比如每个节点的/brick1目录:
# 在所有节点创建存储目录 mkdir -p /brick1
在任意集群节点上执行以下命令创建分布式卷:
# 创建名为dist_vol的分布式卷,包含node1和node2的/brick1目录 gluster volume create dist_vol node1:/brick1 node2:/brick1 force # 启动创建的卷 gluster volume start dist_vol # 查看卷信息,确认状态为Started gluster volume info dist_vol
客户端挂载使用
在需要使用分布式文件系统的客户端服务器上,先安装GlusterFS客户端组件:
yum install -y glusterfs-client glusterfs-fuse
创建本地挂载目录,然后挂载分布式卷:
# 创建挂载目录 mkdir -p /mnt/gluster # 挂载卷,替换为集群任意节点的主机名或IP mount -t glusterfs node1:/dist_vol /mnt/gluster # 查看挂载结果 df -h /mnt/gluster
如果需要开机自动挂载,可以将挂载信息写入/etc/fstab文件:
# 在/etc/fstab末尾添加以下内容 node1:/dist_vol /mnt/gluster glusterfs defaults,_netdev 0 0
常见问题排查
配置过程中如果遇到问题,可以先检查以下几点:
- 节点之间是否能互相ping通,主机名解析是否正常
- glusterd服务是否在所有节点正常运行
- 创建的brick目录权限是否足够,是否有其他进程占用
- 防火墙是否拦截了GlusterFS相关端口
如果需要扩展集群存储容量,只需要新增节点,安装GlusterFS服务后加入集群,再向原有卷添加新的brick即可,无需中断现有业务访问。