GlusterFS安装配置失败90%源于源未配置、24007端口被防火墙/SELinux阻断、brick文件系统不支持xattr;需依次验证源可用性、端口连通性(nc -zv IP 24007)及扩展属性支持(getfattr -d brick路径)。

glusterfs-server 装不上、gluster peer probe 失败、mount -t glusterfs 卡住——这些问题 90% 都不是命令写错了,而是卡在源没配对、端口不通、brick 文件系统不认扩展属性这三关。先过这三关,再谈配置。
源配置不对,apt install glusterfs-server 或 yum install glusterfs-server 必然报 “No package found”
CentOS 7/8、Ubuntu 18.04+ 默认仓库都不带 GlusterFS,直接装肯定失败。
- CentOS 7:必须先跑
yum install centos-release-gluster -y,再yum install glusterfs-server -y - CentOS 8+:推荐用专用源,
yum install centos-release-gluster10 -y,避免dnf module enable glusterfs:latest这种不稳定路径 - Ubuntu 20.04/22.04:加 PPA,
sudo add-apt-repository ppa:gluster/glusterfs-10,再apt update && apt install glusterfs-server -y - 别信“离线 rpm 一键安装”——
yumdownloader --resolve glusterfs-server下来的包链常漏libgfchangelog或python3-gluster,缺一个就起不来glusterd
gluster peer probe 返回 errno 107,本质是网络层拒绝连接
这不是 Gluster 配置问题,是 Linux 网络或安全策略拦住了。
- 先确认目标节点
glusterd已运行:systemctl status glusterd,没 active 就别 probe - 用
nc -zv 192.168.10.212 24007测试连通性;不通就查防火墙:firewall-cmd --list-ports看 24007 是否在白名单 - SELinux 必须设为 permissive:
setenforce 0临时验证;若生效,后续要用semanage port -a -t gluster_port_t -p tcp 24007固化策略,不能长期关 -
gluster peer probe只接受 IP,不解析主机名——即使/etc/hosts写对了,也必须用 IP,否则超时后还是报errno 107
创建 volume 时提示 Transport endpoint is not connected
说明 brick 路径不可达,常见于底层文件系统不支持扩展属性(xattr)或挂载点不规范。
- 每个 brick 必须是独立挂载点下的子目录,例如
/bricks/brick1;不能是/home/brick1(/home是根分区子目录) - 执行
getfattr -d /bricks/brick1验证是否支持 xattr;若报错Operation not supported,说明文件系统不满足要求(ext4/xfs 推荐,btrfs/overlayfs 不支持) - 确保 brick 所在磁盘已挂载且未满:
df -h /bricks,空余空间建议 ≥5% - 创建 volume 命令中路径必须完整且一致,例如:
gluster volume create myvol replica 2 transport tcp server1:/bricks/brick1 server2:/bricks/brick1
mount -t glusterfs 卡住或报 Connection refused
问题不在 mount 命令本身,而在 volume 状态或 brick 底层支撑。
- 先确认 volume 已创建且启动:
gluster volume list输出应含myvol,且状态为Started;没启动就gluster volume start myvol - 检查每个 brick 路径是否真实可写:
ls -ld /bricks/brick1,权限和父目录可写性都要过 - 客户端必须装
glusterfs-client(Ubuntu)或glusterfs-fuse(CentOS),光装glusterfs主包不够 - 挂载时建议加
-o backup-volfile-servers=server2,server3实现故障转移,避免单点挂掉整个挂载失效
gluster volume create,先 getfattr 和 df 两下。


















