Proxmox VE开启CPU&内存热插拔
热插拔是一项非常使用但危险的动作。
一般来说只推荐热插,不推荐热拔。
一:开启虚拟机的热插拔功能
1、在虚拟机选项里,开启热插拔功能
2、在虚拟机CPU上,开启NUMA
如上图所示,需要开启NUMA。
如果要支持CPU热插拔。需要核数大于VCPU数量。这里需要补充一个概念就是,虚拟机内部的CPU数量,为vcpu数,不是核数。核数是可以为CPU提供的最大CPU数。VCPU≤核数。
CPU热插拔的重点也是这里,需要给虚拟机CPU核心一个范围,vcpu,可以在这个范围内增减。
这是16核心,4vcpu的虚拟机设备管理截图,依旧是4核。
KVM需要关机状态下,更改配置,如果是开机状态,需要关机之后,再开机,配置才会生效
二:热插拔测试
对于windows虚拟机
这里将vcpu改成6核
系统里面,刷新了一下,识别成6核
对于linux虚拟机
在5.4内核的ubuntu上
直接添加就行。
#lscpu 可以看到CPU数量
root@storcli:~# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 40 bits physical, 48 bits virtual
CPU(s): 6
On-line CPU(s) list: 0-3
Off-line CPU(s) list: 4,5
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 15
#在添加的过程中,有off-line的处理器,通过下面的命令激活,其中1为开启,0为关闭。cpu3为cpu序号。
echo 1 > /sys/devices/system/cpu/cpu3/online
#对于内核大于3.10的,也可以通过新建文件,实现自动启用新添加的CPU
nano /lib/udev/rules.d/80-hotplug-cpu-mem.rules
#将下面的内容填进去,
SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1"
SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", ATTR{state}="online"
#输入命令,使新规则生效
udevadm trigger
内存拔插也正常。可以看到图下内存,一点点的减少,最后减少到设定的内存。
但是如果内存降到2G以下,不一定会成功。
建议不使用热拔功能。
版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/643.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/643.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
1
二维码
海报
Proxmox VE开启CPU&内存热插拔
Proxmox VE开启CPU&内存热插拔
1