文章目录
- 10 KVM虚拟机配置-虚拟CPU和虚拟内存
- 10.1 概述
- 10.2 元素介绍
- 10.3 配置示例
10 KVM虚拟机配置-虚拟CPU和虚拟内存
10.1 概述
本节介绍虚拟CPU和虚拟内存的常用配置。
10.2 元素介绍
-
vcpu:虚拟处理器的个数。
-
memory:虚拟内存的大小。
属性unit:指定内存单位,属性值支持KiB(210 字节),MiB(220 字节),GiB(230 字节),TiB(240 字节)等。
-
cpu:虚拟处理器模式。
属性mode:表示虚拟CPU的模式。
- host-passthrough:表示虚拟CPU的架构和特性与主机保持一致。
- custom:表示虚拟CPU的架构和特性由此cpu元素控制。
子元素topology:元素cpu的子元素,用于描述虚拟CPU模式的拓扑结构。
- 子元素topology的属性socket、cores、threads分别描述了虚拟机具有多少个cpu socket,每个cpu socket中包含多少个处理核心(core),每个处理器核心具有多少个超线程(threads),属性值为正整数且三者的乘积等于虚拟CPU的个数。
- ARM架构支持虚拟超线程, 虚拟CPU热插与虚拟超线程功能互斥。
子元素model:元素cpu的子元素,当mode为custom时用于描述CPU的模型。
子元素feature:元素cpu的子元素,当mode为custom时用于描述某一特性的使能情况。其中,属性name表示特性的名称,属性policy表示这一特性的使能控制策略:
- force:表示强制使能该特性,无论主机CPU是否支持该特性。
- require:表示使能该特性,当主机CPU不支持该特性并且hypervisor不支持模拟该特性时,创建虚拟机失败。
- optional:表示该特性的使能情况与主机上该特性的使能情况保持一致。
- disable:禁用该特性。
- forbid:禁用该特性,当主机支持该特性时创建虚拟机失败。
10.3 配置示例
例如,虚拟CPU个数为4,处理模式为host-passthrough,虚拟内存为8GiB,4个CPU分布在两个CPU socket中,且不支持超线程的配置如下:
<domain type='kvm'> ---虚拟化类型
...
<vcpu>4</vcpu> ---虚拟cpu数量
<memory unit='GiB'>8</memory> ---虚拟内存大小
<cpu mode='host-passthrough'> ---虚拟处理器模式为host-passthrough
<topology sockets='2' cores='2' threads='1'/> ---socket、cores、threads数量
</cpu>
...
</domain>
虚拟内存为8GiB,虚拟CPU个数为4,处理模式为custom,model为Kunpeng-920,且禁用pmull特性的配置如下:
<domain type='kvm'> ---虚拟化类型
...
<vcpu>4</vcpu> ---虚拟cpu数量
<memory unit='GiB'>8</memory> ---虚拟内存大小
<cpu mode='custom'> ---虚拟处理器模式为custom
<model>Kunpeng-920</model> ---虚拟cpu的类型为Kunpeng-920
<feature policy='disable' name='pmull'/> ---cpu子元素的使能情况
</cpu>
...
</domain>
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!