动态资源平衡:主流虚拟化 DRS 机制分析与 SmartX 超融合的实现优化

news2024/10/2 8:29:23

资源的动态调度是虚拟化软件(或超融合软件)中的一项重要功能,主要指在虚拟化集群中,通过动态改变虚拟机的分布,达到优化集群可用性的目标。这一功能以 VMware vSphere 发布的 Distributed Resource Scheduler(DRS)最为人们所熟知,它凭借简单易用的特点,在用户中迅速流行,甚至成为此类功能的代名词。

作为国内领先的专业超融合厂商,SmartX 在最新发布的超融合软件版本 SMTX OS 5.1(以下简称 SMTX OS)中,也新增了对 DRS 功能的支持。不同于 VMware 6.x 及其他市场常见的虚拟化平台 DRS 实现机制,SMTX OS 优化了 DRS 评价体系,可充分适应基于容器的“敏态”应用环境,有效提升业务运行与日常管理效率。

本文,我们将深入解读目前主流虚拟化平台 DRS 实现机制与 SmartX 虚拟化平台上 DRS 功能的优化与创新,通过对比分析,帮助读者进一步了解 DRS 及其不同实现机制对集群运行带来的影响。

主流虚拟化软件 DRS 机制:更适合“稳态”业务场景

目前用户较为熟悉的 DRS 机制是 VMware 6.x 引入的实现方式(7.0 后有新机制)。该功能的初衷即通过动态改变虚拟机的放置,实现主机资源负载平衡。同时,它还可与其他虚拟化特性进行结合,衍生出丰富的应用场景:

  • 通过资源平衡提升虚拟机 SLA。
  • 业务低谷时,通过集中放置,减少主机使用,降低能源消耗。
  • 创建业务负载时,自动进行资源评估并完成初始化放置。
  • 自动完成负载均衡,最大化发挥主机性能。
  • 当主机进行维护时,自动化完成迁移,降低运维复杂度。
  • 修正亲和性约束。

市场中其他主流的虚拟化平台的 DRS 机制大都与 VMware 6.x 类似,以主机资源负载平衡为调度目标。该功能的运作机制大致可分为两个部分:

  • 评价体系:周期性收集当前集群中的主机/虚拟机的资源使用情况,根据 DRS 的评价体系判断集群是否处于资源争抢或者分布不平衡的状态。
  • 虚拟机迁移:DRS 算法基于集群当前状态进一步生成迁移建议,并根据设定的策略自动或手动触发一系列虚拟机迁移操作,最终实现集群均衡的目标。

由于 DRS 的评价体系负责定义集群是否属于均衡状态并执行迁移操作,它的实现是整个功能的重中之重。在 VMware 6.x 中,DRS 的评价体系主要关注集群状态,检查主机是否需要重新平衡。因为集群中经常会出现某台主机的资源消耗过多,而另一台主机消耗的资源较少的情况,DRS 每隔一段时间会对集群执行一次检查,如果 DRS 评价体系认为集群当前的状态可以改善,那么它将执行虚拟机热迁移(将负载高的主机上的部分虚拟机迁移到负载低的主机上)来实现集群重新平衡。

这种 DRS 评价体系的核心是平衡主机之间的 CPU、内存利用率,目前常见的虚拟化软件大都是采用类似的评价体系 。该评价体系对于传统“稳态”业务是有效的。在“稳态”业务场景下,通常单个虚拟机里面只会部署单个应用,它对 CPU、内存的占用是相对稳定的,甚至对应的虚拟机数量也是相对固定的;由于每个虚拟机的资源消耗相对固定,通过调整虚拟机的位置去重新平衡主机的负载是比较有效的。

但随着基于容器的”敏态“业务越来越流行,工作负载的形态已经发生了变化:虚拟机上可能运行着多个业务容器,容器的数量也是随时变化的,对资源的占用自然也有较大的波动,而且这是该类型应用的一个常态。如果还是基于上述这种传统的 DRS 评价体系,那么就有可能出现这样的情况:某个时刻虚拟机启动更多数量的容器后,触发 DRS 平衡被迁移到其他主机,然而过了一段时间又由于资源占用下降再次触发迁移——虚拟机可能会不断地执行一些无用的迁移,并对应用运行带来较大的干扰。面对应用负载的变化,传统的 DRS 评价体系未必适用,用户或许需要一种更适应容器环境的新型评价体系。

SMTX OS 5.1 DRS 功能:新型评价体系更灵活高效 

SmartX 最近发布了新版本超融合软件 SMTX OS 5.1,新增了对 DRS 功能的支持。SmartX 研发团队在 DRS 功能设计之初就意识到,基于主机资源利用率的 DRS 评价体系无法完全满足新型应用负载的需求。为此,研发团队设计了一种新型评价体系,综合评估虚拟机的响应能力与主机资源利用率这两个因素。


DRS 评价体系

SMTX OS 5.1 DRS 的运作逻辑是:

  • 周期性为虚拟机和主机分别进行评分。
  • 根据虚拟机状态进行评分,虚拟机因为资源争抢导致响应能力受损的程度越高,虚拟机的评分就越低,反之评分越高。
  • 根据主机的资源利用率进行评分,主机空闲度越高,评分越高;主机越繁忙则评分越低。
  • 评分最低的虚拟机会优先迁移到评分最高的主机(同时考虑迁移收益),依次类推直到主机之间达到平衡状态。

虚拟机评分

虚拟机的评分会针对虚拟机的 CPU、内存和存储 3 种资源的使用情况进行评分,其中 CPU 和内存的评分占比 80%,而存储评分占 20%。当前 DRS 版本暂不支持虚拟机网络相关评分。 

  • 虚拟机 CPU 评分:系统通过监控虚拟机 CPU 的 Steal Time,以相应的公式计算出虚拟机 CPU 分数。虚拟机 CPU 资源争抢越严重,虚拟机 CPU 分数就越低。
  • 虚拟机内存评分:当内存没有超分的时候,虚拟机内存评分应为 100%,因为内存资源没有争抢的现象发生。在内存超分的场景下,系统会监控虚拟机使用共享内存的程度,使用比例越高,证明资源争抢越严重,得分越低。
  • 虚拟机存储评分:SMTX OS 拥有 I/O 本地化功能,虚拟机读取数据时会优先访问本地宿主机的副本以缩短 I/O 延时,提升性能。系统会根据虚拟机所在节点拥有虚拟机的副本数据块比例进行评分,如虚拟机运行的宿主机拥有它的一个完整副本的所有数据块,那么它的存储评分就是 100%;如果只拥有部分副本,意味着虚拟机访问数据的时候需要跨网络读取,那么虚拟机的存储评分就会降低。

主机评分

主机评分与虚拟机评分类似,同样会考察 CPU、内存和存储三者的情况,进行综合评价。

  • 主机 CPU 评分:系统会收集主机的 CPU 空闲时间,空闲时间越多,得分也就越高。反之,主机 CPU 越繁忙得分越低。
  • 主机内存评分:系统收集主机可用内存占比,并根据主机是否存在内存超分进行评分,在没有超分的情况下,可用内存越多,评分越高。
  • 主机存储评分:由于 SMTX OS 内置的存储引擎可支持存储容量的自动均衡,因此主机存储评分并不是以主机本地存储容量使用率进行评价的。主机存储评分主要关注主机拥有虚拟机副本的数据块比例,拥有比例越高,得分越高。

收益评价

对于虚拟机的动态调整,单纯参考虚拟机和主机的评分仍然是不够的,因为不是所有情况都需要虚拟机迁移到分数更高的主机上,还需要考虑到迁移的成本——只有当迁移带来的收益大于成本,DRS 才建议或执行迁移动作。例如,某个虚拟机的内存比较大,迁移时需要传输比较多的数据,虽然迁移后会使得负载更为平衡(但差距不大),这个时候收益可能小于成本,那么 DRS 便不会建议虚拟机进行迁移。


DRS 建议与迁移

DRS 建议敏感度

SMTX OS 的 DRS 功能为用户提供了 3 种敏感度设置,便于用户根据业务情况选择合适的虚拟机迁移建议生成条件。

DRS机制01.png

DRS 自动化级别

同时,SMTX OS 的 DRS 功能支持手动迁移和自动迁移两种虚拟机迁移方式。

  • 手动迁移:DRS 只会给出迁移建议,但不会自动执行迁移。该模式采取保守的调度策略,可以让用户充分评估 DRS 考察范围之外的因素(如:某个业务十分重要,不希望在非预期的时间执行迁移),再决定是否执行迁移。与此同时,用户需要定期关注迁移建议,并决定执行建议或放弃建议。
  • 自动迁移:DRS 会根据生成的迁移建议自动执行虚拟机迁移操作,直到符合预设 DRS 阈值。该模式采取自动化调度策略,用户不需要人工接入迁移,后台会自动完成平衡,对于大规模虚拟机集群,可以大幅降低运维的压力。

DRS机制02.png


SMTX OS DRS 优势与价值

得益于新型的评价体系和运维友好的操作设置,SMTX OS DRS 功能可以充分满足云环境下的资源调度需求,帮助用户在优化集群性能的同时提升运维管理效率。相比主流传统 DRS 功能,SMTX OS DRS 能为用户带来以下具体收益:

  • 更丰富的应用场景:采用以虚拟机响应能力为核心的 DRS 评价体系,使得 DRS 适用范围更广。
  • 更智能的调度机制:评价体系更加全面,充分结合超融合架构特点,将存储性能因素纳入评价体系,同时引入收益评价,减少不必要的迁移动作,进一步优化决策、降低开销。
  • 更简单的运维管理:敏感度与自动化设置在降低运维难度的同时,给予了运维人员更大的使用灵活性。

除了对 DRS 机制的优化,SMTX OS 5.1 版本中还新增了 GPU 直通与 vGPU、USB 跨节点访问、大页内存分配等创新性虚拟化与存储能力。搭配新发布的容器管理与服务软件 SMTX Kubernetes 服务 1.0 和跨虚拟化与容器平台的软件定义负载均衡、可观测平台等产品组件,SmartX HCI 5.1 全面提升虚拟化、分布式存储、分布式防火墙、系统运维、灾备、迁移等基础设施能力,助力客户以一套架构平稳实现基础架构云化、国产化替代和容器化转型目标。欲深入了解 SmartX HCI 5.1 新增功能与产品组件,请阅读:

  • GPU 直通 & vGPU:超融合为 GPU 应用场景提供高性能支持
  • SmartX HCI 5.1 发布:是超融合,更是虚拟化与容器生产级统一架构
  • 照亮虚拟网络流量“盲区”:超融合网络流量可视化功能解读
  • SmartX 发布 SKS 1.0 ,一站式构建生产级 K8s 集群
  • 从物理机/云平台迁移至超融合?SMTX CloudMove 帮你实现

您还可扫描下方二维码,或点击链接获取《SmartX 超融合技术原理与特性解析合集(含 VMware 对比详情)》,了解 SMTX OS 更多技术特性和测试数据。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

atoi函数及其模拟实现

这个函数的功能是将字符串转换为整形,那么具体是怎么样的呢 先看几个例子: 有一个转换为整形的最大值 刚开始就是非法字符 因此,我们模拟实现时,要考虑以上几种非法输入情况: 1.空字符串 2.空白字符 3.处理-号 4.过大…

C++算法:城市天际线问题

题目 城市的 天际线 是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑物的位置和高度,请返回 由这些建筑物形成的 天际线 。 每个建筑物的几何信息由数组 buildings 表示,其中三元组 buildings[i] [lefti, righti, heighti] 表示&am…

【无标题】SpringMVC之WEB-INF下页面跳转@ModelAttributeIDEA tomcat控制台中文乱码问题处理

WEB-INF下页面跳转 ModelAttribute来注解非请求处理方法 用途:预加载数据,会在每个RequestMapping方法执行之前调用。 特点:无需返回视图,返回类型void IDEA tomcat控制台中文乱码问题处理 复制此段代码:-Dfile.e…

快速生成美观的二维码:专家级教程

首先,我们需要选择一个适合在线海报制作工具,比如乔拓云。乔拓云是一个非常流行的在线海报制作工具,它提供了大量的模板和编辑工具,让你可以轻松地制作出一张精美的Logo。 接下来,我们需要在乔拓云网站上注册并登录。在…

【运维笔记】VMWare 另一个程序已锁定文件的一部分,进程无法访问

情景再现 这里使用的是VMware 17 解决办法 进入设置 点击选项,全选复制里面内容 进入文件夹,删除所有包含.lck后缀的文件和文件夹 再启动虚拟机即可

关键词搜索快手商品列表数据,快手商品列表数据接口,快手API接口

在网页抓取方面,可以使用 Python、Java 等编程语言编写程序,通过模拟 HTTP 请求,获取快手网站上的商品页面。在数据提取方面,可以使用正则表达式、XPath 等方式从 HTML 代码中提取出有用的信息。值得注意的是,快手网站…

多目标水母搜索算法(Multi-Objective Jellyfish Search algorithm,MOJS)求解微电网优化--提供MATLAB代码

一、微网系统运行优化模型 微电网优化模型介绍: 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 参考文献: [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 二、多目标水母搜索算法MOJS …

@Mapper与@MapperScan注解

Mapper Mapper Mapper.xml文件 作用在dao(mapper)层上的一个注解,将接口生成一个动态代理类,有了这个注解就不用 再写Mapper.xml文件 如果缺少这个注解,运行项目就会报相应的错误 Field userMapper in com.example…

docker入门加实战—docker数据卷

docker入门加实战—docker数据卷 容器是隔离环境,容器内程序的文件、配置等都在容器的内部,要读写容器内的文件非常不方便。 因此,容器提供程序的运行环境,但是程序运行产生的数据、程序运行依赖的配置都应该与容器进行解耦。 …

dpdk/spdk/网络协议栈/存储/网关开发/网络安全/虚拟化/ 0vS/TRex/dpvs技术专家成长体系教程

课程围绕安全,网络,存储,云原生4个维度去讲解核心技术点。 6个专栏组成:dpdk网络专栏、存储技术专栏、安全与网关开发专栏、虚拟化与云原生专栏、测试工具专栏、性能测试专栏 一、dpdk网络 dpdk基础知识 多队列网卡&#xff0…

es6(三)—— set(集合) 和map的使用

ES6的系列文章目录 第一章 Python 机器学习入门之pandas的使用 文章目录 ES6的系列文章目录一、set(集合)0. 定义1. 基本使用2.常用方法(1)代码(2)效果(3)遍历 二、map0. 定义1. 基…

利用Python分析金融交易中的滚动Z值

大家好,在不断演变的证券交易领域,能够利用数据和统计学的力量提供重要的优势。无论是预测未来价格、分析市场趋势,还是简单地评估特定证券的波动性,数据驱动的见解已经改变了交易者对证券市场的处理方式。这就是Z值的用途&#x…

miRNA测序数据生信分析——第四讲,未知物种的生信分析实例

miRNA测序数据生信分析——第四讲,未知物种的生信分析实例 miRNA测序数据生信分析——第四讲,未知物种的生信分析实例1. 下载测序数据2. 原始数据质控——软件fastqc3. 注释tRNA和rRNA,使用Rfam数据库——软件blast,Rfam_statisti…

网页制作工具都有哪些?推荐这几款

随着网络的快速发展,网站迅速崛起,成为无数网络冲浪玩家的首选,网页设计师也成为各大互联网公司竞争的热点。当设计师开始时,他们总是不知道如何选择网页制作工具。以下将列出市场上流行的网页制作工具。设计师可以根据自己的需要…

Leetcode刷题详解——复写零

1.题目链接:复写零 2.题目描述 给你⼀个⻓度固定的整数数组 arr ,请你将该数组中出现的每个零都复写⼀遍,并将其余的元素 向右平移。 注意:请不要在超过该数组⻓度的位置写⼊元素。请对输⼊的数组就地进⾏上述修改,不…

SpringCould微服务保护01——Sentinel组件下载并使用

1.初识Sentinel 1.1.雪崩问题及解决方案 1.1.1.雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。 如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被…

小程序首页如何进行装修设置

小程序首页是展示给用户的第一屏,它的装修直接影响到用户对小程序的第一印象。小程序首页的设置在小程序管理员后台->页面设置->首页,下图是小程序首页默认的设置。 下图,是小程序首页的具体表现形式。下面具体解释小程序首页各个设置项…

Vue 绑定 class 与 style

在应用界面中,某些元素的样式是动态的。class 与 style 绑定就是专门用来实现动态样式效果的技术。 如果需要动态绑定 class 或 style 样式,可以使用 v-bind 绑定。 绑定 class 样式【字符串写法】 适用于:类名不确定,需要动态指…

滑动窗口算法(C语言描述)

第一种类型&#xff1a;不固定长窗口 问题1&#xff1a;*** C代码1&#xff1a; #include<stdio.h> #include<string.h> #define N 5int min_len(int len1,int len2) {return (len1 < len2 ? len1:len2); }int main() {int target 0;int num[N];scanf("…

被面试官问到分布式ID,别再傻乎乎只会答雪花算法了...

文章目录 1. 分布式ID2. 数据库主键自增3. 数据库号段模式4. Redis自增5. UUID6. Snowflake (雪花算法)7. Leaf (美团分布式ID生成系统)7.1 Leaf-segment 号段方案7.1.2 双buffer优化 7.2 Leaf-snowflake方案7.3 Leaf-snowflake Demo 1. 分布式ID 在分布式系统中&#xff0c;通…