GlusterFS下载-GlusterFS分布式文件系统下载地址-GlusterFS分布式文件系统下载方法
1. GlusterFS简介与版本说明
GlusterFS是一个开源的分布式文件系统,具有强大的横向扩展能力,支持PB级数据存储。它采用无中心化架构,通过弹性哈希算法实现数据分布,具有高可用性和高性能特点。更多学习教程www.fgedu.net.cn
GlusterFS最新版本:
GlusterFS 11.1(最新稳定版)- 发布于2024年,提供增强的性能和稳定性
GlusterFS 11.0 – 长期支持版本,适合生产环境
GlusterFS 10.5 – 旧版稳定版本,维护支持中
GlusterFS 9.6 – 传统稳定版本
GlusterFS主要特性:
弹性扩展:支持动态添加和移除存储节点
无元数据节点:采用弹性哈希算法,无单点故障
多种卷类型:支持分布式卷、复制卷、条带卷、分布式复制卷等
标准协议:支持NFS、SMB、原生协议等多种访问方式
数据冗余:支持多副本存储,保证数据可靠性
2. GlusterFS下载方式
GlusterFS提供软件包安装和源码编译两种下载方式。学习交流加群风哥微信: itpux-com
方式一:官方软件源安装(推荐)
# yum install -y centos-release-gluster11
# 或手动添加仓库
# vi /etc/yum.repos.d/glusterfs.repo
[glusterfs]
name=GlusterFS 11
baseurl=https://buildlogs.centos.org/centos/9-stream/storage/x86_64/gluster-11/
gpgcheck=0
enabled=1
# 查看可用版本
# yum list glusterfs-server –showduplicates
glusterfs-server.x86_64 11.0-1.el9 glusterfs
glusterfs-server.x86_64 11.1-1.el9 glusterfs
glusterfs-server.x86_64 10.5-1.el9 glusterfs
# 安装GlusterFS服务器
# yum install -y glusterfs-server
# 安装输出案例如下:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
–> Running transaction check
—> Package glusterfs-server.x86_64 0:11.1-1.el9 will be installed
–> Processing Dependency: glusterfs = 11.1-1.el9 for package: glusterfs-server-11.1-1.el9.x86_64
–> Processing Dependency: glusterfs-fuse = 11.1-1.el9 for package: glusterfs-server-11.1-1.el9.x86_64
–> Running transaction check
—> Package glusterfs.x86_64 0:11.1-1.el9 will be installed
—> Package glusterfs-fuse.x86_64 0:11.1-1.el9 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
glusterfs-server x86_64 11.1-1.el9 glusterfs 1.2 M
Installing for dependencies:
glusterfs x86_64 11.1-1.el9 glusterfs 456 k
glusterfs-fuse x86_64 11.1-1.el9 glusterfs 234 k
Transaction Summary
================================================================================
Install 1 Package (+2 Dependent packages)
Total download size: 1.9 M
Installed size: 5.6 M
Downloading packages:
(1/3): glusterfs-11.1-1.el9.x86_64.rpm | 456 kB 00:00:01
(2/3): glusterfs-fuse-11.1-1.el9.x86_64.rpm | 234 kB 00:00:01
(3/3): glusterfs-server-11.1-1.el9.x86_64.rpm | 1.2 MB 00:00:02
——————————————————————————–
Total 634 kB/s | 1.9 MB 00:03
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : glusterfs-11.1-1.el9.x86_64 1/3
Installing : glusterfs-fuse-11.1-1.el9.x86_64 2/3
Installing : glusterfs-server-11.1-1.el9.x86_64 3/3
Verifying : glusterfs-server-11.1-1.el9.x86_64 1/3
Verifying : glusterfs-fuse-11.1-1.el9.x86_64 2/3
Verifying : glusterfs-11.1-1.el9.x86_64 3/3
Installed:
glusterfs-server.x86_64 0:11.1-1.el9
Complete!
方式二:下载RPM安装包
# cd /fgedudb/glusterfs
# wget https://buildlogs.centos.org/centos/9-stream/storage/x86_64/gluster-11/Packages/g/glusterfs-server-11.1-1.el9.x86_64.rpm
# 下载输出案例如下:
–2026-04-04 15:00:15– https://buildlogs.centos.org/centos/9-stream/storage/x86_64/gluster-11/Packages/g/glusterfs-server-11.1-1.el9.x86_64.rpm
Resolving buildlogs.centos.org… 8.43.85.236
Connecting to buildlogs.centos.org|8.43.85.236|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 1256789 (1.2M) [application/x-rpm]
Saving to: ‘glusterfs-server-11.1-1.el9.x86_64.rpm’
glusterfs-server-11.1-1.el9.x86_64.rpm 100%[===============================================>] 1.20M 2.5MB/s in 0.5s
2026-04-04 15:00:16 URL:https://buildlogs.centos.org/centos/9-stream/storage/x86_64/gluster-11/Packages/g/glusterfs-server-11.1-1.el9.x86_64.rpm [1256789/1256789] -> “glusterfs-server-11.1-1.el9.x86_64.rpm” [1]
# 下载依赖包
# wget https://buildlogs.centos.org/centos/9-stream/storage/x86_64/gluster-11/Packages/g/glusterfs-11.1-1.el9.x86_64.rpm
# wget https://buildlogs.centos.org/centos/9-stream/storage/x86_64/gluster-11/Packages/g/glusterfs-fuse-11.1-1.el9.x86_64.rpm
# wget https://buildlogs.centos.org/centos/9-stream/storage/x86_64/gluster-11/Packages/g/glusterfs-client-xlators-11.1-1.el9.x86_64.rpm
# 验证下载文件
# ls -lh glusterfs*.rpm
-rw-r–r– 1 root root 1.2M Apr 4 15:00 glusterfs-server-11.1-1.el9.x86_64.rpm
-rw-r–r– 1 root root 456K Apr 4 15:01 glusterfs-11.1-1.el9.x86_64.rpm
-rw-r–r– 1 root root 234K Apr 4 15:01 glusterfs-fuse-11.1-1.el9.x86_64.rpm
-rw-r–r– 1 root root 178K Apr 4 15:01 glusterfs-client-xlators-11.1-1.el9.x86_64.rpm
# 安装RPM包
# rpm -ivh glusterfs*.rpm
方式三:源码编译安装
# cd /fgedudb/glusterfs
# wget https://download.gluster.org/pub/gluster/glusterfs/11/11.1/glusterfs-11.1.tar.gz
# 下载输出案例如下:
–2026-04-04 15:05:30– https://download.gluster.org/pub/gluster/glusterfs/11/11.1/glusterfs-11.1.tar.gz
Resolving download.gluster.org… 8.43.85.236
Connecting to download.gluster.org|8.43.85.236|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 7890123 (7.5M) [application/gzip]
Saving to: ‘glusterfs-11.1.tar.gz’
glusterfs-11.1.tar.gz 100%[===============================================>] 7.52M 5.6MB/s in 1.3s
2026-04-04 15:05:32 URL:https://download.gluster.org/pub/gluster/glusterfs/11/11.1/glusterfs-11.1.tar.gz [7890123/7890123] -> “glusterfs-11.1.tar.gz” [1]
# 验证下载文件
# ls -lh glusterfs-11.1.tar.gz
-rw-r–r– 1 root root 7.5M Apr 4 15:05 glusterfs-11.1.tar.gz
# 安装编译依赖
# yum install -y gcc make autoconf automake libtool
# yum install -y flex bison openssl-devel libaio-devel
# yum install -y libuuid-devel readline-devel libxml2-devel
# yum install -y python3-devel userspace-rcu-devel
# 编译安装
# tar -xzf glusterfs-11.1.tar.gz
# cd glusterfs-11.1
# ./configure –prefix=/usr/local/glusterfs
# make
# make install
3. 系统环境准备
GlusterFS集群部署前需要进行系统环境配置。学习交流加群风哥QQ113257174
步骤1:配置主机名和解析
# hostnamectl set-hostname gfs-node1.fgedu.net.cn
# 配置hosts解析
# vi /etc/hosts
192.168.1.51 gfs-node1 gfs-node1.fgedu.net.cn
192.168.1.52 gfs-node2 gfs-node2.fgedu.net.cn
192.168.1.53 gfs-node3 gfs-node3.fgedu.net.cn
192.168.1.54 gfs-node4 gfs-node4.fgedu.net.cn
# 验证解析
# ping -c 2 gfs-node2
PING gfs-node2 (192.168.1.52) 56(84) bytes of data.
64 bytes from gfs-node2 (192.168.1.52): icmp_seq=1 ttl=64 time=0.235 ms
64 bytes from gfs-node2 (192.168.1.52): icmp_seq=2 ttl=64 time=0.156 ms
— gfs-node2 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
步骤2:配置防火墙和SELinux
# firewall-cmd –permanent –add-port=24007-24008/tcp
# firewall-cmd –permanent –add-port=49152-49664/tcp
# firewall-cmd –permanent –add-port=111/tcp
# firewall-cmd –permanent –add-port=111/udp
# firewall-cmd –reload
# 输出案例如下:
success
# 或关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
# 配置SELinux
# setenforce 0
# vi /etc/selinux/config
SELINUX=disabled
步骤3:创建存储目录
# mkdir -p /data/glusterfs/brick1
# mkdir -p /data/glusterfs/brick2
# 设置权限
# chmod 755 /data/glusterfs
# 验证磁盘空间
# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 500G 33M 500G 1% /data
4. GlusterFS安装实战
完成环境准备后,启动GlusterFS服务并组建集群。更多学习教程公众号风哥教程itpux_com
步骤1:启动GlusterFS服务
# systemctl start glusterd
# systemctl enable glusterd
# 查看服务状态
# systemctl status glusterd
● glusterd.service – GlusterFS, a clustered file-system server
Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2026-04-04 15:15:00 CST; 10s ago
Process: 35123 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid –log-level=INFO (code=exited, status=0/SUCCESS)
Main PID: 35125 (glusterd)
Tasks: 8
Memory: 12.5M
CGroup: /system.slice/glusterd.service
└─35125 /usr/sbin/glusterd -p /var/run/glusterd.pid –log-level=INFO
Apr 04 15:15:00 gfs-node1.fgedu.net.cn systemd[1]: Starting GlusterFS, a clustered file-system server…
Apr 04 15:15:00 gfs-node1.fgedu.net.cn systemd[1]: Started GlusterFS, a clustered file-system server.
# 验证端口监听
# netstat -tlnp | grep glusterd
tcp 0 0 0.0.0.0:24007 0.0.0.0:* LISTEN 35125/glusterd
步骤2:组建信任存储池
# gluster peer probe gfs-node2
peer probe: success.
# gluster peer probe gfs-node3
peer probe: success.
# gluster peer probe gfs-node4
peer probe: success.
# 查看集群状态
# gluster peer status
Number of Peers: 3
Hostname: gfs-node2
Uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
State: Peer in Cluster (Connected)
Hostname: gfs-node3
Uuid: b2c3d4e5-f6g7-8901-bcde-f12345678901
State: Peer in Cluster (Connected)
Hostname: gfs-node4
Uuid: c3d4e5f6-g7h8-9012-cdef-123456789012
State: Peer in Cluster (Connected)
# 查看节点池状态
# gluster pool list
UUID Hostname State
a1b2c3d4-e5f6-7890-abcd-ef1234567890 gfs-node2 Connected
b2c3d4e5-f6g7-8901-bcde-f12345678901 gfs-node3 Connected
c3d4e5f6-g7h8-9012-cdef-123456789012 gfs-node4 Connected
d4e5f6g7-h8i9-0123-defg-234567890123 localhost Connected
5. 存储卷管理实战
GlusterFS支持多种类型的存储卷,根据业务需求选择合适的卷类型。from:www.itpux.com
步骤1:创建分布式复制卷
# gluster volume create gv0 replica 2 gfs-node1:/data/glusterfs/brick1 gfs-node2:/data/glusterfs/brick1 gfs-node3:/data/glusterfs/brick1 gfs-node4:/data/glusterfs/brick1
# 输出案例如下:
volume create: gv0: success: please start the volume to access data
# 启动存储卷
# gluster volume start gv0
volume start: gv0: success
# 查看卷信息
# gluster volume info gv0
Volume Name: gv0
Type: Distributed-Replicate
Volume ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: gfs-node1:/data/glusterfs/brick1
Brick2: gfs-node2:/data/glusterfs/brick1
Brick3: gfs-node3:/data/glusterfs/brick1
Brick4: gfs-node4:/data/glusterfs/brick1
Options Reconfigured:
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
步骤2:创建复制卷
# gluster volume create gv1 replica 3 gfs-node1:/data/glusterfs/brick2 gfs-node2:/data/glusterfs/brick2 gfs-node3:/data/glusterfs/brick2
# 输出案例如下:
volume create: gv1: success: please start the volume to access data
# 启动存储卷
# gluster volume start gv1
volume start: gv1: success
# 查看卷状态
# gluster volume status gv1
Status of volume: gv1
Gluster process TCP Port RDMA Port Online Pid
——————————————————————————
Brick gfs-node1:/data/glusterfs/brick2 49153 0 Y 36123
Brick gfs-node2:/data/glusterfs/brick2 49153 0 Y 35234
Brick gfs-node3:/data/glusterfs/brick2 49153 0 Y 35345
Task Status of Volume gv1
——————————————————————————
There are no active volume tasks
# 查看所有卷
# gluster volume list
gv0
gv1
步骤3:配置卷参数
# gluster volume set gv0 auth.allow 192.168.1.*
volume set: success
# 配置性能优化
# gluster volume set gv0 performance.cache-size 256MB
volume set: success
# gluster volume set gv0 performance.io-thread-count 32
volume set: success
# gluster volume set gv0 performance.write-behind-window-size 1MB
volume set: success
# 配置配额
# gluster volume quota gv0 enable
volume quota : success
# gluster volume quota gv0 limit-usage / 100GB
volume quota : success
# 查看卷配额
# gluster volume quota gv0 list
Path Hard-limit Soft-limit Used Available Soft-limit-exceeded Hard-limit-exceeded
/ 100.0GB 90.0GB 0Bytes 100.0GB No No
# 查看卷选项
# gluster volume get gv0 all | head -20
Option Value
—— —–
cluster.brick-multiplex on
cluster.max-bricks-per-process 250
cluster.readdir-optimize off
cluster.readdir-failover on
cluster.rsync-hash-regex \.(iso|img|bin|qcow|qcow2)$
cluster.min-free-disk 10%
cluster.min-free-inodes 5%
6. 客户端挂载实战
GlusterFS支持多种客户端挂载方式。
步骤1:原生客户端挂载
# yum install -y glusterfs-fuse
# 创建挂载点
# mkdir -p /mnt/glusterfs
# 挂载GlusterFS卷
# mount -t glusterfs gfs-node1:gv0 /mnt/glusterfs
# 验证挂载
# df -h /mnt/glusterfs
Filesystem Size Used Avail Use% Mounted on
gfs-node1:gv0 2.0T 33M 2.0T 1% /mnt/glusterfs
# 查看挂载信息
# mount | grep glusterfs
gfs-node1:gv0 on /mnt/glusterfs type fuse.glusterfs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=131072)
# 配置开机自动挂载
# vi /etc/fstab
gfs-node1:gv0 /mnt/glusterfs glusterfs defaults,_netdev 0 0
# 测试写入文件
# dd if=/dev/zero of=/mnt/glusterfs/testfile bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 2.345 s, 44.7 MB/s
# 验证文件
# ls -lh /mnt/glusterfs/testfile
-rw-r–r– 1 root root 100M Apr 4 15:25 /mnt/glusterfs/testfile
步骤2:NFS挂载
# gluster volume set gv0 nfs.disable off
volume set: success
# 安装NFS客户端
# yum install -y nfs-utils
# 创建挂载点
# mkdir -p /mnt/nfs
# 挂载NFS
# mount -t nfs -o vers=3 gfs-node1:/gv0 /mnt/nfs
# 验证挂载
# df -h /mnt/nfs
Filesystem Size Used Avail Use% Mounted on
gfs-node1:/gv0 2.0T 33M 2.0T 1% /mnt/nfs
# 配置开机自动挂载
# vi /etc/fstab
gfs-node1:/gv0 /mnt/nfs nfs defaults,vers=3,_netdev 0 0
步骤3:SMB/CIFS挂载
# gluster volume set gv0 user.smb enable on
volume set: success
# 安装SMB客户端
# yum install -y samba-client cifs-utils
# 创建挂载点
# mkdir -p /mnt/smb
# 挂载SMB
# mount -t cifs -o user=admin,pass=password //gfs-node1/gv0 /mnt/smb
# 验证挂载
# df -h /mnt/smb
Filesystem Size Used Avail Use% Mounted on
//gfs-node1/gv0 2.0T 33M 2.0T 1% /mnt/smb
7. 生产环境最佳实践
在生产环境中部署GlusterFS需要考虑性能优化、高可用和监控告警。
性能优化配置
# gluster volume set gv0 performance.cache-size 512MB
# gluster volume set gv0 performance.io-thread-count 64
# gluster volume set gv0 performance.write-behind-window-size 4MB
# gluster volume set gv0 performance.read-ahead-page-count 16
# gluster volume set gv0 performance.client-io-threads on
# 配置缓存
# gluster volume set gv0 features.cache-invalidation on
# gluster volume set gv0 features.cache-invalidation-timeout 600
# 配置数据恢复
# gluster volume set gv0 cluster.self-heal-daemon on
# gluster volume set gv0 cluster.data-self-heal on
# gluster volume set gv0 cluster.metadata-self-heal on
# gluster volume set gv0 cluster.entry-self-heal on
# 查看优化后的配置
# gluster volume get gv0 performance
Option Value
—— —–
performance.cache-size 512MB
performance.io-thread-count 64
performance.write-behind-window-size 4MB
performance.read-ahead-page-count 16
performance.client-io-threads on
高可用配置
# gluster volume set gv0 cluster.quorum-type server
# 配置自动故障转移
# gluster volume set gv0 cluster.favorite-child-policy majority
# 配置心跳检测
# gluster volume set gv0 cluster.heartbeat-interval 10
# 配置超时时间
# gluster volume set gv0 network.ping-timeout 30
# 配置重试次数
# gluster volume set gv0 cluster.max-retry 5
# 查看高可用配置
# gluster volume get gv0 cluster
Option Value
—— —–
cluster.quorum-type server
cluster.favorite-child-policy majority
cluster.heartbeat-interval 10
network.ping-timeout 30
cluster.max-retry 5
监控与维护
# gluster volume status gv0 detail
Status of volume: gv0
——————————————————————————
Brick : gfs-node1:/data/glusterfs/brick1
Port : 49153
Online : Y
Pid : 36123
File System : xfs
Device : /dev/sdb1
Mount Options : rw,relatime,attr2,inode64,noquota
Inode Size : 512
Disk Space Free : 499.9GB
Total Disk Space : 500.0GB
Inode Count : 262144000
Free Inodes : 262143999
# 查看自愈状态
# gluster volume heal gv0 info
Brick gfs-node1:/data/glusterfs/brick1
Status: Connected
Number of entries: 0
Brick gfs-node2:/data/glusterfs/brick1
Status: Connected
Number of entries: 0
# 手动触发自愈
# gluster volume heal gv0 full
Launching heal operation to perform full self heal on volume gv0 has been successful
# 查看卷统计信息
# gluster volume profile gv0 start
# gluster volume profile gv0 info
Brick: gfs-node1:/data/glusterfs/brick1
Cumulative Stats:
Block Read: 12345, size: 123456789
Block Write: 6789, size: 67890123
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
