32 KVM管理系统资源-管理虚拟内存热插

news/2024/11/9 0:55:30/

文章目录

      • 32 KVM管理系统资源-管理虚拟内存热插
        • 32.1 概述
        • 32.2 约束限制
        • 32.3 操作步骤
          • 32.3.1 配置虚拟机XML
          • 32.3.2 热插并上线内存

32 KVM管理系统资源-管理虚拟内存热插

32.1 概述

在虚拟化场景下,虚拟机的内存、CPU、外部设备都是软件模拟呈现的,因此可以在虚拟化底层为虚拟机提供内存在线调整的能力。当前openEuler版本支持在线给虚拟机添加内存,当虚拟机出现物理内存不足又无法关闭虚拟机的时候,可以使用此特性增加虚拟机的物理内存资源。

32.2 约束限制

  • 创建虚拟机的时候,AArch64平台上指定的主板类型(machine)需为virt-4.1或更高virt以上,x86平台上指定的主板类型需要为pc-i440fx-1.5以上版本。
  • 内存热插特性依赖于Guest NUMA,虚拟机必须配置Guest NUMA,否则无法完成内存热插流程。
  • 热插内存时候必须指定新增内存所属的Gust NUMA node编号,否则内存热插失败。
  • 虚拟机内核必须支持内存热插能力,否则虚拟机无法识别新增内存或者无法上线内存。
  • 配置使用大页的虚拟机,热插内存的容量必须是系统hugepagesz的整数倍,否则会导致热插失败。
  • 热插内存的大小必须为Guest物理内存块大小block_size_bytes的整数倍,否则无法正常上线。在Guest内部执行lsmem可以获取block_size_bytes大小。
  • 配置n个virtio-net网卡后,最大可热插次数取值为min{max_slot, 64 - n},因为要给网卡预留slot。
  • vhost-user设备和内存热插特性互斥。配置了vhost-user设备的虚拟机不支持内存热插;内存热插后,不支持虚拟机热插vhost-user设备。
  • 如果虚拟机操作系统为Linux系列,请确保初始内存大于等于4GB。
  • 如果虚拟机操作系统为Windows类型,第一次热插内存必须指定到Guest NUMA node0上,否则热插内存无法被虚拟机识别。
  • 在直通场景下,由于需要预先分配内存,因此启动和热插内存都比普通虚拟机要慢(尤其是大规格虚拟机),属于正常现象。
  • 建议虚拟机可用内存与热插内存的比例至少为1:32,即热插32G内存虚拟机至少需要有1G可用内存,如果低于该比例可能会导致虚拟机卡死。
  • 热插内存是否自动上线取决于虚拟机操作系统自身逻辑,可以手动上线或者配置udev规则自动上线。

32.3 操作步骤

32.3.1 配置虚拟机XML

使用内存热插功能,需要在创建虚拟机时配置可热插内存的最大范围、预留槽位号,并配置Guest NUMA拓扑结构。

例如,为虚拟机配置32GiB初始内存,预留256个槽位号,最大支持1TiB内存上限,2个NUMA node的配置为:

<domain type='kvm'><memory unit='GiB'>32</memory><maxMemory slots='256' unit='GiB'>1024</maxMemory><cpu mode='host-passthrough' check='none'><topology sockets='2' cores='2' threads='1'/><numa><cell id='0' cpus='0-1' memory='16' unit='GiB'/><cell id='1' cpus='2-3' memory='16' unit='GiB'/></numa></cpu>....

img 说明: 其中: maxMemory字段中slots号表示预留的内存插槽,最大取值为256。 maxMemory表示虚拟机支持的最大物理内存上限。 Guest NUMA配置请参见“配置Guest NUMA”相关章节。

32.3.2 热插并上线内存
  1. 如果热插内存后需要自动上线热插的内存,可以使用root权限在虚拟机内部创建udev rules文件/etc/udev/rules.d/99-hotplug-memory.rules,并在其中定义udev规则,内容参考如下:

    # automatically online hot-plugged memory
    ACTION=="add", SUBSYSTEM=="memory", ATTR{state}="online"
    
  2. 根据需要热插的内存大小和虚拟机Guest NUMA Node创建内存描述xml文件。

    例如,热插1GiB内存到NUMA node0上:

    <memory model='dimm'><target><size unit='MiB'>1024</size><node>0</node></target>
    </memory>
    
  3. 使用virsh attach-device命令为虚拟机热插内存。其中openEulerVM为虚拟机名称,memory.xml为热插内存的描述文件,–live表示热插内存在线生效,也可以使用–config 将热插内存持久化到虚拟机xml文件中。

    # virsh attach-device openEulerVM memory.xml --live
    

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

    for i in `grep -l offline /sys/devices/system/memory/memory*/state`
    do
    echo online > $i
    done
    

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

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

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

image-20230528224256724


http://www.ppmy.cn/news/99761.html

相关文章

1107 Social Clusters(37行代码+超详细注释)

分数 30 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 When register on a social network, you are always asked to specify your hobbies in order to find some potential friends with the same hobbies. A social cluster is a set of people who have some…

网络通信IO模型-BIO

承接上文网络通信IO模型上 BIO的Java代码 服务端创建一个ServerSocket&#xff0c;绑定了端口号8090&#xff0c;目的是让客户端和服务端建立连接后进行通信&#xff0c;然后进入死循环&#xff0c;死循环里面会调用server.accept得到一个socket客户端&#xff0c;打印客户端的…

【提示学习】HPT: Hierarchy-aware Prompt Tuning for Hierarchical Text Classification

论文信息 名称内容论文标题HPT: Hierarchy-aware Prompt Tuning for Hierarchical Text Classification论文地址https://arxiv.org/abs/2204.13413研究领域NLP, 文本分类, 提示学习, 层级标签文本分类提出模型HPT(Hierarchy-aware Prompt Tuning)来源EMNLP 2022源码https://gi…

SNP一秒解答SAP云迁移的四种部署模式

为了方便不同需求的用户&#xff0c;多云计算提供商提供了多种形式的云服务&#xff0c;常见的有公有云、私有云、混合云和社区云等。 私有云(Private Clouds) 是为一个客户单独使用而构建的&#xff0c;因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施&am…

强化学习笔记

目录 Q-Learning DQN 拟合Q 评估方式 基本概念 业务实践 参考 Q-Learning 动态规划Dynamic Programming并且由此引出了Q-Learning算法。可能一些知友不是特别理解。那么这里我们再用简单的语言描述一下整个思路是什么。 为了得到最优策略Policy&#xff0c;我们考虑估算…

从sftp下载大文件到浏览器

从sftp下载大文件到浏览器 问题方案相关依赖包相关代码片段&#xff08;后端&#xff09;文件信息缓存工具类-FileChunkCache文件信息对象-FileDetailsftp传输进度监控-FileProgressMonitor切片工具类-ChunkService文件下载服务-AsyncDownloadService 问题 近期遇到直接使用sf…

多元回归预测 | Matlab蛇群算法(SO)优化最小二乘支持向量机回归预测,SO-LSSVM回归预测,多变量输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab蛇群算法(SO)优化最小二乘支持向量机回归预测,SO-LSSVM回归预测,多变量输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %---…

数据类型.

数据类型 数据类型分类 数值类型 tinyint类型 数值越界测试&#xff1a; mysql> create table tt1(num tinyint); Query OK, 0 rows affected (0.02 sec)mysql> insert into tt1 values(1); Query OK, 1 row affected (0.00 sec)mysql> insert into tt1 values(128…