部署GlusterFS高可用共享空间需确保节点可信、卷类型合理、挂载稳定、故障自愈;须统一系统环境、关闭防火墙/SELinux、配置静态IP与hosts解析、格式化XFS数据盘;通过peer probe构建可信集群;推荐使用Distributed Replicated Volume(如replica 3);客户端用glusterfs-fuse挂载并配置backup-volfile-servers与_netdev保障持续可用。

部署 GlusterFS 构建高可用共享空间,核心在于节点可信、卷类型合理、挂载稳定、故障可自愈。它不是简单装几个包就完事,而是围绕数据可靠性与服务连续性做系统配置。
准备基础环境:统一系统与网络
所有存储节点建议使用同一发行版和内核版本,Ubuntu 22.04 LTS 或 CentOS 7/8 是主流选择。关键操作包括:
- 关闭防火墙与 SELinux(或配置放行端口 24007–24009、49152–49664)
- 每台节点配置静态 IP,并在
/etc/hosts中互相解析主机名,例如:192.168.1.10 gfs01192.168.1.11 gfs02 - 为数据盘单独格式化并挂载(推荐 XFS 文件系统),例如:
mkfs.xfs /dev/sdb && mkdir -p /data/brick1 && echo "/dev/sdb /data/brick1 xfs defaults 0 0" >> /etc/fstab && mount -a
搭建可信集群:节点互联与状态确认
GlusterFS 不依赖中心元数据服务器,靠 peer 机制建立信任关系。在任一节点执行:
- 启动服务:
systemctl start glusterd && systemctl enable glusterd - 添加其他节点:
gluster peer probe gfs02、gluster peer probe gfs03(逐个执行) - 验证状态:
gluster peer status输出应为State: Peer in Cluster (Connected) - 若出现
Rejected,检查时间同步(chrony或ntpd)、hosts 解析、防火墙是否拦截 TCP 24007
创建高可用卷:优先选用分布式复制卷
生产环境强烈推荐 Distributed Replicated Volume(如 replica 3 + distribute)。它既避免单点失效,又横向扩展容量。示例(3 节点,每节点 1 Brick):
- 命令:
gluster volume create gv0 replica 3 gfs01:/data/brick1/gv0 gfs02:/data/brick1/gv0 gfs03:/data/brick1/gv0 - 启动:
gluster volume start gv0 - 查看:
gluster volume info gv0和gluster volume status gv0 - 注意:replica 数必须等于参与节点数(或其整数倍),且 Brick 路径需真实存在、权限为 755、属主为 root
客户端挂载与持续可用保障
客户端无需安装 server 包,只需 glusterfs-fuse 和正确挂载参数:
- 安装客户端:
apt install glusterfs-client(Ubuntu)或yum install glusterfs-fuse(RHEL/CentOS) - 挂载命令(推荐自动重连+后台运行):
mount -t glusterfs -o backup-volfile-servers=gfs02,gfs03,gfs04,transport=tcp,log-level=INFO gfs01:/gv0 /mnt/gluster - 写入
/etc/fstab时,用_netdev选项确保网络就绪后再挂载 - 为防单点故障,可配合 Keepalived 配置浮动 VIP,让客户端始终访问一个稳定地址











