大家好,又见面了,我是你们的朋友全栈君。
一、GlusterFS概述 GlusterFS是一款开源的分布式文件系统,由存储服务器、客户端以及NFS/Samba存储网关组成,不依赖于元数据服务器。
二、GlusterFS工作原理 GlusterFS的工作原理包括扩展性和高性能、高可用性、全球统一命名空间、弹性卷管理、基于标准协议的RDMA或TCP/IP,以及弹性HASH算法。通过HASH算法生成一个32位整数,划分为N个连续的子空间,每个空间对应一个Brick。弹性HASH算法的优点是保证数据在每个Brick中均匀分布,解决了对元数据服务器的依赖,从而避免了单点故障和访问瓶颈。
三、GlusterFS卷类型 3.1 分布式卷 分布式卷不进行文件分块处理,通过扩展文件属性保存HASH值,支持的底层文件系统包括EXT3、EXT4、ZFS、XFS等。
分布式卷的特点:
创建分布式卷的命令如下:
gluster volume create dis-volume server1:/dir1 server2:/dir2 server3:/dir3
3.2 条带卷 条带卷根据偏移量将文件分成N块(N个条带节点),以轮询方式存储在每个Brick Server节点上,存储大文件时性能尤为突出,但不具备冗余性,类似于Raid0。
条带卷的特点:
创建条带卷的命令如下:
gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2
3.3 复制卷 复制卷会保存同一文件的一份或多份副本,因此磁盘利用率较低。如果多个节点上的存储空间不一致,将按照木桶效应取最低节点的容量作为该卷的总容量。
复制卷的特点:
创建复制卷的命令如下:
gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2
3.4 分布式条带卷 分布式条带卷兼具分布式卷和条带卷的功能,主要用于大文件访问处理,至少需要4台服务器。
创建分布式条带卷的命令如下:
gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4
3.5 分布式复制卷 分布式复制卷兼具分布式卷和复制卷的功能,用于需要冗余的情况。
创建分布式复制卷的命令如下:
gluster volume create dis-rep replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4
四、GlusterFS案例部署 4.1 实验环境
| 操作系统 | IP | 主机名 | 硬盘数量 |
|---|---|---|---|
| CentOS 7.4 | 20.0.0.100 | node1 | sdb:20G sdc:20G sdd:20G sde:20G |
| CentOS 7.4 | 20.0.0.12 | node2 | sdb:20G sdc:20G sdd:20G sde:20G |
| CentOS 7.4 | 20.0.0.27 | node3 | sdb:20G sdc:20G sdd:20G sde:20G |
| CentOS 7.4 | 20.0.0.30 | node4 | sdb:20G sdc:20G sdd:20G sde:20G |
| CentOS 7.4 | 20.0.0.10 | node5-client | sdb:20G sdc:20G sdd:20G sde:20G |
4.2 关闭防火墙与SELinux 在各个节点上关闭防火墙与核心防护:
[root@node1 ~]# systemctl stop firewalld [root@node1 ~]# systemctl disable firewalld [root@node1 ~]# setenforce 0
4.3 配置hosts文件 在4台节点上分别修改主机名:
hostnamectl set-hostname node1 hostnamectl set-hostname node2 hostnamectl set-hostname node3 hostnamectl set-hostname node4
在4台节点上分别做地址映射:
vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 20.0.0.100 node1 20.0.0.12 node2 20.0.0.27 node3 20.0.0.30 node4
4.4 磁盘格式化与挂载
磁盘格式化与挂载脚本 vim disk.sh:
#! /bin/bash
echo "查找到的可创建磁盘列表"
fdisk -l | grep 'Disk /dev/sd[b-z]'
echo "=============================="
PS3="chose which disk you want to create:"
select W in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit
do
case $W in
sda)
fdisk -l /dev/sda
break;;
sd[b-z])
echo "n p w" | fdisk /dev/$W
mkfs.xfs -i size=512 /dev/${W}"1" &>/dev/null
mkdir -p /data/${W}"1" &>/dev/null
echo -e "/dev/${W}"1" /data/${W}"1" xfs defaults 0 0\n" >> /etc/fstab
mount -a &>/dev/null
break;;
quit)
break;;
*)
echo "wrong disk,plwase chesk again";;
esac
done将脚本复制到其他节点:
[root@node1 ~]# scp disk.sh root@20.0.0.12:/root [root@node1 ~]# scp disk.sh root@20.0.0.27:/root [root@node1 ~]# scp disk.sh root@20.0.0.30:/root
4.5 安装软件 4.5.1 共享Windows系统文件夹gfsrepo






4.5.2 查看共享文件夹
smbclient -L //192.168.100.2/
4.5.3 挂载共享文件夹
mkdir /abc mount.cifs //192.168.100.2/gfsrepo /abc
4.5.4 设置本地源仓库
vi /etc/yum.repos.d/GLFS.repo [GLFS] name=glfs baseurl=file:///abc gpgcheck=0 enabled=1
cd /etc/yum.repos.d/ mkdir bak mv C* bak
4.5.5 安装软件
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma systemctl start glusterd.service systemctl enable glusterd.service systemctl status glusterd.service
4.5.6 时间同步
ntpdate ntp1.aliyun.com
4.6 添加节点 添加存储信任池,只需在一个节点上添加即可:
gluster peer probe node2 gluster peer probe node3 gluster peer probe node4
4.7 查看集群状态
gluster peer status
4.8 卷的创建 创建分布式卷:
gluster volume create dis-vol node1:/data/sdb1 node2:/data/sdb1 force
查看分布式卷:
gluster volume info dis-vol
创建条带卷:
gluster volume create stripe-vol stripe 2 node1:/data/sdc1 node2:/data/sdc1 force
查看条带卷:
gluster volume info stripe-vol
查看卷列表:
gluster volume list
创建复制卷:
gluster volume create rep-vol replica 2 node3:/data/sdb1 node4:/data/sdb1 force
开启复制卷:
gluster volume start rep-vol
发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/d34b265ec889c175e2a1ade81d393d94 原文链接:https://www.php.cn/link/c8377ad2a50fb65de28b11cfc628d75c
以上就是GFS分布式文件存储系统的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号