glusterfs分布式文件系统

第一:安装依赖包:

yum install libibverbs librdmacm xfsprogs nfs-utils rpcbind libaio liblvm2app  lvm2-devel  libevent-devel  nfs-utils-lib-devel tcl-devel libsysfs-devel  userspace-rcu  atop  iozone  fio iperf

 

安装gluserfs server 和 client

yum install glusterfs glusterfs-server  glusterfs-fuse

# yum install glusterfs-3.7.9-12 glusterfs-server-3.7.8-1.el7.x86_64

yum -y install glusterfs glusterfs-client

8.组建集群

/etc/init.d/glusterd start

chkconfig glusterd on

登陆服务器server1,执行命令

[root@server1 yum.repos.d]# gluster peer probe server2

[root@server1 yum.repos.d]# gluster peer probe server3

 

使用 gluster peer status 查看状态

 

 

 

9.创建卷

1.确定创建卷的类型

2.去创建卷的brick列表

3.确定创建卷的网络类型(TCP/RDMA)

4.gluster volume create 创建复制卷,至少2台主机

卷里使用2台主机

gluster volume create testvol replica 3  server1:/brick1/images  server2:/brick1/images 

 

 

#分布式复制glusterfs卷,至少4台主机

#gluster volume create fengvol replica 2 transport tcp  judge1:/data/feng judge2:/data/feng graph1:/data/feng graph2:/data/feng force

 

查看volume 卷信息

 

 

 

为硬盘访问设置权限:

Gluster volume set  testVol  auth.allow  172.16.1.*

 

启动创建的卷

gluster  volume start   testVol

 

查看卷的扩展属性

getfattr -d -m . -e hex  /brick1/images

 

 

客户端挂载

mount  -t glusterfs  glusterfs1:/testvol    /data

 

cat /etc/fstab

glusterfs1:/testvol     /data       glusterfs   defaults  0   0

 

 

# 设置 cache 大小, 默认32MB
$ gluster volume set testvol performance.cache-size 4GB

# 设置 io 线程, 太大会导致进程崩溃
$ gluster volume set testvol performance.io-thread-count 16

# 设置 网络检测时间, 默认42s
$ gluster volume set testvol network.ping-timeout 10

# 设置 写缓冲区的大小, 默认1M
$ gluster volume set testvol performance.write-behind-window-size 1024MB

 

 

 

查看卷

Gluster volume info

删除卷

gluster volume stop testvol

gluster volume delete testvol

将机器移出集群

gluster peer detach 172.28.26.102

只允许172.28.0.0的网络访问glusterfs

gluster volume set testvol auth.allow 172.28.26.*

 

 

 

 

加入新的机器并添加到卷里(由于副本数设置为2,至少要添加2(4、6、8..)台机器)

gluster peer probe 172.28.26.105

gluster peer probe 172.28.26.106

gluster volume add-brick testvol 172.28.26.105:/data/gluster 172.28.26.106:/data/gluster

 

 

收缩卷

# 收缩卷前gluster需要先移动数据到其他位置

gluster volume remove-brick testvol 172.28.26.101:/data/gluster/testvol 172.28.26.102:/data/gluster/testvol start

# 查看迁移状态

gluster volume remove-brick testvol 172.28.26.101:/data/gluster/testvol 172.28.26.102:/data/gluster/testvol status

# 迁移完成后提交

gluster volume remove-brick testvol 172.28.26.101:/data/gluster/testvol 172.28.26.102:/data/gluster/testvol commit

迁移卷

# 将172.28.26.101的数据迁移到,先将172.28.26.107加入集群

gluster peer probe 172.28.26.107

gluster volume replace-brick testvol 172.28.26.101:/data/gluster/testvol 172.28.26.107:/data/gluster/testvol start

# 查看迁移状态gluster volume replace-brick testvol 172.28.26.101:/data/gluster/testvol 172.28.26.107:/data/gluster/testvol status

# 数据迁移完毕后提交gluster volume replace-brick testvol 172.28.26.101:/data/gluster/testvol   172.28.26.107:/data/gluster/testvol   commit

# 如果机器172.28.26.101出现故障已经不能运行,执行强制提交然后要求gluster马上执行一次同步

gluster volume replace-brick testvol   172.28.26.101:/data/gluster/testvol   172.28.26.102:/data/gluster/testvol   commit -force

gluster volume heal testvol  s full

 

 

移除集群 gluster peer detach server3

posted @ 2017-07-12 14:07  fengjian1585  阅读(369)  评论(0编辑  收藏  举报