GlusterFS
-------------------------实现GFS之AFR(Replication复制)-----------------------------------------------------
网络结构一样,信息与实验不符:
S1 gfs1.yht.edu 192.168.131.137
S2 gfs2.yht.edu 192.168.131.136
Client 192.168.131.129
在Distributed(分布)实验基础配置之上
#mkdir -pv /yht/replica[在S1、S2分别建立GlusterFS卷所需要的目录]
以下操作在一个服务器中完成即可:
创建Replication Volume逻辑卷
#gluster volume create vol_replica replica 2 transport tcp gfs1.yht.edu:/yht/replica gfs2.yht.edu:/yht/replica force
启动并查看卷信息
#gluster volume start vol_replica
#gluster volume info
客户端操作
#mkdir -pv /mnt/gfs/replica[客户端建立要挂载的目录]
#mount -t glusterfs gfs1:/vol_replica /gfs/replica [挂载,随便挂载一个服务器地址即可]
#df -hT [查看所挂载目录的大小]
Rep复制实验结果:在客户端挂载目录里写文件和目录,S1和S2服务器都存储,AFR相当于RAID1,同一文件在多个存储节点上保留多份。
-----------------------------实现GFS之Stripe(Striping条带)---------------------------------
网络结构一样,信息与实验不符:
S1 gfs1.yht.edu 192.168.131.137
S2 gfs2.yht.edu 192.168.131.136
Client 192.168.131.129
在Distributed(分布)实验基础配置之上
#mkdir -pv /gfs/spriped[在S1、S2分别建立GlusterFS卷所需要的目录]
以下操作在一个服务器中完成即可:
创建Striping Volume逻辑卷
#gluster volume create vol_spriped stripe 2 transport tcp gfs1.yht.edu:/yht/spriped gfs2.yht.edu:/gfs/spriped force
启动并查看卷信息
#gluster volume start vol_spriped
#gluster volume info
客户端操作
#mkdir -pv /gfs/spriped[客户端建立要挂载的目录]
#mount -t glusterfs gfs1:/vol_spriped /gfs/spriped [挂载,随便挂载一个服务器地址即可]
#df -hT [查看所挂载目录的大小]
Striping条带实验结果:S1和S2都显示存储,区别在于小于128K的文件,但是其中一个是空文件;大于128K,是按照其中一个brick存储满128K后,由另一个brick存储,Stripe相当于RAID0,即分片存储,文件被划分成固定长度的数据分片以Round-Robin轮转方式存储在所有存储节点。分片卷将单个文件分成小块(块大小支持配置,默认为128K),然后将小块存储在不同的brick上,以提升文件的访问性能。
----------------------------------实现GFS之Dist+Replica(DHT分布+AFR复制)------------------------------
网络结构一样,信息与实验不符:
S1 gfs1.yht.edu 192.168.131.137
S2 gfs2.yht.edu 192.168.131.136
S3 gfs3.yht.edu 192.168.131.138
S4 gfs4.yht.edu 192.168.131.139
Client 192.168.131.129
1.新增S3、S4
2.下载yum源到客户端[确保客户端ping通192.168.2.250]
wget http://192.168.2.250/conf2repos/glusterfs38.txt
wget http://192.168.2.250/conf2repos/glusterfs.txt
2.将glusterfs.txt和glusterfs38.txt文件进行改名修改
#mv glusterfs.txt glusterfs.repo并修改文件enabled=1、gpgcheck=0
#mv glusterfs38.txt glusterfs38.repo并修改文件enabled=1、gpgcheck=0
3.#mount /dev/sr0 /mnt/cdrom[挂载本地yum源]
4.#yum install glusterfs glusterfs-fuse -y[安装服务]
开启GFS服务
#systemctl start glusterd
#systemctl enable glusterd
#mkdir -pv /yht/spriped[分别在S1-S4建立GlusterFS卷所需要的目录]
修改主机名
# hostnamectl set-hostname [ gfs1 | gfs2 |gfs3|gfs4| client| ].yht.edu
编辑S1、S2、S3、S4的hosts文件
#vim /etc/hosts
192.168.131.137 gfs1.yht.edu gfs1
192.168.131.136 gfs2.yht.edu gfs2
192.168.131.138 gfs3.yht.edu gfs3
192.168.131.139 gfs4.yht.edu gfs4
以下操作在一个服务器中完成即可:
将gfs3、gfs4加入至gfs集群组中[在任意一台中添加即可]
#gluster peer probe gfs3.yht.edu
#gluster peer probe gfs4.yht.edu
确认集群组状态
#gluster peer status
4台服务,2台用于复制,剩余2台做
创建Dist+Replica Volume ↑
gluster volume create vol_dr replica 2 transport tcp gfs1.yht.edu:/yht/dr gfs2.yht.edu:/yht/dr gfs3.yht.edu:/yht/dr gfs4.yht.edu:/yht/dr force
启动并查看卷信息
#gluster volume start vol_dr
#gluster volume info
客户端操作
#mkdir -pv /gfs/spriped[客户端建立GlusterFS卷所需要的目录]
#mount -t glusterfs gfs1:/vol_dr /gfs/dr
#df -hT [查看所挂载目录的大小]
Dist+Replica(DHT+AFR)实验结果:在客户端建立的文件随机存储在S1、S3,复制在S2、S4上,1、3做条带,2、4做复制。数据将进行切片,切片在复本卷内进行复制,在不同卷间进行分布。exp1和exp2组成复本卷,exp3和exp4组成复本卷,两个复本卷组成分片卷。
------------------------------------------------实现GFS之Stripe+Replica(条带加复制)------------------------------------
网络结构一样,信息与实验不符:
S1 gfs1.yht.edu 192.168.131.137
S2 gfs2.yht.edu 192.168.131.136
S3 gfs3.yht.edu 192.168.131.138
S4 gfs4.yht.edu 192.168.131.139
Client 192.168.131.129
建立在Stripe+Replica基础之上
#mkdir -pv /gfs/sr[分别在S1-S4建立GlusterFS卷所需要的目录]
以下操作在一个服务器中完成即可:
创建Stripe+Replica Volume
#gluster volume create vol_sr stripe 2 replica 2 transport tcp gfs1.yht.edu:/yht/sr gfs2.yht.edu:/yht/sr gfs3:/yht/sr gfs4:/yht/sr force
启动并查看卷信息
#gluster volume start vol_sr
#gluster volume info
客户端操作
#mkdir -pv /gfs/sr[客户端建立GlusterFS卷所需要的目录]
#mount -t glusterfs gfs1:/vol_sr /gfs/sr[挂载,随便挂载一个服务器地址即可]
#df -hT [查看所挂载目录的大小]
Stripe+Replica实验结果:数据将进行切片,切片在复本卷内进行复制,分片卷将单个文件分成小块(块大小支持配置,默认为128K),exp1和exp2组成复本卷,exp3和exp4组成复本卷,两个复本卷组成分片卷。
------------------------实现GFS之收缩 dist扩容和缩容-------------------------------------------
192.168.131.137 gfs1.yht.edu gfs1
192.168.131.136 gfs2.yht.edu gfs2
192.168.131.138 gfs3.yht.edu gfs3
由三个bolick组成vol_dist卷,对dist卷进行扩容
将gfs4加入至gfs集群组中
#gluster peer probe gfs4.yht.edu
#gluster volume add-brick vol_dist gfs4:/yht/dist force[将gfs4扩展逻辑卷,客户端不用重新挂载,直接生效]
#gluster volume remove-brick vol_dist gfs4.yht.edu:/yht/dist force[缩容也一样可以直接进行操作]
客户端
#mkdir -pv /gfs/dist
#mount -t glusterfs gfs1.yht.edu:/vol_dist /gfs/dist[挂载,随便挂载一个服务器地址即可]
#df -hT[查看所挂载目录的大小]
客户端自动加载
#vim /etc/fstab
gfs1:/yht/dist /gfs/dist glusterfsdefaults,_netdev 0 0
#gluster peer status[查看集群组(存储池)状态]
#gluster peer detach gfs4.yht.edu[将指定设备从集群组(存储池)删除]
#gluster volume stop 卷名称[停止卷]
#gluster volume delete 卷名称[删除卷]
收缩扩展卷
#gluster volume add-brick vol_dist gfs4.yht.edu:/yht/dist force[扩展]
#gluster volume remove-brick vol_dist gfs4.yht.edu:/yht/dist force[收缩]
-----------------------------------------------------------------------------------------------------------------
作业:将分布+复制改变node节点位置顺序有什么影响
# mkdir -pv /yht/dr1 [分别在S1-S4建立GlusterFS卷所需要的目录]
创建Dist+Replica Volume
# gluster volume create vol_dr1 replica 2 transport tcp gfs1.yht.edu:/yht/dr1 gfs3.yht.edu:/yht/dr1 gfs4.yht.edu:/yht/dr1 gfs2.yht.edu:/yht/dr1 force
启动并查看卷信息
#gluster volume start vol_dr
#gluster volume info
Volume Name: vol_dr1
Type: Distributed-Replicate
Volume ID: 21e6625f-cf1f-4872-a989-84b3c51ecbf5
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: gfs1.yht.edu:/yht/dr1
Brick2: gfs3.yht.edu:/yht/dr1
Brick3: gfs4.yht.edu:/yht/dr1
Brick4: gfs2.yht.edu:/yht/dr1
Options Reconfigured:
transport.address-family: inet
performance.readdir-ahead: on
nfs.disable: on
客户端测试
#mkdir -pv /gfs/dr1
#mount -t glusterfs gfs1:/vol_dr1 /gfs/dr
#df -hT
实验结果:不影响实验,只是分片方式是按照相邻的两个来分片。分片存储在S1、S4,复制在S3、S2。
服务端不同的文件系统对客户端的没有影响