30 KVM管理系统资源-CPU热插

news/2024/7/20 12:53:40 标签: KVM, 虚拟化, 开源软件, linux, 运维

文章目录

      • 30 KVM管理系统资源-CPU热插
        • 30.1 概述
        • 30.2 约束限制
        • 30.3 操作步骤
          • 30.3.1 配置虚拟机XML
          • 30.3.2 热插并上线CPU

KVMCPU_1">30 KVM管理系统资源-CPU热插

30.1 概述

在线增加(热插)虚拟机CPU是指在虚拟机处于运行状态下,为虚拟机热插CPU而不影响虚拟机正常运行的方案。当虚拟机内部业务压力不断增大,会出现所有CPU均处于较高负载的情形。为了不影响虚拟机内的正常业务运行,可以使用CPU热插功能(在不关闭虚拟机情况下增加虚拟机的CPU数目),提升虚拟机的计算能力。

30.2 约束限制

  • 如果处理器为AArch64架构,创建虚拟机时指定的虚拟机芯片组类型(machine)需为virt-4.1或virt更高版本。如果处理器为x86_64架构,创建虚拟机时指定的虚拟机芯片组类型(machine)需为pc-i440fx-1.5或pc更高版本。
  • 在配置Guest NUMA的场景中,必须把属于同一个socket的vcpu配置在同一vNode中,否则热插CPU后可能导致虚拟机softlockup,进而可能导致虚拟机panic。
  • 虚拟机在迁移、休眠唤醒、快照过程中均不支持CPU热插。
  • 虚拟机CPU热插是否自动上线取决于虚拟机操作系统自身逻辑,虚拟化层不保证热插CPU自动上线。
  • CPU热插同时受限于Hypervisor和GuestOS支持的最大CPU数目。
  • 虚拟机启动、关闭、重启过程中可能出现热插CPU失效的情况,但再次重启会生效。
  • 热插虚拟机CPU的时候,如果新增CPU数目不是虚拟机CPU拓扑配置项中Cores的整数倍,可能会导致虚拟机内部看到的CPU拓扑是混乱的,建议每次新增的CPU数目为Cores的整数倍。
  • 若需要热插CPU在线生效且在虚拟机重启后仍有效,virsh setvcpus接口中需要同时传入–config和–live选项, 将热插CPU动作持久化。

30.3 操作步骤

30.3.1 配置虚拟机XML
  1. 使用CPU热插功能,需要在创建虚拟机时配置虚拟机当前的CPU数目、虚拟机所支持的最大CPU数目,以及虚拟机芯片组类型(对于AArch64架构,需为virt-4.1及以上版本。对于x86_64架构,需为pc-i440fx-1.5及以上版本)。这里以AArch64架构虚拟机为例,配置模板如下:

    <domain type='kvm'>
        ...
        <vcpu placement='static' current='m'>n</vcpu>
        <os>
            <type arch='aarch64' machine='virt-4.1'>hvm</type>
        </os>
        ...
    <domain>
    

    img 说明:

    • placement的值必须是static。
    • m为虚拟机当前CPU数目,即虚拟机启动后默认的CPU数目。n为虚拟机支持热插到的最大CPU数目,该值不能超过Hypervisor支持的虚拟机最大CPU规格及GuestOS支持的最大CPU规格。n大于或等于m。

    例如,配一个虚拟机当前CPU数目为4,最大支持的热插CPU上限为64的XML配置为:

    <domain type='kvm'>
    ……
        <vcpu placement='static' current='4'>64</vcpu>
        <os>
            <type arch='aarch64' machine='virt-4.1'>hvm</type>
        </os>
    ……
    
30.3.2 热插并上线CPU
  1. 如果热插CPU后需要自动上线热插的CPU,可以使用root权限在虚拟机内部创建udev rules文件/etc/udev/rules.d/99-hotplug-cpu.rules,并在其中定义udev规则,内容参考如下:

    # automatically online hot-plugged cpu
    ACTION=="add", SUBSYSTEM=="cpu", ATTR{online}="1"
    

    img 说明: 如果没有使用udev rules自动上线热插CPU,可以在热插CPU后,使用root权限,参考如下命令手动上线:

    for i in `grep -l 0 /sys/devices/system/cpu/cpu*/online`
    do
    echo 1 > $i
    done
    
  2. 利用virsh工具进行虚拟机CPU热插操作。例如给虚拟机openEulerVM热插CPU到6,且在线生效的参考命令如下:

    # virsh setvcpus openEulerVM 6 --live
    

    img 说明: virsh setvcpus 进行虚拟机CPU热插操作的格式如下:

    # virsh setvcpus <domain> <count> [--config] [--live]
    
    • domain: 参数,必填。指定虚拟机名称。
    • count: 参数,必填。指定目标CPU数目,即热插后虚拟机CPU数目。
    • –config: 选项,选填。虚拟机下次启动时仍有效。
    • –live: 选项,选填。在线生效。

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

image-20230525184551699


http://www.niftyadmin.cn/n/359560.html

相关文章

离线数仓分层

一、数仓为什么要分层 1、清晰数据结构&#xff1a;数仓每一层都有对应的作用&#xff0c;方便在使用时更好定位与了解 2、数据血缘追踪&#xff1a;清晰知道表/任务上下游&#xff0c;方便排查问题&#xff0c;知道下游哪个模块在使用&#xff0c;提升开发效率及后期管理维护…

SocketException: 由于目标计算机积极拒绝,无法连接。

本文只有解决思路没有具体方法&#xff08;因为错误不一定是因为这个&#xff09;。 在做.NETWebService的时候遇到了个问题&#xff0c;这是在用本地提供WebService服务以后出现的错误。 我的解决办法是把连接的服务删了在重连就好了&#xff0c;挺奇怪的。在网上查的方法各式…

Java设计模式七大原则-开放-关闭原则

✨作者&#xff1a;猫十二懿 ❤️‍&#x1f525;账号&#xff1a;CSDN 、掘金 、个人博客 、Github &#x1f389;公众号&#xff1a;猫十二懿 开放-关闭原则 1、开闭原则介绍 在Java中的开放-关闭原则&#xff08;Open-Closed Principle, OCP&#xff09;是一个重要原则。该…

会话跟踪cookie和session

什么是会话跟踪技术 会话&#xff1a;用户打开浏览器&#xff0c;访问web服务器的资源&#xff0c;会话建立&#xff0c;直到有一方断开连接&#xff0c;会话结束。在一次会话中可能包含多次请求和响应。 会话跟踪&#xff1a;一种维护浏览器状态的方法&#xff0c;服务器需…

Gin中间件的详解 ,用Jwt-go 和 Gin 的安全的登陆的中间件

学习目标: Gin 在不同的group 设置不同的中间件或者过滤器 Gin 的group下的路由上中间件或过滤器 用Jwt-go 和 Gin 的安全的登陆的中间件 学习内容: 1. Gin 在不同的group 设置不同的中间件或者过滤器 Golang 中的 gin 框架允许您在不同的路由组中设置不同的中间件或过滤器…

怎么格式化只读U盘?

用户在格式化期间遇到磁盘只读&#xff08;写保护&#xff09;问题是比较常见的。通常&#xff0c;如果你的U盘处于写保护状态&#xff0c;则它便是只读&#xff0c;不允许你删除或修改U盘上的任何文件&#xff0c;以保护U盘的数据安全。如果需要只读u盘怎么格式化的问题&#…

Tomcat配置https协议证书-阿里云,Nginx配置https协议证书-阿里云,Tomcat配置https证书pfx转jks

Tomcat/Nginx配置https协议证书 前言Tomcat配置https协议证书-阿里云方式一 pfx配置证书重启即可 方式二 jkspfx生成jks配置证书重启即可 Nginx配置https协议证书-阿里云实现方式重启即可 其他Tomcat相关配置例子如下nginx配置相关例子如下 前言 阿里云官网&#xff1a;https:…

如何利用自定义指标实现可控弹性伸缩

弹性伸缩是现代应用程序中不可或缺的一部分。随着业务需求的不断变化&#xff0c;应用程序需要能够自动扩展或缩减以应对不同的负载和流量。在Kubernetes集群中&#xff0c;Horizontal Pod Autoscaler&#xff08;HPA&#xff09;是一种实现弹性伸缩的重要机制。HPA基于一些指标…