目录
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 |
?
?
安装前提是每个服务器要有两个磁盘
一个磁盘用于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
yum install glusterfs-server -y
systemctl start glusterd
?
hostname glusterfs-01
hostname glusterfs-02
hostname glusterfs-03
echo ‘glusterfs-01‘ >/etc/hostname
echo ‘glusterfs-02‘ >/etc/hostname
echo ‘glusterfs-03‘ >/etc/hostname
?
vim /etc/hosts
172.26.103.110 glusterfs-01
172.26.103.111 glusterfs-02
172.26.103.112 glusterfs-03
?
任意一台服务器执行即可,他们会互认
glusterfs-01 服务器上执行:
gluster peer probe glusterfs-02
gluster peer probe glusterfs-03
?
分布式卷将文件分布在卷中的块之间。如果要求扩展存储,并且冗余不重要或由其他硬件/软件层提供,则可以使用分布式卷,方便扩展存储大小,无冗余
?
复制卷跨卷中的块复制文件。您可以在高可用性和高可靠性至关重要的环境中使用复制卷。
如果同一对等体上存在多个副本集的砖,则GlusterFS将无法创建复制卷。例如。一个四节点复制卷,其中同一对等体上存在一个副本集的一个以上的砖。如果仍要使用此配置创建卷,请在命令末尾使用该选项force
分布式复制卷跨卷中的复制块分发文件。在需要扩展存储且高可靠性至关重要的环境中,您可以使用分布式复制卷。在大多数环境中,分布式复制卷还可以提高读取性能
分散—分散的卷基于擦除代码,针对磁盘或服务器故障提供节省空间的保护。它将原始文件的编码片段存储到每个块中,只需要片段的一个子集来恢复原始文件。在不丢失数据的情况下可以丢失的块的数量由管理员在卷创建时配置。
分布式分散卷将文件分布在分散的子卷中。这与分布式复制卷具有相同的优势,但是使用分散将数据存储到块中
?
创建分布式卷:(Type: Distribute)
gluster volume create gv1 glusterfs-01:/bricks/brick1/gv1 glusterfs-02:/bricks/brick1/gv1 glusterfs-03:/bricks/brick1/gv1
?
创建复制卷:(Type: Replicate)仲裁器卷是副本3卷,节点数应是奇数,避免脑裂发生
gluster volume create gv0 replica 3 glusterfs-01:/bricks/brick1/gv0 glusterfs-02:/bricks/brick1/gv0 glusterfs-03:/bricks/brick1/gv0
?
创建分布式复制卷:()相当于raid10,注意:块数应为分布式复制卷的副本数的倍数。同样,指定块的顺序对数据保护也有很大的影响。您提供的列表中的每个copy_count个连续的砖块都将形成一个副本集,所有副本集都组合成一个卷范围的分发集。为确保副本集成员没有放置在同一节点上,请以相同顺序列出每个服务器上的第一个砖块,然后列出每个服务器上的第二个砖块,依此类推
带有两个镜像的四节点分布式(复制)卷:注意:磁盘只可以同时宕13 24 不可以同时宕12 34
gluster volume create gv2 replica 2 transport tcp glusterfs-01:/bricks/brick1/gv2 glusterfs-02:/bricks/brick1/gv2 glusterfs-03:/bricks/brick1/gv2 glusterfs-04:/bricks/brick1/gv2
要创建带有双向镜像的六节点分布式(复制)卷
gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6
?
创建分散卷:() 分散的容量基于擦除代码。它跨卷中的多个块对文件的编码数据进行条带化,并添加了一些冗余。您可以使用分散的卷以最低的空间浪费获得可配置的可靠性
分散集中的所有砖块应具有相同的容量,否则,当最小的砖块变满时,分散集中将不允许有其他数据,如果未指定冗余,则会自动将其计算为最佳值。如果此值不存在,则假定为" 1",并显示警告消息,一般让系统自动计算即可, 冗余必须大于0,并且砖的总数必须大于2 * 冗余。这意味着分散的体积必须至少包含3块砖
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
?
?
?
首先创建物理目录(三台都要建立)
mkdir /bricks/brick1/gv0
选择任意服务器执行创建卷命令
?
gluster volume create gv0 replica 3 glusterfs-01:/bricks/brick1/gv0 glusterfs-02:/bricks/brick1/gv0 glusterfs-03:/bricks/brick1/gv0
?
?
?
?
gluster volume info
应该看到类似于以下内容的结果:
Volume Name: gv0
Type: Replicate
Volume ID: 542ed25f-fca5-4303-9eef-ebd72d0f3d16
Status: Created
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: glusterfs-01:/bricks/brick1/gv0
Brick2: glusterfs-02:/bricks/brick1/gv0
Brick3: glusterfs-03:/bricks/brick1/gv0
Options Reconfigured:
transport.address-family: inet
storage.fips-mode-rchecksum: on
nfs.disable: on
performance.client-io-threads: off
这个要提到的就是Status。状态为Created 表示已创建该卷,但尚未启动该卷,这将导致任何尝试装入该卷的尝试均失败
现在启动此卷
gluster volume start gv0
现在可以看到状态为启动
Status: Started
?
?
安装存储库
yum install centos-release-gluster
安装glusterfs-server
yum install glusterfs-server -y
配置hosts
vim /etc/hosts
172.26.103.110 glusterfs-01
172.26.103.111 glusterfs-02
172.26.103.112 glusterfs-03
挂载
mkdir /mnt/gv0
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
原文:https://www.cnblogs.com/-luoke/p/12809602.html