この投稿では、KVM ゲスト vCPU を増やす方法についての手順を示します。 KVM ゲスト vCPU を増やすには、オンザフライとオフラインの 2 つの方法があります。以下の各方法の手順を見てみましょう。
オンラインの KVM ゲスト vCPU を増やす
1. KVM ホスト上の現在の KVM ゲスト vcpu/memory を確認します:
[root@kvm-host]# virsh dumpxml kvm-guest | grep vcpu <vcpu placement='static'>1</vcpu>
[root@kvm-host]# virsh dominfo kvm-guest Id: - Name: kvm-guest UUID: 8f6fc48c-a6f4-429d-b77e-88a4b8d3d961 OS Type: hvm State: shut off CPU(s): 1 Max memory: 8392704 KiB Used memory: 8392704 KiB Persistent: yes Autostart: disable Managed save: no Security model: selinux Security DOI: 0
2. KVM ゲストの最大 vCPU を設定します。この例では、ゲスト VM の vCPU の最大値を 2 に設定します。
[root@kvm-host]# virsh setvcpus kvm-guest 2 --config --maximum
3. vCPU 設定の最大値が有効になっているかどうかを確認します。 vCPU XML 形式は次のとおりです:
<vcpu placement='static' current='N'>M</vcpu>
ここで、N は現在有効な CPU の数、M は CPU の最大数です。
[root@kvm-host]# virsh dumpxml kvm-guest | grep -i vcpu <vcpu placement='static' current='1'>2</vcpu>
4. virsh コマンドを使用して vCPU を 1 から 2 に増やします:
[root@kvm-host]# virsh setvcpus kvm-guest 2
5. vCPU の追加が完了したかどうかを確認します:
KVM ホストから:
[root@kvm-host]# virsh dominfo kvm-guest Id: 11 Name: kvm-guest UUID: 8f6fc48c-a6f4-429d-b77e-88a4b8d3d961 OS Type: hvm State: running CPU(s): 2 CPU time: 13.9s Max memory: 8392704 KiB Used memory: 8392704 KiB Persistent: yes Autostart: disable Managed save: no Security model: selinux Security DOI: 0 Security label: system_u:system_r:svirt_t:s0:c191,c578 (enforcing)
KVM ゲストから:
[root@localhost ~]# tail -f /var/log/messages checking TSC synchronization [CPU#0 -> CPU#1]: Measured 143005979072 cycles TSC warp between CPUs, turning off TSC clock. Please try to boot with tscsync Marking TSC unstable due to check_tsc_sync_source failed kvm-clock: cpu 1, msr 0:28314b81, secondary cpu clock
[root@localhost ~]# lscpu Architecture: x86_64 CPU op-mode(s): 64-bit CPU(s): 2 Thread(s) per core: 1 Core(s) per socket: 1 CPU socket(s): 2
6. この変更を永続化する場合は、VM 構成を保存します。
[root@kvm-host]# virsh setvcpus kvm-guest 2 --config
オフラインの KVM ゲスト vCPU を増やす
この方法では、ゲスト VM のダウンタイムを調整する必要があります:
1. ゲスト VM をシャットダウンします:
[root@kvm-host]# virsh list Id Name State ---------------------------------------------------- 10 kvm-guest running
[root@kvm-host]# virsh destroy 10 Domain 10 destroyed
[root@kvm-host]# virsh list Id Name State ----------------------------------------------------
2. 必要な数の vCPU を更新します:
# virsh edit guest_vm
この例では、vCPU を 2 から 4 に増やします:
[root@j-kvm-host opc]# virsh edit kvm-guest
差出人:
<memory unit='KiB'>8392704</memory> <currentMemory unit='KiB'>8392704</currentMemory> <vcpu placement='static'>2</vcpu>
宛先:
<memory unit='KiB'>8392704</memory> <currentMemory unit='KiB'>8392704</currentMemory> <vcpu placement='static'>4</vcpu>
3. ゲスト VM を起動し、増加した vCPU が有効になるかどうかを確認します:
[root@j-kvm-host opc]# virsh start kvm-guest
4. 新しい CPU リソースを確認します:
KVM ホストから:
[root@kvm-host]# virsh dominfo kvm-guest Id: 12 Name: kvm-guest UUID: 8f6fc48c-a6f4-429d-b77e-88a4b8d3d961 OS Type: hvm State: running CPU(s): 4 ...
KVM ゲストから:
[root@localhost ~]# lscpu Architecture: x86_64 CPU op-mode(s): 64-bit CPU(s): 4 Thread(s) per core: 1 Core(s) per socket: 1 CPU socket(s): 4 NUMA node(s): 1 Vendor ID: GenuineIntel ...KVM ゲストのメモリ リソースを増やす方法