KVM libvirt的CPU热添加
1、CentOS7.3:
需求:说明:默认有两个cpu,由于压力较大的情况下,需要在线添加一个1个cpu
添加cpu前,查看cpu信息
[root@localhost ~]# cat /proc/cpuinfo
processor: 0
vendor_id: GenuineIntel
cpu family: 6
model: 58
model name: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
stepping: 9
microcode: 0x1
cpu MHz: 2494.342
cache size: 4096 KB
physical id: 0
siblings: 1
core id: 0
cpu cores: 1
apicid: 0
initial apicid: 0
fpu: yes
fpu_exception: yes
cpuid level: 13
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon rep_good nopl pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm fsgsbase tsc_adjust smep
bogomips: 4988.68
clflush size: 64
cache_alignment: 64
address sizes: 42 bits physical, 48 bits virtual
power management:
在线添加cpu信息:
virsh setvcpus CentOS-7.3-X86_64 2 --live (将cpu的在线个数调整为3个)
添加后进行比对:
[root@localhost ~]# cat /proc/cpuinfo
processor: 0
vendor_id: GenuineIntel
cpu family: 6
model: 58
model name: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
stepping: 9
microcode: 0x1
cpu MHz: 2494.342
cache size: 4096 KB
physical id: 0
siblings: 1
core id: 0
cpu cores: 1
apicid: 0
initial apicid: 0
fpu: yes
fpu_exception: yes
cpuid level: 13
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon rep_good nopl pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm fsgsbase tsc_adjust smep
bogomips: 4988.68
clflush size: 64
cache_alignment: 64
address sizes: 42 bits physical, 48 bits virtual
power management:
processor: 1
vendor_id: GenuineIntel
cpu family: 6
model: 58
model name: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
stepping: 9
microcode: 0x1
cpu MHz: 2494.342
cache size: 4096 KB
physical id: 1
siblings: 1
core id: 0
cpu cores: 1
apicid: 1
initial apicid: 1
fpu: yes
fpu_exception: yes
cpuid level: 13
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon rep_good nopl pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm fsgsbase tsc_adjust smep
bogomips: 4988.68
clflush size: 64
cache_alignment: 64
address sizes: 42 bits physical, 48 bits virtual
power management:
[root@localhost ~]# cat /proc/interrupts
CPU0 CPU1
0: 679 0 IO-APIC-edge timer
1: 10 0 IO-APIC-edge i8042
6: 3 0 IO-APIC-edge floppy
8: 0 0 IO-APIC-edge rtc0
9: 1 0 IO-APIC-fasteoi acpi
10: 28 0 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb2
11: 2930 0 IO-APIC-fasteoi uhci_hcd:usb3, uhci_hcd:usb4, virtio3
12: 15 0 IO-APIC-edge i8042
14: 3348 0 IO-APIC-edge ata_piix
15: 0 0 IO-APIC-edge ata_piix
24: 0 0 PCI-MSI-edge virtio0-config
25: 1707 0 PCI-MSI-edge virtio0-input.0
26: 1 0 PCI-MSI-edge virtio0-output.0
27: 0 0 PCI-MSI-edge virtio2-config
28: 5807 0 PCI-MSI-edge virtio2-req.0
29: 0 0 PCI-MSI-edge virtio1-config
30: 3 0 PCI-MSI-edge virtio1-virtqueues
NMI: 0 0 Non-maskable interrupts
LOC: 74004 208 Local timer interrupts
SPU: 0 0 Spurious interrupts
PMI: 0 0 Performance monitoring interrupts
IWI: 5362 6 IRQ work interrupts
RTR: 0 0 APIC ICR read retries
RES: 20 61 Rescheduling interrupts
CAL: 0 89 Function call interrupts
TLB: 0 3 TLB shootdowns
TRM: 0 0 Thermal event interrupts
THR: 0 0 Threshold APIC interrupts
DFR: 0 0 Deferred Error APIC interrupts
MCE: 0 0 Machine check exceptions
MCP: 12 1 Machine check polls
ERR: 0
MIS: 0
PIN: 0 0 Posted-interrupt notification event
PIW: 0 0 Posted-interrupt wakeup event
2、Win2012:
setvcpus win2012 2 --live
不需要进行激活操作,系统会自动识别新的CPU
3、注意事项
a、KVM虚拟化不能在线减少CPU,cpu热添加技术适合不能停机但是cpu性能严重不足的场景
b、CPU热添加的技术对宿主机以及虚拟机操作系统版本要求较高
c、CPU热添加,总数不能大于最大CPU个数
<vcpu placement='auto' current=‘1’>4</vcpu>