Centos7下glusterfs分布式存储集群安装与使用
Centos7下glusterfs分布式存储集群安装与使用
glusterfs是一个开源分布式文件系统,具有强大的横向扩展能力,可支持数pb存储容量和数千客户端,通过网络互联成一个并行的网络文件系统,具有可扩展性、高性能、高可用等特点
1.安装规划
主机 | 操作系统 | IP |
---|---|---|
glusterfsserver-1 | Centos7.6 | 192.168.56.101 |
glusterfsserver-2 | Centos7.6 | 192.168.56.102 |
glusterfsserver-3 | Centos7.6 | 192.168.56.103 |
glusterfs-client | Centos7.6 | 192.168.56.104 |
2.服务安装部署(glusterfsserver-1,glusterfsserver-2,glusterfsserver-3都执行)
安装:
##安装
yum -y install centos-release-gluster
yum -y install glusterfs-server
启动:
##启动
systemctl start glusterd.service
systemctl enable glusterd.service
systemctl status glusterd.service
glusterfsd --version
加入集群
##加入集群,如在192.168.56.101加入除101之外的另两台机器
gluster peer probe 192.168.56.102
gluster peer probe 192.168.56.103
gluster peer status
##格式化磁盘并挂载(三台机器都执行):
##格式化磁盘并挂载(三台机器都执行)
##(三台服务器需要准备独立的数据盘,并执行格式分,这里我准备的是/dev/sdb,8G空间,用于测试)
fdisk -l
mkfs.xfs -i size=512 /dev/sdb(#如果是新盘使用此命令)
mkfs.xfs -i size=512 /dev/sdb -f(#如果有数据,使用-f强制格式化)
blkid
mkdir -p /gluster/sdb/gv0
##通过blkid找到对应的uuid并执行如下(每台机上的/dev/sdb的uuid会不同)
cat >> /etc/fstab << EOF
UUID=0aa61fea-54c7-46f5-a986-06cc996f5bc2 /gluster/sdb xfs defaults 0 0
EOF
或
echo "/dev/sdb /gluster/sdb xfs defaults 0 0" >> /etc/fstab
##让挂载生效
mount -a
创建分卷(任意一台机器执行):
##创建分卷(任意一台机器执行)
##创建
复制卷,需要指定replica参数,浪费空间,但是高可用:
gluster volume create gv0 replica 3 192.168.56.101:/gluster/sdb/gv0 192.168.56.102:/gluster/sdb/gv0 192.168.56.103:/gluster/sdb/gv0
如果创建普通卷则不需要指定:replica 3 ,省空间,但只有一份数据
gluster volume create gv0 192.168.56.101:/gluster/sdb/gv0 192.168.56.102:/gluster/sdb/gv0 192.168.56.103:/gluster/sdb/gv0
##启动
gluster volume start gv0
##查看信息
gluster volume info
3.客户端部署(glusterfs-client主机192.168.56.104上)
####
yum -y install glusterfs-client
mkdir -p /data/glusterfstest
##任选一个节点进行手工挂载测试,重启后会消失
mount -t glusterfs 192.168.56.101:/gv0 /data/glusterfstest
####自动挂载
cat >> /etc/fstab << EOF
192.168.56.101:/gv0 /data/glusterfstest glusterfs defaults,_netdev 0 0
EOF
####测试
mkdir -p /data/glusterfstest/liutest
4.其他维护(扩缩容等)
####删除卷
##先停卡卷
gluster volume stop gv0
##进行卷删除操作
gluster volume delete gv0
注意:删除卷后,需要将相应的文件夹也删除,否则重新创建gv0卷时会提示failed: /gluster/sdb/gv0 is already part of a volume
移除卷和移除节点:
##先将数据迁移到其它可用的Brick,迁移结束后才将该Brick移除:
gluster volume remove-brick gv0 192.168.56.103:/gluster/sdb/gv0 start
##在执行了start之后,可以使用status命令查看移除进度:
gluster volume remove-brick gv0 192.168.56.103:/gluster/sdb/gv0 status
##移除卷
gluster volume remove-brick gv0 192.168.56.103:/gluster/sdb/gv0 commit
##移除卷成功后,可以移除节点(移除节点时,需要提前将该节点上的Brick移除。)
gluster peer detach 192.168.56.103
扩容卷和扩容节点:
##扩容节点
gluster peer probe 192.168.56.105
##扩容节点后,再扩容卷命令如下
gluster volume add-brick gv0 192.168.56.105:/gluster/sdb/gv0
本文部分内容考考了此文:
http://www.weijingbiji.com/1310/