Kvm-Virtualization
libvirt cputune 配置如何進入 qemu-kvm
我正在將 xml libvirt 配置移植到 qemu 可執行參數。簡單地說,我有 .xml vm 配置,我想通過使用特殊的命令行參數
virsh edit vm-name
執行來執行同一台 vm 機器。qemu-system-x86_64
死於我無法使用的特定需求libvirt
。問題是 .xml vm config 使用來自主機的特殊 cpu 映射:<cputune> <vcpupin vcpu='1' cpuset='3'/> <vcpupin vcpu='0' cpuset='0-2'/> <emulatorpin cpuset='0-2'/> </cputune>
然後在 cpu numa config 中使用這些 vcpus:
<cpu> <numa> <cell cpus='0' memory='2097152'/> <cell cpus='1' memory='2097152'/> </numa> </cpu>
我以這種方式映射 numa 配置:
/usr/bin/qemu-system-x86_64 -numa node,nodeid=0,cpus=0,mem=2048 -numa node,nodeid=1,cpus=1,mem=2048
但我不知道如何為/usr/bin/qemu-system-x86_64
. 那就是問題所在。有任何想法嗎?PS 我的具體任務是在 Kata-containers 執行時執行帶有 vcpu 調整的特定 vm,因為我想在 Docker 或 Kubernetes 下執行這樣的 vm。所以我需要修補 kata-runtime。Kata-runtime 使用Intel GoVmm執行 qemu-kvm vms ,它只能使用命令行參數執行 qemu 二進製文件。目前我正在修補 govmm 以滿足我的特定需求。Intel govmm 不使用 libvirt。
這些設置是使用 cgroups 而不是 qemu 選項設置的。
cpuset
您可以使用cgroup 子系統來實現它。您可以通過執行 qemu 程序獲取 cgroup 設置cat /proc/<qemu pid>/cgroups
。