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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/640901.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从数据库中到处所有表的列、注释、类型、是否必填等信息

从数据库中到处所有中文表名、英文表名、所有列、注释、类型、长度、是否必填等信息&#xff0c;效果如下&#xff1a; 要实现上面的表格可以直接用SQL实现&#xff0c;实现SQL如下&#xff1a; #查询SQL select* FROMinformation_schema.COLUMNS as columns left join (sele…

华为机考入门python3--(17)牛客17- 坐标移动

分类&#xff1a;字符串 知识点&#xff1a; 正则匹配 re.match(pattern, move) 格式字符串&#xff0c;可以在字符串中直接引用变量 f"{x},{y}" 题目来自【牛客】 import re def is_valid_coordinate(move): # 使用正则表达式验证移动是否合法 # ^: …

并发编程之线程通信及Condition的原理分析

1. synchronized中的线程通信 调用wait方法会使线程处于等待状态&#xff0c;直到另一个线程调用notify线程才会唤醒等待中的某个线程&#xff0c;生产者和消费者模型可以很好的使用到该例子。 生产者代码: public class Producer implements Runnable {private Queue<Str…

CountDownLatch倒计时器源码解读与使用

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 1. 前言 2. CountDownLatch有什么用 3. CountDownLatch底层原理 3.1. count…

如何查看redisson-spring-boot-starter和SpringBoot 对应版本

如何查看redisson-spring-boot-starter和SpringBoot 对应版本 我目前没有找到官网的地址来来查看对应关系。 所以我只能找pom.xml来查看 先在mvnrepository 找到redisson-spring-boot-starter的列表 具体地址是&#xff1a;https://mvnrepository.com/artifact/org.redisso…

Oracle故障处理:ORA-00600错误处理思路

提前说明&#xff1a; 该故障&#xff0c;我只是旁观者。 但处理该故障的DBA工程师&#xff0c;思路很清晰&#xff0c;我非常受教&#xff01;在此也将经验分享。 目录 项目场景 问题分析 优化建议 项目场景 在某项目数据库运维群&#xff0c;有现场同事发了张报错截图如下…

数据库服务类--Redis--未授权访问终端Getshell

免责声明:本文仅做技术交流与学习. 目录 前提条件: windows上开启redis服务: Linux上创建&开启redis服务: 操作: 1-连接靶机redis 2-写入webshell 3-访问后门 redis--->webshell Redis未授权访问漏洞复现与利用 - 知乎 (zhihu.com) 前提条件: 端口开放(6379) 目录…

C++:特殊成员函数

构造函数、析构函数和拷贝构造函数是C类中的三种特殊成员函数&#xff0c;它们分别用于对象的初始化、清理和拷贝操作。 1.构造函数&#xff08;Constructor&#xff09;&#xff1a;构造函数在对象创建时自动调用&#xff0c;用于初始化对象的成员变量。它的名称与类名相同&a…

《动手学深度学习(Pytorch版)》Task01:初识深度学习——4.22打卡

深度学习介绍 AI地图 自然语言处理&#xff1a;起源于符号学&#xff0c;如机器翻译&#xff0c;人在几秒钟能反应过来&#xff0c;属于感知问题计算机视觉&#xff1a;图片由像素组成&#xff0c;难以用符号学解释&#xff0c;在图片中进行推理&#xff0c;大部分用概率模型或…

vue3组件封装系列-表单请求

我们在开发一些后台管理系统时&#xff0c;总是会写很多的列表查询页面&#xff0c;如果不封装组件&#xff0c;就会无限的复制粘贴&#xff0c;而且页面很冗余&#xff0c;正常情况下&#xff0c;我们都是要把组件进行二次封装&#xff0c;来达到我们想要效果。这里我分享一下…

uni-app 的 扩展组件(uni-ui) 与uView UI

uni-app 的 扩展组件&#xff08;uni-ui&#xff09; 与uView UI uni-ui 官方背景&#xff1a;组件集&#xff1a;设计风格&#xff1a;文档与支持&#xff1a;社区与生态&#xff1a; uView UI 第三方框架&#xff1a;组件集&#xff1a;设计风格&#xff1a;文档与支持&#…

ScriptableObject数据容器讲解

概述 是Unity提供的一个用于创建可重用的数据容器或逻辑的基类。 ScriptableObject 是继承自 UnityEngine.Object 的一个类&#xff0c;但与普通的 MonoBehaviour 不同&#xff0c;它不能附加到GameObject上作为组件。 相反&#xff0c;ScriptableObject 通常用于存储和管理…