VM虚拟化学习四——虚拟机CPU和内存动态扩容
1.CPU动态扩容
1.1 创建虚拟机配置CPU数
[root@linux-node4 ~]# virt-install --help|grep cpu #创建虚拟机的时候可以配置CPU
--vcpus VCPUS Number of vcpus to configure for your guest. Ex:
--vcpus 5 #指定CPU个数为5
--vcpus 5,maxcpus=10,cpuset=1-4,6,8
#指定cpu个数为5,动态修改时CPU最大数为10,cpuset可以把CPU设在某一个核上
--vcpus sockets=2,cores=4,threads=2,
--cpu CPU CPU model and features. Ex:
--cpu coreduo,+x2apic
--cpu host
1.2 动态修改CPU数
[root@linux-node4 ~]# virsh edit CentOS-7.2-x86_64 #编辑虚拟机xml文件,找到vcpu标签
<vcpu placement='static'>1</cpu> #当前cpu为静态配置
#将vcpu配置改为动态,当前CPU数为1,最大为4,改完重启生效,以后就可以用命令动态修改立刻生效了
<vcpu placement='auto' current="1">4</cpu>
[root@linux-node4 ~]# virsh setvcpus CentOS-7.2-x86_64 2 --live #将当前cpu数改2
1.3 查看效果
-
修改前效果
●注意事项
CPU热添加只能加不能减,删除要重启!
2.内存动态扩容
2.1 查看虚拟机当前分配内存数
root@linux-node4 ~]# grep -i "memory" /etc/libvirt/qemu/CentOS-7.2-x86_64.xml
<memory unit='KiB'>1048576</memory> #虚拟机总内存数
<currentMemory unit='KiB'>1048576</currentMemory> #当前虚拟机内存分配为1G
2.2 动态修改内存数
#将虚拟机内存限制为512M
[root@linux-node4 ~]# virsh qemu-monitor-command CentOS-7.2-x86_64 --hmp --cmd ballon 512
#查看虚拟机当前分配的内存
[root@linux-node4 ~]# virsh qemu-monitor-command CentOS-7.2-x86_64 --hmp --cmd info balloon
balloon: actual=512
[root@linux-node4 ~]# virsh qemu-monitor-command CentOS-7.2-x86_64 --hmp --cmd balloon 798
[root@linux-node4 ~]# virsh qemu-monitor-command CentOS-7.2-x86_64 --hmp --cmd info balloon
balloon: actual=798
2.3 查看效果
●注意事项
-
内存可以同时支持热添加和热减少,修改配置文件后,重启虚拟机使用virsh qemu-monitor-command命令即可,热添加在安装前就应该规划好,并且总数不能超过最大内存
-
硬盘也支持热添加和热减少,但生产中不建议(有风险),可以直接添加一块硬盘即可