文章目录
- 28 KVM管理系统资源-绑定QEMU进程至物理CPU
- 28.1 概述
- 28.2 操作步骤
28 KVM管理系统资源-绑定QEMU进程至物理CPU
28.1 概述
QEMU主进程绑定特性是将QEMU主进程绑定到特定的物理CPU范围内,从而保证了运行不同业务的虚拟机不会干扰到邻位虚拟机。例如在一个典型的云计算场景中,一台物理机上会运行多台虚拟机,而每台虚拟机的业务不同,造成了不同程度的资源占用,为了避免存储IO密集的虚拟机对邻位虚拟机的干扰,需要将不同虚拟机处理IO的存储进程完全隔离,由于QEMU主进程是处理前后端的主要服务进程,故需要实现隔离。
28.2 操作步骤
通过virsh emulatorpin命令可以绑定QEMU主进程到物理CPU。
-
查看QEMU进程当前绑定的物理CPU范围:
[root@superman-21 ~]# virsh emulatorpin openEulerVM emulator: CPU Affinity ---------------------------------- *: 0-63 [root@superman-21 ~]#
这说明虚拟机_openEulerVM_对应的QEMU主进程可以在主机的所有物理CPU上调度。
-
在线绑定:修改处于running状态的虚拟机对应的QEMU进程的绑定关系,使用带**–live**参数的vcpu emulatorpin命令:
[root@superman-21 ~]# virsh emulatorpin openEulerVM --live 2-3 [root@superman-21 ~]# virsh emulatorpin openEulerVM emulator: CPU Affinity ---------------------------------- *: 2-3 [root@superman-21 ~]#
以上命令把虚拟机_open__Euler__VM_对应的QEMU进程绑定到物理CPU2、3上,即限制了QEMU进程只在这两个物理CPU上调度。这一绑定关系的调整立即生效,但在虚拟机关机并重新启动后失效。
-
持久化绑定:在libvirt内部配置中修改虚拟机对应的QEMU进程的绑定关系,使用带**–config**参数的virsh emulatorpin命令:
[root@superman-21 ~]# virsh emulatorpin openEulerVM --config 0-3,^1 [root@superman-21 ~]# virsh emulatorpin openEulerVM --config emulator: CPU Affinity ---------------------------------- *: 0,2-3 [root@superman-21 ~]#
以上命令把虚拟机_open__Euler__VM_对应的QEMU进程绑定到物理CPU0、2、3上,即限制了QEMU进程只在这三个物理CPU上调度。这一绑定关系的调整不会立即生效,在虚拟机下一次启动后才生效,并持久生效。
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!