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

一、添加磁盘-官网指引

重点在于:

        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使用的卷的副本就可以调度到你选中的到磁盘上了。

相关推荐

  1. docker (容器数据创建、读写规则)-day03

    2024-04-26 23:28:03       58 阅读
  2. Linux磁盘分区————逻辑

    2024-04-26 23:28:03       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-26 23:28:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-26 23:28:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-26 23:28:03       87 阅读
  4. Python语言-面向对象

    2024-04-26 23:28:03       96 阅读

热门阅读

  1. 38 事件

    2024-04-26 23:28:03       37 阅读
  2. 【MySQL面试题】经典面试题之“b+树”

    2024-04-26 23:28:03       41 阅读
  3. Nest.js项目小结2

    2024-04-26 23:28:03       35 阅读
  4. 机器学习模型保存和导出pmml文件(python代码)

    2024-04-26 23:28:03       38 阅读
  5. 贪吃蛇项目实践!(下)

    2024-04-26 23:28:03       44 阅读
  6. git 缓冲区查看与设置

    2024-04-26 23:28:03       30 阅读
  7. PostgreSQL恢复系列:pg_filedump恢复字典构造---惜分飞

    2024-04-26 23:28:03       39 阅读
  8. C++中的STL——stack类的基本使用

    2024-04-26 23:28:03       38 阅读