三节点GlusterFS高可用存储部署指南

📅 2026/7/29 18:41:03 👁️ 阅读次数 📝 编程学习
三节点GlusterFS高可用存储部署指南

1.环境准备

角色主机名IP 地址Brick 目录
Node 1gfs-node110.0.1.113/data/brick1/gv0
Node 2gfs-node210.0.1.127/data/brick1/gv0
Node 3gfs-node310.0.1.128/data/brick1/gv0

1.1 设置主机名

# 在 10.0.1.113 上执行 hostnamectl set-hostname gfs-node1 # 在 10.0.1.127 上执行 hostnamectl set-hostname gfs-node2 # 在 10.0.1.128 上执行 hostnamectl set-hostname gfs-node3

1.2 配置 hosts 解析(所有节点)

cat >> /etc/hosts << 'EOF' 10.0.1.113 gfs-node1 10.0.1.127 gfs-node2 10.0.1.128 gfs-node3 EOF

1.3 验证互通:

ping -c 2 gfs-node1 ping -c 2 gfs-node2 ping -c 2 gfs-node3

1.4 关闭防火墙和 SELinux

# 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭 SELinux(临时) setenforce 0 # 关闭 SELinux(永久) sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

1.5 时间同步(非常重要!)

yum install -y chrony systemctl start chronyd systemctl enable chronyd # 确认时间同步 chronyc tracking

1.6 准备数据磁盘

# 查看磁盘 lsblk # 格式化为 XFS(GlusterFS 推荐 XFS) mkfs.xfs -f /dev/sdb # 创建挂载点并挂载 mkdir -p /data echo "/dev/sdb /data xfs defaults 0 0" >> /etc/fstab mount -a # 验证 df -h /data

第二步:安装 GlusterFS(所有 3 个节点)

麒麟v10:

# 1. 清理并更新缓存 dnf clean all dnf makecache # 2. 安装 GlusterFS 服务端和客户端工具 dnf install -y glusterfs-server glusterfs-fuse

CentOS 7:

# 安装 CentOS Storage SIG 源 yum install -y centos-release-gluster # 安装 GlusterFS yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

CentOS 8 / Rocky Linux / AlmaLinux:

# 安装 EPEL dnf install -y epel-release # 启用 PowerTools (CentOS 8) 或 CRB (Rocky 9) dnf config-manager --set-enabled powertools # CentOS 8 # dnf config-manager --set-enabled crb # Rocky 9 # 安装 GlusterFS dnf install -y centos-release-gluster dnf install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

第三步:启动 GlusterFS 服务(所有 3 个节点)

systemctl start glusterd systemctl enable glusterd # 确认服务运行正常 systemctl status glusterd

第四步:组建信任池(仅在 gfs-node1 执行)

# 在 gfs-node1 上添加其他两个节点 gluster peer probe gfs-node2 gluster peer probe gfs-node3 # 查看集群状态 gluster peer status

第五步:创建 Brick 目录(所有 3 个节点)

mkdir -p /data/brick1/gv0

第六步:创建 Replica 3 副本卷(仅在 gfs-node1 执行)

gluster volume create gv0 replica 3 \ gfs-node1:/data/brick1/gv0 \ gfs-node2:/data/brick1/gv0 \ gfs-node3:/data/brick1/gv0 \ force

第七步:启动卷(仅在 gfs-node1 执行)

# 启动卷 gluster volume start gv0 # 查看卷信息 gluster volume info

以下输出就成功创建副本并高可用

第八步:客户端挂载存储

# 创建挂载点 mkdir -p /mnt/glusterfs # 挂载(只需指定一个节点,GlusterFS 会自动发现其他节点) mount -t glusterfs gfs-node1:/gv0 /mnt/glusterfs # 验证挂载 df -h /mnt/glusterfs

写入数据测试:

# 复制一个系统文件到挂载点作为测试 cp /etc/passwd /mnt/glusterfs/test_ha_file.txt # 确认文件已写入 ls -l /mnt/glusterfs/

登入其他节点也可查看测试文件:👆

设置开机自动挂载:

echo "gfs-node1:/gv0 /mnt/glusterfs glusterfs defaults,_netdev 0 0" >> /etc/fstab

第九步 客户端挂载

服务器10.0.1.106

1.直接在10.0.1.106上复制并执行以下 3 行命令 写入 hosts 文件

echo "10.0.1.113 gfs-node1" >> /etc/hosts echo "10.0.1.127 gfs-node2" >> /etc/hosts echo "10.0.1.128 gfs-node3" >> /etc/hosts

验证是否生效

ping -c 2 gfs-node1 ping -c 2 gfs-node2 ping -c 2 gfs-node3

挂载并验收

# 执行挂载 mount -t glusterfs 10.0.1.113:/gv0 /mnt/glusterfs # 查看挂载结果 df -h | grep glusterfs