GlusterFs分布式存储安装、使用、扩容、缩容

在工作中,项目部署用到了K8s。因而用到了分布式文件存储Glusterfs。

概念
Glusterfs支持了众多的模式,复制券模式(Replicated)、分布式券(Dispersed) 等。

Replicated 模式的用于在將同一份资料同時存到两个不同的 Brick,这样可以在其中一個 Brick 损坏时资料仍然可以正常存取。

在这里插入图片描述
同一份文件存储在不同的券上。

Dispersed Volume 使用 Erasure Code 保护资料的完整性,當资料写入Volume 后,会被拆解成指定数量的份数,而每一份包含有资料检查码来确保资料的完整。

在这里插入图片描述
同一份文件会被分解成相同的份数保存在节点上。

  1. 安装GlusterFs
  2. 增加Volume
  3. 扩容
  4. 缩容

安装GlusterFs
Debian10 buster,其他系统请参考官网版本
1、硬盘分区与挂载

	fdisk -l #查看硬盘信息
	fdisk /dev/sdb
	Command (m for help): n
		  p primary (0 primary, 0 extended, 4 free)
		  use default options
		  ...
	Command (m for help): w
		  The partition table has been altered.
		  Calling ioctl() to re-read partition table.

2、格式化和挂载

	apt install -y xfsprogs
	mkfs.xfs -i size=512 /dev/sdb1
	mkdir -p /data/brick1
	echo '/dev/sdb1 /data/brick1 xfs defaults 1 2' >> /etc/fstab
	mount -a
	mount

3、安装 Gluster lasted

	apt-get -y install \
	apt-transport-https \
	ca-certificates \
	curl \
	gnupg2 \
	software-properties-common
	wget -O - https://download.gluster.org/pub/gluster/glusterfs/7/rsa.pub | apt-key add -
	echo deb [arch=amd64] https://download.gluster.org/pub/gluster/glusterfs/7/LATEST/Debian/buster/amd64/apt buster main > /etc/apt/sources.list.d/gluster.list
	apt-get update
	apt-get install glusterfs-server

4、启动服务、配置信任池

	service glusterd start
	service glusterd status

服务已经启动

	gluster peer probe Ip2
	gluster peer probe Ip3

5、检查节点是否挂载

	gluster peer status

6、设置磁盘卷

	mkdir -p /data/brick1/gv0 #每个节点执行

7、创建volume,任意节点执行

    #创建分布式券 冗余为1,模式为 Dispersed 1*(2+1)=3
    #可用容量为 brickSize*(brickNumer-redundancy)
	gluster volume create gv0 disperse 3 server1:/data/brick1/gv0 server2:/data/brick1/gv0 server3:/data/brick1/gv0
	#启动volume
	gluster volume start gv0
	#挂载磁盘卷
	mount -t glusterfs server1:/gv0 /mnt

在这里插入图片描述

扩容:

gluster v add-brick gv0 server1:/data/brick1/gv0 server2:/data/brick1/gv0 server3:/data/brick1/gv0
#扩容后,使用rebalance 重新计算和分配资源文件
gluster volume rebalance gv0 start

在这里插入图片描述
扩容计算可用容量公式为:

brickSize1(brickNumer1-redundancy1) + brickSize2(brickNumer2-redundancy2)**

缩容:

gluster v remove-brick gv0 server1:/data/brick1/gv0 server2:/data/brick1/gv0 server3:/data/brick1/gv0 start
#查看缩容后重新计算资源文件的进度状态 
gluster v remove-brick gv0 status 

在这里插入图片描述
在这里插入图片描述

#等status状态都变成已完成后进行提交改变
gluster volume remove-brick <volname> <brick> commit

在这里插入图片描述
此时会发现brick节点的文件大小发生了改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值