GlusterFS分布式文件系统的使用

glusterfs是一个开源的分布式文件系统。

Glusterfs通过TCP/IP或InfiniBand RDMA网络链接将客户端的存储资块源聚集在一起,使用单一的全局命名空间来管理数据,磁盘和内存资源.

主要特性:扩展性和高性能,高可用,全局统一命名空间

安装

# yum install centos-release-gluster -y

服务器端:

# yum install glusterfs-server -y
客户端:
# yum install glusterfs-client -y

# yum install glusterfs-fuse -y

1 服务器节点
# gluster peer status                          //查看所有节点信息,显示时不包括本节点
# gluster peer probe   NODE-NAME //添加节点
# gluster peer detach  NODE-NAME //移除节点
2 glusterd服务
/etc/init.d/glusterd start |stop |status   
 
3.卷管理
 
创建卷(在任一节点执行)
<1>复制卷
 gluster volume create VOLNAME [replica COUNT] [transport tcp | rdma | tcp, rdma] BRICK...
示例1:gluster volume create testvol replica 2  server1:/exp1/brick  server2:/exp2/brick
<2>条带卷
gluster volume create VOLNAME [stripe COUNT] [transport tcp | rdma | tcp, rdma] BRICK...
示例:gluster volume create testvol stripe 2  server1:/exp1/brick  server2:/exp2/brick
<3>分布式卷
 gluster volume create VOLNAME [transport tcp | rdma | tcp, rdma] BRICK
示例:gluster volume create testvol  server1:/exp1/brick  server2:/exp2/brick
<4>分布式复制卷
 gluster volume create VOLNAME [replica COUNT] [transport tcp | rdma | tcp, rdma] BRICK...
示例: gluster volume create testvol replica 2  server1:/exp1/brick  server2:/exp2/brick  server3:/exp3/brick  server4:/exp4/brick
<5>分布式条带卷
gluster volume create VOLNAME [stripe COUNT] [transport tcp | rdma | tcp, rdma] BRICK...
示例:gluster volume create testvol stripe 2  server1:/exp1/brick  server2:/exp2/brick  server3:/exp3/brick  server4:/exp4/brick
<6>条带复制卷
gluster volume create VOLNAME [stripe COUNT] [replica COUNT] [transport tcp | rdma | tcp, rdma] BRICK...
示例:gluster volume create testvol stripe 2 replica 2 transport tcp  server1:/exp1/brick  server2:/exp2/brick server3:/exp3/brick  server4:/exp4/brick
 
启动|停止卷
#gluster volume start|stop test-volume
删除卷
#gluster volume delete test-volume  //先停止卷后才能删除
查看卷
# gluster volume list              /*列出集群中的所有卷*/
# gluster volume info [all]      /*查看集群中的卷信息*/
# gluster volume status [all]   /*查看集群中的卷状态*/
# gluster volume status  [detail| clients | mem | inode | fd] 
配置卷
# gluster volume set <VOLNAME> <OPTION> <PARAMETER>
 
扩展卷
# gluster volume add-brick <VOLNAME> <NEW-BRICK>
注意,如果是复制卷或者条带卷,则每次添加的Brick数必须是replica或者stripe的整数倍。
 
收缩卷
格式:volume remove-brick <VOLNAME> [replica <COUNT>] <BRICK> ... <start|stop|status|commit|force>
示例:# gluster volume remove-brick testvol  server1:/data/brick/brick01 start
使用start是先将数据迁移到其它可用的Brick,迁移结束后才将该Brick移除
使用commit命令执行Brick移除,则不会进行数据迁移而直接删除Brick
 
迁移卷 (主要完成数据在卷之间的在线迁移)
volume replace-brick <VOLNAME> <SOURCE-BRICK> <NEW-BRICK> {commit force}
实例:gluster volume replace-brick testvol  server2:/data/brick/brick02  server2:/data/brick/brick01 commit force
 
重新均衡卷
不迁移数据: 
# gluster volume rebalance  lay-outstart 
# gluster volume rebalance  start|stop|status
# gluster volume rebalance  startforce 
 
 
客户端挂载卷
mount -t glusterfs 192.168.1.28:/testvol /mnt/
mount -t glusterfs  res03, res04,res05,res06:/backup  /ubox/backup
 
异常信息:volume add-brick: failed: /data/brick/brick01 is already part of a volume
说明/data/brick/brick01 曾经是一个Brick。解决方法:
# rm -rf /data/brick/brick01.glusterfs
# setfattr -x trusted.glusterfs.volume-id /data/brick/brick01
# setfattr -x trusted.gfid  /data/brick/brick01

猜你喜欢

转载自www.cnblogs.com/xiaobaozi-95/p/10430952.html