GlusterFS

-------------------------实现GFSAFRReplication复制)-----------------------------------------------------

 

 

 

 

网络结构一样,信息与实验不符:

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[S1S2分别建立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复制实验结果:在客户端挂载目录里写文件和目录,S1S2服务器都存储,AFR相当于RAID1,同一文件在多个存储节点上保留多份。

 

 

 

 

 

 

-----------------------------实现GFSStripe(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[S1S2分别建立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条带实验结果:S1S2都显示存储,区别在于小于128K的文件,但是其中一个是空文件;大于128K,是按照其中一个brick存储满128K后,由另一个brick存储,Stripe相当于RAID0,即分片存储,文件被划分成固定长度的数据分片以Round-Robin轮转方式存储在所有存储节点。分片卷将单个文件分成小块(块大小支持配置,默认为128K),然后将小块存储在不同的brick上,以提升文件的访问性能。

 

 

 

 

 

----------------------------------实现GFSDist+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.新增S3S4

2.下载yum源到客户端[确保客户端ping192.168.2.250]

wget http://192.168.2.250/conf2repos/glusterfs38.txt

wget http://192.168.2.250/conf2repos/glusterfs.txt

2.glusterfs.txtglusterfs38.txt文件进行改名修改

#mv glusterfs.txt glusterfs.repo并修改文件enabled=1gpgcheck=0

#mv glusterfs38.txt glusterfs38.repo并修改文件enabled=1gpgcheck=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

 

编辑S1S2S3S4hosts文件

#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

 

以下操作在一个服务器中完成即可:

gfs3gfs4加入至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)实验结果:在客户端建立的文件随机存储在S1S3,复制在S2S4上,13做条带,24做复制。数据将进行切片,切片在复本卷内进行复制,在不同卷间进行分布。exp1和exp2组成复本卷,exp3和exp4组成复本卷,两个复本卷组成分片卷。

 

 

 

 

 ------------------------------------------------实现GFSStripe+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

实验结果:不影响实验,只是分片方式是按照相邻的两个来分片。分片存储在S1S4,复制在S3S2

 

服务端不同的文件系统对客户端的没有影响

posted @ 2019-09-16 15:55  yanghaitao  阅读(478)  评论(0编辑  收藏  举报