GlusterFS install
格式化磁盘
1
2
3
4
5
6* 通过LVM 创建磁盘
* 通过mkfs.xfs 格式化磁盘
mkfs.xfs -i size=512 /dev/sdb
mkdir -p /data/brick
echo '/dev/sdb /data/brick xfs defaults 1 2' |tee -a /etc/fstab
mount -aGlusterFS基础依赖包安装
1
[root@10 app]# yum -y install xfsprogs fuse fuse-libs
GlusterFS yum源
1
2
3
4
5
6
7[root@10 app]# wget -O /etc/yum.repo.d/glusterfs.repo http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/gluster-epel.repo
[root@10 app]# yum makecache
or:
[root@10 app]# wget -O /etc/yum.repo.d/glusterfs.repo http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/gluster-epel.repo
[root@10 app]# sed -in 's/LATEST/3.7.14/g' /etc/yum.repos.d/glusterfs-epel.repo
[root@10 app]# sed -in 's/EPEL.repo/CentOS/g' /etc/yum.repos.d/glusterfs-epel.repo
[root@10 app]# yum makecacheGlusterFS 安装
1
[root@10 app]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-geo-replication
GlusterFS 启动
1
2[root@10 app]# systemctl start glusterd
[root@10 app]# systemctl enable glusterdGlusterFS 设置可信任存储池
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15//在server1上执行:
[root@10 app]# gluster peer probe 192.168.1.12
//在server2上执行:
[root@10 app]# gluster peer probe 192.168.1.11
//查看存储池状态:
[root@10 app]# gluster peer status
//从存储池中移除节点
[root@10 app]# gluster peer detach 192.168.1.12
注意:
* 一旦设置了可信的存储池,就会仅允许存储池中的被信任的节点主动发现其它的新节点,并将其加入到池中.而一个独立的新节点,是不被允许自行加入可信存储池中的.
* GlusterFS对于每个节点都会生成一个UUID来标识,因此如果节点的IP或主机名发生了变化,只需要重新执行peer probe即可.不过如果一个主机名曾经用过,想再改回去,则gluster会提示已经保存过.此时只能把节点detach掉,然后重新probe.GlusterFS 创建 一个GlusterFS卷
1
2
3
4
5
6GlusterFS卷共有三基本类型:
* Distributed(分布存储)
* Striped(将一个文件分成多个固定长度的数据,分布存放在所有存储块,相当于RAID0)
* Replicated(镜像存储,相当于RAID1)
基于striped和replicated,结合使用distributed后,又可以扩展出分布式分片存储卷和分布式镜像存储卷两种新的类型.而后两种扩展类型并没有新的命令格式,仅是通过设置数据冗余份数和添加进逻辑卷的bricks数量来动态定义的.1
2
3
4
5//创建一个GlusterFS Replicated卷
[root@10 app]# gluster volume create gv0 replica 2 192.168.1.11:/data/brick/gv0 192.168.1.12:/data/brick/gv0 force
[root@10 app]# gluster volume start gv0
[root@10 app]# gluster volume info1
2
3
4
5//创建一个GlusterFS Striped逻辑卷(创建一个名字为gv1,包含两个存储块,使用TCP协议的Striped逻辑卷)
[root@10 app]# gluster volume create gv1 stripe 2 transport tcp 192.168.1.11:/data 192.168.1.12:/data
[root@10 app]# gluster volume start gv1
[root@10 app]# gluster volume info1
2
3
4
5//创建一个GlusterFS Distributed逻辑卷
[root@10 app]# gluster volume create gv2 192.168.1.11:/data 192.168.1.12:/data
[root@10 app]# gluster volume start gv2
[root@10 app]# gluster volume info1
2
3//停止和删除逻辑卷
[root@10 app]# gluster volume stop gv0
[root@10 app]# gluster volume delete gv01
2
3
4
5
6
7//与存储块brick相关的逻辑卷管理(在gv0卷中增加一个存储块192.168.1.13:/data)
[root@10 app]# gluster volume add-brick gv0 192.168.1.13:/data
[root@10 app]# gluster volume rebalance gv0 start
//删除Brick
[root@10 app]# gluster volume remove-brick gv0 192.168.1.13:/data
[root@10 app]# gluster volume rebalance gv0 startGlusterFS 设置卷参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21//设置服务器仲裁
[root@10 app]# gluster volume set volume1 cluster.server-quorum-type server
[root@10 app]# gluster volume set all cluster.server-quorum-ratio 50%
//配置允许的链接的client
[root@10 app]# gluster volume set volume1 auth.allow 192.168.1.12,192.168.1.13
//操作超时
[root@10 app]# gluster volume set volume1 network.frame-timeout 1800
//网络超时超时
[root@10 app]# gluster volume set volume1 network.ping-timeout 10
//IO线程
[root@10 app]# gluster volume set volume1 performance.io-thread-count 32
//IO缓存,注意此配置需要客户端提供不低于此内存的配置
[root@10 app]# gluster volume set data performance.cache-size 200MB
//禁用nfs
[root@10 app]# gluster volume set data nfs.disable onGlusterFS 客户端连接
1
2
3
4
5
6[root@10 app]# yum install -y glusterfs-fuse
[root@10 app]# mkdir /volume1
[root@10 app]# mount –t glusterfs 192.168.1.11:/volume1 /volume1
or:
[root@10 app]# echo "192.168.13.1:/data /mnt/glusterfs glusterfs defaults 0 0" |tee -a /etc/fstab
[root@10 app]# mount -a