1、环境介绍
系统 |
服务 |
IP |
Centos6.5 |
glusterfs01 |
10.10.3.3 |
Centos6.5 |
glusterfs02 |
10.10.3.4 |
2、环境准备
1、检查fuse是否安装
[root@uat2-app-01 software]# modprobe -l|grep fuse kernel/fs/fuse/fuse.ko kernel/fs/fuse/cuse.ko |
2、安装依赖包
[root@uat2-app-01 software]# yum install gcc gcc-c++ -y [root@uat2-app-01 software]# yum install flex bison openssl openssl-devel libxml2 libxml2-devel -y |
3、安装Glusterfs
上传安装包到服务器后进行安装
[root@uat2-app-01 software]# tar -zxvf /home/software/glusterfs-3.6.0.tar.gz [root@uat2-app-01 software]# cd /home/software/glusterfs-3.6.0 [root@uat2-app-01 software]# ./configure --prefix=/usr/local/glusterfs && make && make install [root@uat2-app-01 software]# ln -s /usr/local/glusterfs/sbin/gluster /usr/bin/gluster [root@uat2-app-01 software]# ln -s /usr/local/glusterfs/sbin/glusterfs /usr/bin/glusterfs [root@uat2-app-01 software]# glusterfs --version [root@uat2-app-01 software]# gluster –version [root@uat2-app-01 software]# chkconfig --add glusterd [root@uat2-app-01 software]# gluster --version [root@uat2-app-01 software]# /usr/local/glusterfs/sbin/glusterd & |
4、配置Glusterfs
[root@uat2-app-01 software]# gluster peer probe 10.10.3.4 #添加节点 [root@prd-app-gfs-01 ~]# gluster peer status #查看节点状态 [root@prd-app-gfs-01 ~]# lvcreate -L 512000M -n lv_bshfq VolGroup #创建逻辑卷 [root@prd-app-gfs-01 ~]# mkfs.ext4 /dev/VolGroup/lv_hshfq [root@prd-app-gfs-01 ~]# mount /dev/mapper/VolGroup-lv_bshfq /bshfq [root@prd-app-gfs-01 ~]# gluster volume create bshfq replica 2 10.10.3.{3,4}:/bshfq/brick1 [root@prd-app-gfs-01 ~]# gluster volume start bshfq |
5、客户端挂载
[root@prd-dmz-sftp-01 ~]# yum install glusterfs glusterfs-fuse -y [root@prd-dmz-sftp-01 ~]# mount -t glusterfs 10.10.3.3:/b2bdz /home/duizhang |
6、关闭单个节点
[root@prd-app-gfs-01 ~]# gluster volume stop bsspdf |
7、扩容卷
1、新增节点,节点必须是复制卷或者条形卷的倍数,这里采用复制卷,所以添加两个节点
[root@prd-app-gfs-01 ~]# gluster peer probe 172.16.1.143 [root@prd-app-gfs-01 ~]# gluster peer probe 172.16.1.144 |
2、扩容卷
[root@prd-app-gfs-01 ~]# gluster volume add-brick bsmedia 172.16.1.{143,144}:/home/glusterdata/bsmedia |
3、查看卷列表(可以不操作)
[root@prd-app-gfs-01 ~]# gluster volume list |
4、查看所有卷信息(可以不操作)
[root@prd-app-gfs-01 ~]# gluster volume info all |
5、查看所有卷状态(可以不操作)
[root@prd-app-gfs-01 ~]# gluster volume status all |
6、均衡卷(可以不操作)
[root@prd-app-gfs-01 ~]# gluster volume rebalance bsmedia fix-layout start |
8、缩小卷
1、停止卷
[root@prd-app-gfs-01 ~]# gluster volume stop bsmedia |
2、迁移数据后缩小卷
[root@prd-app-gfs-01 ~]# gluster volume remove-brick bsmedia replica 2 172.16.1.{143,144}:/home/glusterdata/bsmedia start |
3、迁移数据后缩小卷状态
[root@prd-app-gfs-01 ~]# gluster volume remove-brick bsmedia replica 2 172.16.1.{143,144}:/home/glusterdata/bsmedia status |
3、缩小卷
[root@prd-app-gfs-01 ~]# gluster volume remove-brick bsmedia replica 2 172.16.1.{143,144}:/home/glusterdata/bsmedia force |
4、减少节点
[root@prd-app-gfs-01 ~]# gluster peer detach 172.16.1.143 [root@prd-app-gfs-01 ~]# gluster peer detach 172.16.1.144 |
9、测试
# 注意我们不要在服务器上添加内容,这样会导致内容紊乱,应该直接在挂载点添加内容
问题:
之前已经创建了一个replicated的volume gv0,replica=2,两个目录为:/test/data1和/test/data2,之后发现这两个目录不太合适,想在/test/data1/gfs和/test/data2/gfs上重新做一个volume,于是将gv0删除,但是在新建volume时出现:
/test/data1/gfs or a prefix of it is already part of a volume的问题
经过Google发现以下解决方法:
1. 在/test/data1和/test/data2目录中删除".glusterfs"的目录
2. setfattr -x trusted.glusterfs.volume-id /home/glusterdata
3. setfattr -x trusted.gfid /home/glusterdata
4. setfattr -x trusted.glusterfs.volume-id /home/glusterdata
5. setfattr -x trusted.gfid /test/data2
执行以上五个操作后,重新建立volume成功,问题解决。