大家好,又见面了,我是你们的朋友全栈君。
GlusterFS是开源的分布式文件系统,由存储服务器、客户端以及NFS/Samba存储网关组成的无元数据服务器
弹性HASH算法 通过HASH算法得到一个32位的整数 划分为N个连续的子空间,每个空间对应一个Brick弹性
HASH算法的优点
没有对文件进行分块处理 通过扩展文件属性保存HASH值 支持的底层文件系统有EXT3、EXT4、ZFS、XFS等
分布式卷的特点
创建分布式卷 gluster volume create dis-volume server1:/dir1 server2:/dir2server3:/dir3
条带卷的特点:
创建条带卷 创建了一个名为Stripe-volume的条带卷,文件将被分块轮询的存储在Server1:/dir1和Server2:/dir2两个Brick中
gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2
同一文件保存一份或多份副本 因为要保存副本,所以磁盘利用率较低 若多个节点上的存储空间不一致,将按照木桶效应取最低节点的容量作为该卷的总容量
复制卷的特点:
创建复制卷: 创建名为rep-volume的复制卷,文件将同时存储两个副本,分别在Server1:/dir1和Server2:/dir2两个Brick中 gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2
兼顾分布式卷和条带卷的功能 主要用于大文件访问处理 至少最少需要4台服务器
创建分布式条带卷: 创建了名为dis-stripe的分布式条带卷,配置分布式的条带卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数(>=2倍)
gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1server2:/dir2 server3:/dir3 server4:)dir4
兼顾分布式卷和复制卷的功能 用于需要冗余的情况
创建分布式复制卷 创建名为dis-rep的分布式条带卷,配置分布式复制卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数(>=2倍) gluster volume create dis-rep replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4
操作系统 | 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 |
各节点关闭防火墙与核心防护
[root@node1 ~]# systemctl stop firewalld
[root@node1 ~]# systemctl disable firewalld
[root@node1 ~]# setenforce 0
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
磁盘格式化与挂载脚本 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
1.文件共享添加everyone用户指定读取权限
2.设置本地策略secpol.msc
3:网络和共享中心—–>共享选项—–>把所有共享选项设置为允许
4. 控制面板—->程序—-> 开启SMB支持
smbclient -L //192.168.100.2/
mkdir /abc
mount.cifs //192.168.100.2/gfsrepo /abc
回车
vi /etc/yum.repos.d/GLFS.repo
[GLFS]
name=glfs
baseurl=file:///abc
gpgcheck=0
enabled=1
cd /etc/yum.repo.d/
mkdir bak
mv C* bak
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
启动软件
systemctl start glusterd.service
systemctl enable glusterd.service
systemctl status glusterd.service
ntpdate ntp1.aliyun.com
添加存储信任池,只需要在一个节点上添加即可
gluster peer probe node2
gluster peer probe node3
gluster peer probe node4
gluster peer status
创建分布式卷
gluster volume create dis-vol node1:/data/sdb1 node2:/data/sdb1 force
查看分布式卷
gluster volume info dis-vol
创建条带卷
[root@node1 yum.repos.d]# gluster volume create stripe-vol stripe 2 node1:/data/sdc1 node2:/data/sdc1 force
查看条带卷
gluster volume info stripe-vol
查看卷列表
gluster volume list
创建复制卷
[root@node1 yum.repos.d]# gluster volume create rep-vol replica 2 node3:/data/sdb1 node4:/data/sdb1 force
开启复制卷
gluster volumn start rep-vol
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139833.html原文链接:https://javaforall.cn