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。

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

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

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

目录
相关文章
|
5月前
|
存储 Kubernetes API
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(PV&PVC)
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(PV&PVC)
76 0
|
8月前
|
存储 Kubernetes 安全
k8s学习-持久化存储(Volumes、hostPath、emptyDir、PV、PVC)详解与实战
k8s学习-持久化存储(Volumes、hostPath、emptyDir、PV、PVC)详解与实战
610 0
|
存储 Kubernetes 关系型数据库
Kubernetes(K8S)使用PV和PVC做存储安装mysql
Kubernetes(K8S)使用PV和PVC做存储安装mysql
586 0
|
存储 Kubernetes Perl
Kubernetes 在等待 pod 中的 PVC 或 PV 挂载时超时
Kubernetes 在等待 pod 中的 PVC 或 PV 挂载时超时
726 0
|
XML 网络安全 数据库
MogDB/openGauss 3.0 扩容及缩容
MogDB/openGauss 3.0 扩容及缩容
322 0
|
存储 Kubernetes 测试技术
emptyDir、hostPath以及local volume都是Kubernetes的本地存储卷,那么有何不同?
Kubernetes支持几十种类型的后端存储卷,其中有几种存储卷总是给人一种分不清楚它们之间有什么区别的感觉,尤其是local与hostPath这两种存储卷类型,看上去都像是node本地存储方案嘛。当然,还另有一种volume类型是emptyDir,也有相近之处。
2895 0
|
调度 Perl
挂载数据盘当kubelet目录后,kubelet无法执行CSI的UmountDevice操作
当挂载数据盘,并通过shared bind mount 分别挂载到kubelet和containerd目录后,kubelet无法执行CSI的UmountDevice操作
|
存储 Kubernetes 前端开发
Longhorn 企业级云原生分布式容器存储-券(Volume)和节点(Node)
Longhorn 企业级云原生分布式容器存储-券(Volume)和节点(Node)
768 0
|
运维
RH236扩缩容volumes--缩容volume
RH236扩缩容volumes--缩容volume
214 0
RH236扩缩容volumes--缩容volume
|
存储 Kubernetes Cloud Native
实现 Kubernetes 动态LocalVolume挂载本地磁盘
在 Kubernetes 体系中,存在大量的存储插件用于实现基于网络的存储系统挂载,比如NFS、GFS、Ceph和云厂商的云盘设备。但在某些用户的环境中,可能无法或没有必要搭建复杂的网络存储系统,需要一个更简单的存储方案。另外网络存储系统避免不了性能的损耗,然而对于一些分布式数据库,其在应用层已经实现了数据同步和冗余,在存储层只需要一个高性能的存储方案。 在这些情况下如何实现Kubernetes 应用的数据持久化呢?
1725 0

相关实验场景

更多