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。

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

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

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

目录
相关文章
|
存储 缓存 分布式计算
Spark的Driver和Executor
Spark的Driver和Executor
1065 0
|
8月前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
450 5
tf.keras.layers.Dense
【8月更文挑战第19天】tf.keras.layers.Dense。
203 1
|
Java Linux Shell
centos7内网离线安装face_recognition、python、pip、CMake、dlib,离线升级gcc/切换gcc,文末有face_recognition的docker版本
公司项目需要人脸识别,本来app自带人脸识别,结果api支持的设备试了一圈就一个同事的华为Mate40Pro可以,所以使用无望。接着找了一下免费的java离线人脸识别sdk,发现虹软的确实简单好用,一会就在linux上弄好并测试通过了,然而在准备集成进去开写代码时,不小心看到了一眼首次激活需联网,后续方可离线使用,好吧,我们内网机器首次都不可能的,接着看了下离线激活方法,首先需要企业认证,这一步我们肯定没法做的,毕竟不是之前的小公司了,营业执照啥的随便给我肯定不行,直接放弃了。后来在同事推荐下看了下face_recognition这个项目,之前基本没用过python,于是有了漫长的踩坑之旅。
1195 1
|
SQL 存储 监控
Hive 插入大量数据
【8月更文挑战第15天】
440 0
|
存储 Prometheus 监控
当 OpenTelemetry 遇上阿里云 Prometheus
本文以构建系统可观测(重点为指标监控体系)为切入点,对比 OpenTelemetry 与 Prometheus 的相同与差异,后重点介绍如何将应用的 OpenTelemetry 指标接入 Prometheus 及背后原理,最后介绍阿里云可观测监控 Prometheus 版拥抱 OpenTelemetry 及相关落地实践案例,希望能更好的帮助读者更好的理解 OpenTelemetry 及与 Prometheus 的生态融合。
1022 0
|
消息中间件 Kafka Linux
永久关闭linux swap
一般来说,Linux的虚拟内存会根据系统负载自动调整。内存页(page)swap到磁盘会显著的影响Kafka的性能,并且Kafka重度使用page cache,如果VM系统swap到磁盘,那说明没有足够的内存来分配page cache。
7468 0
|
关系型数据库 MySQL 开发工具
使用Django时,安装mysqlclient的一些问题
使用Django时,安装mysqlclient的一些问题
337 0
|
NoSQL 算法 Linux
Redis - 适配全国产操作系统的那些坑
Redis - 适配全国产操作系统的那些坑
981 0
|
Ubuntu Linux 开发工具
Ubuntu之vim:vim编辑工具的简介、安装、使用方法之详细攻略
Ubuntu之vim:vim编辑工具的简介、安装、使用方法之详细攻略
Ubuntu之vim:vim编辑工具的简介、安装、使用方法之详细攻略