RH236扩缩容volumes--扩容volume

简介: RH236扩缩容volumes--扩容volume

RH236扩缩容volumes–扩容volume

本章节介绍如何对GlusterFS进行扩容volumes。

RHCA专栏地址:https://blog.csdn.net/qq_41765918/category_11532281.html


扩缩容核心思想:增加或者减少brick数量实现volume的扩缩容。

扩容volume

途径:增加brick或者增加物理server实现扩容。

注意:

1.对volume进行在线扩容,扩容过程中,不能引起大量数据迁移

2.replicate类型的volume,扩展没意义,只会扩展复制数,不会增加容量,基于这个原理,如distribute replicate类型,若需实现扩容,则只能扩展distribute部分,需注意分布份数,如:如果原来是22,如果想扩到42,就需要增加4个brick


步骤:

1.增加服务器,要把服务器加入到信任池

2.创建brick

3.扩展volume

4.平衡数据


扩展volume

gluster volume add-brick [<stripe | replica> ]

# gluster volume add-brick vol1 \
node1:/birck/brick8/brick \ 
node2:/brick/brick8/brick

开始平衡数据

# gluster volume rebalance vol1 start

如果是replica类型的,默认会自动复制,可手动:

自动复制

# gluster volume heal vol1 info

查看均衡状态

# gluster volume rebalance vol1 status


设置数据均衡迁移速度

为了良好的迁移性能,数据均衡进程中使用了多线程,并且支持并行迁移多个文件,但是这样占用一定的系统资源,对存储系统本身性能带来一定影响,因此,GlusterFS提供了相关控制命令,用于调控实际迁移速度的快慢,目前主要有三种模式,lazy、normal和aggressive。顾名思义,lazy是懒惰的慢速模式(较少线程迁移),normal是正常模式(线程数量适中),aggressive是激进模式(较多线程迁移),默认采用normal模式,可以根据实际需要去做具体设置。(对数据进行rebalance必须要考虑的一个问题就是性能,不能因为数据rebalance而影响我们的存储的正常使用。)

根据实际场景不同设计了三种不同的“级别”:

  • lazy:每次仅可以迁移一个文件

  • normal:默认设置,每次迁移2个文件或者是(CPU逻辑个数-4)/2,哪个大,选哪个

  • aggressive:每次迁移4个文件或者是(CPU逻辑个数-4)/2

通过以下命令进行配置:

gluster volume set cluster.rebal-throttle [lazy|normal|aggressive]


课本练习

[root@workstation ~]# lab extendvolume setup 
Setting up servers for lab exercise work:

 • Testing if all hosts are reachable..........................  SUCCESS
 • Adding glusterfs to runtime firewall on servera.............  SUCCESS
 • Adding glusterfs to permanent firewall on servera...........  SUCCESS
 • Adding glusterfs to runtime firewall on serverb.............  SUCCESS
 • Adding glusterfs to permanent firewall on serverb...........  SUCCESS
 • Adding glusterfs to runtime firewall on serverc.............  SUCCESS
 • Adding glusterfs to permanent firewall on serverc...........  SUCCESS
 • Adding glusterfs to runtime firewall on serverd.............  SUCCESS
 • Adding glusterfs to permanent firewall on serverd...........  SUCCESS
 • Adding servera to trusted storage pool......................  SUCCESS
…………

1. 在servera上,将两个新块添加到extendme卷,并检查生成的卷。

[root@servera ~]# gluster volume info extendme 
Volume Name: extendme
Type: Replicate
Volume ID: 1d48ee91-adfd-4bb7-b52c-486ca2418c7f
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: servera:/bricks/brick-a1/brick
Brick2: serverb:/bricks/brick-b1/brick
Options Reconfigured:
performance.readdir-ahead: on

[root@servera ~]# gluster volume add-brick extendme serverc:/bricks/brick-c1/brick serverd:/bricks/brick-d1/brick
volume add-brick: success

[root@servera ~]# gluster volume info extendme 
Volume Name: extendme
Type: Distributed-Replicate
Volume ID: 1d48ee91-adfd-4bb7-b52c-486ca2418c7f
Status: Started
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: servera:/bricks/brick-a1/brick
Brick2: serverb:/bricks/brick-b1/brick
Brick3: serverc:/bricks/brick-c1/brick
Brick4: serverd:/bricks/brick-d1/brick
Options Reconfigured:
performance.readdir-ahead: on

2. 均衡卷。

[root@servera ~]# gluster volume rebalance extendme start
volume rebalance: extendme: success: Rebalance on extendme has been started successfully. Use rebalance status command to check status of the rebalance process.
ID: 06c4a603-1a61-4440-b165-43ea47f95858

[root@servera ~]# gluster volume rebalance extendme status
                                    Node Rebalanced-files          size       scanned      failures       skipped               status   run time in secs
                               ---------      -----------   -----------   -----------   -----------   -----------         ------------     --------------
                               localhost               49      980Bytes           100             0             0            completed               3.00
                 serverb.lab.example.com                0        0Bytes             0             0             0            completed               0.00
                 serverc.lab.example.com                0        0Bytes             0             0             0            completed               1.00
                 serverd.lab.example.com                0        0Bytes             0             0             0            completed               0.00
volume rebalance: extendme: success

3. 脚本评分。

[root@workstation ~]# lab extendvolume grade


总结

  • 介绍如何进行扩容volume。

  • 介绍如何设置数据均衡迁移速度。

以上就是【金鱼哥】的分享。希望能对看到此文章的小伙伴有所帮助。

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点,如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

目录
相关文章
|
存储 Kubernetes API
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(1)
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(1)
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(1)
|
1月前
|
存储 Kubernetes 安全
k8s学习-持久化存储(Volumes、hostPath、emptyDir、PV、PVC)详解与实战
k8s学习-持久化存储(Volumes、hostPath、emptyDir、PV、PVC)详解与实战
123 0
|
1月前
|
存储 Kubernetes 关系型数据库
kubernetes学习之持久化存储StorageClass(4---nfs存储服务)
kubernetes学习之持久化存储StorageClass(4---nfs存储服务)
67 0
|
存储 Kubernetes 调度
Kubernetes 中存储使用介绍(PV、PVC和StorageClass)
在 Kubernetes 中的应用,都是以 Pod 的形式运行的,当我们要是在 Kubernetes 上运行一些需要存放数据的应用时,便需要关注应用存放的数据是否安全可靠。因为 Pod 是有生命周期的,那么也就是说当 Pod 被删除或重启后,Pod 里面所运行的数据也会随之消失。
1576 0
Kubernetes 中存储使用介绍(PV、PVC和StorageClass)
|
9月前
|
存储 Kubernetes 关系型数据库
Kubernetes(K8S)使用PV和PVC做存储安装mysql
Kubernetes(K8S)使用PV和PVC做存储安装mysql
342 0
|
10月前
|
存储 Kubernetes Docker
kubernetes存储对象volume
kubernetes存储对象volume
|
10月前
|
存储 Kubernetes 容器
k8s--数据存储、PV、PVC
k8s--数据存储、PV、PVC
|
11月前
|
存储 Kubernetes Cloud Native
持久化存储PV与PVC
持久化存储PV与PVC
300 0
|
存储 Kubernetes Perl
Kubernetes 在等待 pod 中的 PVC 或 PV 挂载时超时
Kubernetes 在等待 pod 中的 PVC 或 PV 挂载时超时
474 0
|
存储 运维 Kubernetes
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(2)
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(2)
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(2)