一、环境准备
1、有三台机器两台master一主一从,一个client,三台机器分别配置好/etc/hosts
三台hosts文件内容都一样,保证互相ping通。
192.168.1.160 master1
192.168.1.165 master2
192.168.1.167 client
2、在两台主机上准备两块附加的磁盘,格式化并创建目录,并设置自动挂载
# mkfs.xfs -i size=512 /dev/sdb1
# mkdir -p /bricks/brick1
# vi /etc/fstab
添加以下内容:
/dev/sdb1 /bricks/brick1 xfs defaults 0 0
挂载所有
# mount -a && mount
#在 CentOS 6 上,您需要安装xfsprogs包才能格式化 XFS 文件系统
# yum install xfsprogs
二、安装GlusterFS
1、在国内源的对应linux版本下找到YUM的扩展安装信息文件和支持文件并安装
https://mirrors.aliyun.com/centos/8/extras/x86_64/os/Packages/centos-release-gluster8-1.0-1.el8.noarch.rpm
https://mirrors.aliyun.com/centos/8/extras/x86_64/os/Packages/centos-release-storage-common-2-2.el8.noarch.rpm
2、安装GlusterFS相应组件:
yum install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
三、配置
1、开启两台主机通信端口
firewall-cmd --zone=public --add-port=24007/tcp --permanent
firewall-cmd --reload
2、启动两台主机的服务
systemctl start glusterd
查看服务状态
systemctl status glusterd
3、在任一主机上配置信任池
gluster peer probe fly2
gluster peer probe fly.....
....
第一台主机
查看信任池状态,每台主机都可看
gluster peer status
从存储池中删除服务器:
gluster peer detach serve
4、创建GlusterFS volume
在所有服务器上执行
mkdir /bricks/brick1/gv0
在第一台主机上执行
gluster volume create gv0 replica 2 fly1:/bricks/brick1/gv0 fly2:/bricks/brick1/gv0
#创建时会有提示,不建议不要存在根分区,命令后加 force 即可成功。
启动卷
gluster volume start gv0
查看卷空间
gluster volume info
删除卷的步骤:
停止卷
sudo gluster volume stop test-vol
删除卷
sudo gluster volume delete test-vol
gluster volume delete不会从后端删除数据,您需要手动从砖块中删除它们,
例如在你的情况下,你需要做的 rm -rf /gfs/test-vol/
5、Gluster 测试
挂载卷:
mount -t glusterfs fly1:/gv /mnt
# 在/mnt下创建100个文件
for i in `seq -w 1 100`; do cp -rp /var/log/messages /mnt/copy-test-$i; done
#####
设置开机自动挂载
vim /etc/fstab
fly1:/gv /mnt glusterfs defaults 0 0
6、扩容:
在任意一台glusterFS节点上面操作,添加新增的节点
#gluster peer probe 192.168.1.178
#gluster peer probe 192.168.1.179
#gluster volume add-brick myvolume 192.168.1.178:/glusterfs/data 192.168.1.179:/glusterfs/data
即可。
#gluster volume rebalance myvolume start 启动均衡设置
#gluster volume rebalance myvolume status 查看均衡状态
########################################
GlusterFS卷的种类
1.分布卷
在分布式卷中,文件随机扩展到卷中的砖块中。 使用分布式卷,需要扩展存储和冗余不是很重要,或由其他硬件/软件层提供。
创建语法:gluster volume create [transport tcp | rdma | tcp,rdma]
例子: gluster volume create test-volume server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4
2.复制卷
复制卷创建卷中多个砖块的文件副本。 可以在高可用性和高可靠性至关重要的环境中使用复制卷。
创建语法:gluster volume create [replica ] [transport tcp | rdma | tcp,rdma]
例子: gluster volume create test replica 2 transport tcp server1:/exp1 server2:/exp2
3. 条带卷
条带卷在卷中的砖块之间进行条带化。 为获得最佳效果,只能在访问非常大的文件的高并发环境中使用条带卷。
创建语法:gluster volume create [stripe ] [transport tcp | rdma | tcp,rdma]
例子: gluster volume create test stripe 2 transport tcp server1:/exp1 server2:/exp2
4.分布式条带卷
分布式条带卷在集群中的两个或多个节点之间进行条带化。 为了获得最佳效果,应该使用分布式条带卷,其中要求是扩展存储,并且访问大型文件的高并发环境至关重要。
创建语法: gluster volume create [stripe ] [transport tcp | rdma | tcp,rdma]
gluster volume create test-volume stripe 4 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 server7:/exp7 server8:/exp8
5.分布式复制卷
在卷中的复制卷上分发文件。 可以在需要扩展存储和高可靠性至关重要的环境中使用分布式复制卷。 分布式复制卷还可在大多数环境中提供改进的读取性能。
创建语法:gluster volume create [replica ] [transport tcp | rdma | tcp,rdma]
例子:gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4
6.条带复制卷
将文件分割并备份随机存放在不同的服务器里,File被分割4段,1、3存放在server1(exp1)上,2、4存放在server2(exp4),server1上的(exp3)存放server2(exp4)的备份文件,server2上的(exp2)存放server1(exp1)的备份文件。
创建l例子:gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4
7.分布式条带复制卷
三种基本卷的复合卷。
创建语法: gluster volume create [disperse [<count>]] [redundancy <count>] [transport tcp | rdma | tcp,rdma]
例子:gluster volume create test1 disperse 3 server1:/brick{1..6} force
待学习问题:1、客户机如何访问;2、删除文件后空间如何释放。
客户机访问出错,查看日志命令:cat /var/log/messages | grep mount
客户端无法挂载是因为挂载的 服务器 49152(连接客户端、写数据通信,2355好像也有用,但是不开好像也不影响)端口防火墙未放行。
********************************************************
开放相关端口
默认情况下,glusterd守护进程将监听“tcp/24007”,但仅打开该端口是不够的,因为你每添加一个卷时,它都会打开一个新端口(可通过“gluster volume status”命令查看卷的端口占用情况),所以你有以下几种选择:
***计算机重启后gluster 逻辑卷 需要关闭后重启,端口号会重新分配。
针对节点ip开放所有端口;
开放一个足够大的端口段;
每加一个卷就开一个端口;
直接关闭防火墙。
我的倾向是选择前三种。