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。

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

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

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

目录
相关文章
|
canal SQL 关系型数据库
|
存储 缓存 分布式计算
Spark的Driver和Executor
Spark的Driver和Executor
1018 0
|
7月前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
350 5
|
7月前
|
人工智能 自然语言处理 算法
DeepSeek模型的突破:性能超越R1满血版的关键技术解析
上海AI实验室周伯文团队的最新研究显示,7B版本的DeepSeek模型在性能上超越了R1满血版。该成果强调了计算最优Test-Time Scaling的重要性,并提出了一种创新的“弱到强”优化监督机制的研究思路,区别于传统的“从强到弱”策略。这一方法不仅提升了模型性能,还为未来AI研究提供了新方向。
1064 9
tf.keras.layers.Dense
【8月更文挑战第19天】tf.keras.layers.Dense。
182 1
|
SQL 存储 监控
Hive 插入大量数据
【8月更文挑战第15天】
325 0
|
消息中间件 Kafka Linux
永久关闭linux swap
一般来说,Linux的虚拟内存会根据系统负载自动调整。内存页(page)swap到磁盘会显著的影响Kafka的性能,并且Kafka重度使用page cache,如果VM系统swap到磁盘,那说明没有足够的内存来分配page cache。
7421 0
|
关系型数据库 Python MySQL
Mac 安装 mysqlclient
 尝试在虚拟环境下通过 pip 安装: pip install mysqlclient 然后报错:OSError: mysql_config not found 找到官方文档 https://github.
6657 0
|
关系型数据库 MySQL 开发工具
使用Django时,安装mysqlclient的一些问题
使用Django时,安装mysqlclient的一些问题
317 0