Rancher-Longhorn-新增磁盘以及卷创建原理和卷副本调度规则

发布于:2024-04-25 ⋅ 阅读:(25) ⋅ 点赞:(0)

一、添加磁盘-官网指引

重点在于:

        1、比如你新增了一块盘,你需要做一下事情:

                1、执行 lsblk  能找到你的盘。

                2、然后执行 fdisk /dev/sdxx 分区你的盘。

                3、然后对于分区部署文件系统, mkfs.xfs 

                4、然后执行 mount /dev/sdxxx 你挂载的目录

                5、记得修改 /etc/fstab 不然只是临时挂载。

添加步骤很简单:

        

        1、找到你的节点。 

        2、点击最右侧的Edit node and disks

        3、选择 Add disk

        4、执行 df -Th 验证你的磁盘配置信息

我的磁盘为sdc ,分区为sdc的第一个主要分区sdc1,挂载目录为/sdc,文件系统为xfs.

根据信息填写清单:

        5、点击save.

        6、等待10S,验证添加成功。

重点:        1、此时就完成了扩容,但并没有给到节点使用,因为没有开启调度。

二、卷副本的调度规则-官网指引:

有新增卷时,卷的副本怎么调度到合理的主机以及磁盘上有一些规则:

        1、    Allow replica of the volume without disk selector to be scheduled on disk with tags, default true

        意思就是 “允许调度没有打tag的卷副本调度到打了tag的磁盘上。默认为true

        2、Allow replica of the volume without node selector to be scheduled on node with tags, default true

        意思就是 “允许调度没有打tag的卷副本调度到打了tag的节点上。默认为true

        3、Disable Scheduling On Cordoned Node

        意思就是 “不允许将卷副本调度到k8s集群设置为封锁的节点上。” 默认为true,即不允许

        4、Allow scheduling on disks with existing healthy replicas of the same volume

        意思就是 “允许相同卷的副本出现在同一个磁盘上” 默认为true

        5、Replica Node Level Soft Anti-Affinity

        意思就是 “允许相同卷的副本出现在同一个节点上” 默认为false.

        6、Replica Zone Level Soft Anti-Affinity

        意思就是通过给k8s节点打上topology.kubernetes.io/zone=<Zone name of the node>的标签来逻辑上表示哪些节点为一个拓扑区域,然后允许调度相同卷的副本到同一个区域内。默认为true.

三、打开磁盘调度

        1、当你打开了磁盘的调度后会发生什么?

                1、你创建pod并且使用pvc声明使用存储供应商-Longhorn的sci时,会在根据你的PVC声明创建PV卷。

                2、api-server 根据Longhorn的crd资源创建了一个资源对象,Longhorn manager 会watch这个资源对象,并且创建对应资源对象的卷。

                3、当有卷创建时这个节点上会创建Longhorn Engine,来编排和调度卷的副本。

                4、这个卷默认有2个副本。根据你选定的调度规则调度你的两个副本。

       总结就是你点了调度,那么其他节点上pod使用的卷的副本就可以调度到你选中的到磁盘上了。