GlusterFS-7.5.0搭建
目录
3.1 配置阿里云,购买三个磁盘,分别选择一个磁盘挂载到其中一台服务器上 2
参考文档
下载地址
https://www.gluster.org/install/
官方快速入门安装文档
https://wiki.centos.org/SpecialInterestGroup/Storage/gluster-Quickstart
官方详细文档
https://docs.gluster.org/en/latest/CLI-Reference/cli-main/
环境
系统 | 内核 | GlusterFS | 配置 |
CentOS Linux release 7.7.1908 (Core) | 3.10.0-1062.18.1.el7.x86_64 | 7.5 | 1核1G |
本次为两台
glusterfs-01 | 172.26.103.110 | 1核1G |
glusterfs-02 | 172.26.103.111 | 1核1G |
glusterfs-03 | 172.26.103.112 | 1核1G |
安装glusterfs集群
安装前提是每个服务器要有两个磁盘
一个磁盘用于OS安装(sda),另一个磁盘用于GlusterFS存储数据(sdb)
配置阿里云,购买三个磁盘,分别选择一个磁盘挂载到其中一台服务器上
磁盘最好单独购买,这样可以随便卸载和挂载到其他主机 (按量)
随主机一起购买的磁盘无法挂载到其他服务器 (包月)
查看当前挂载到服务器的磁盘是否正常
fdisk -l
格式化磁盘
mkfs.xfs -i size=512 /dev/vdb
创建磁盘挂载目录
mkdir -p /bricks/brick1
添加磁盘到开机启动中(不要写到/etc/fstab,如果这块盘丢失了,服务器是无法启动的)
echo 'mount /dev/vdb /bricks/brick1/' >>/etc/rc.local
两台一起操作,分别安装存储库
yum install centos-release-gluster
安装glusterfs-server
yum install glusterfs-server -y
echo 'glusterfs-01' >/etc/hostname
echo 'glusterfs-02' >/etc/hostname
echo 'glusterfs-03' >/etc/hostname
gluster peer probe glusterfs-02
gluster peer probe glusterfs-03
分布式卷将文件分布在卷中的块之间。如果要求扩展存储,并且冗余不重要或由其他硬件/软件层提供,则可以使用分布式卷,方便扩展存储大小,无冗余
复制卷跨卷中的块复制文件。您可以在高可用性和高可靠性至关重要的环境中使用复制卷。
分布式复制卷跨卷中的复制块分发文件。在需要扩展存储且高可靠性至关重要的环境中,您可以使用分布式复制卷。在大多数环境中,分布式复制卷还可以提高读取性能
分布式分散卷将文件分布在分散的子卷中。这与分布式复制卷具有相同的优势,但是使用分散将数据存储到块中
创建复制卷:(Type: Replicate)仲裁器卷是副本3卷,节点数应是奇数,避免脑裂发生
带有两个镜像的四节点分布式(复制)卷:注意:磁盘只可以同时宕13 24 不可以同时宕12 34
创建分散卷:() 分散的容量基于擦除代码。它跨卷中的多个块对文件的编码数据进行条带化,并添加了一些冗余。您可以使用分散的卷以最低的空间浪费获得可配置的可靠性
gluster volume create gv3 disperse 3 glusterfs-0{1..3}:/bricks/brick1/gv3
创建分布式分散卷: () 分布式分散卷等效于分布式复制卷,但是使用分散子卷而不是复制子卷
在命令行中指定的块数必须是分散计数的倍数,冗余与分散卷中的冗余完全相同, 分散计数disperse必须大于2不能等于2, 块数必须是分散计数的倍数,所以至少需要6块盘
gluster volume create gv4 disperse 3 glusterfs-0{1..6}:/bricks/brick1/gv4
Volume ID: 542ed25f-fca5-4303-9eef-ebd72d0f3d16
Brick1: glusterfs-01:/bricks/brick1/gv0
Brick2: glusterfs-02:/bricks/brick1/gv0
Brick3: glusterfs-03:/bricks/brick1/gv0
transport.address-family: inet
storage.fips-mode-rchecksum: on
performance.client-io-threads: off
这个要提到的就是Status。状态为Created 表示已创建该卷,但尚未启动该卷,这将导致任何尝试装入该卷的尝试均失败
yum install centos-release-gluster
yum install glusterfs-server -y
mount -t glusterfs glusterfs-01:/gv0 /mnt/gv0
https://docs.gluster.org/en/latest/CLI-Reference/cli-main/
https://docs.gluster.org/en/latest/Administrator%20Guide/Managing%20Volumes/
gluster peer status #查看所有节点状态
gluster pool list #列出所有节点
gluster peer probe 主机名 #添加一个节点到集群
gluster peer detach 主机名 #从集群删除一个节点,删除的节点要保证无承载卷
gluster volume list #查看卷列表
gluster volume info #查看所有卷的信息
gluster volume status #查看所有卷的状态
gluster volume start 卷名 #启动一个卷
gluster volume stop 卷名 #停止一个卷
gluster volume delete 卷名 #删除卷
gluster volume add-brick gv0 glusterfs-04:/bricks/brick1/gv0 #给一个已经存在的卷增加额外的节点
gluster volume rebalance 卷名 fix-layout start #给卷添加节点后新创建的文件仍将仅在原始块之间分发,需要执行此命令重新平衡布局
gluster volume rebalance 卷名 start #修复布局重新平衡只会修复布局更改,而不会迁移数据。如果要迁移现有数据,需要执行此命令在服务器之间重新平衡数据
gluster volume rebalance 卷名 status #显示重新平衡操作的状态
gluster volume rebalance 卷名 stop #停止重新平衡
收缩卷
gluster volume remove-brick gv0 server3:/data/brick1/gv0 server4:/data/brick1/gv0 start
gluster volume remove-brick gv0 server3:/data/brick1/gv0 server4:/data/brick1/gv0 status
如果显示完成了,那么执行执行remove-brick commit操作
gluster volume remove-brick gv0 server3:/data/brick1/gv0 server4:/data/brick1/gv0 commit