vSphere环境支持通过vCenter热添加硬件的功能,之前比较多的用的是添加硬盘和网卡,最近因为比较多的情况需要在线添加内存和CPU。之前曾经尝试过几次,因为每次添加完成之后都没有办法识别到增加的部分,今天刚好在网上找资料的时候看到了相关内容,自己尝试了一下,结果很有效,把过程记录下来。

首先需要通过vCenter开启热插拔的功能。wKioL1XJ-O_w-7-4AAKgnTJkL1E828.jpg

需要注意的是,开启该功能需要在关机的情况下启用。


之后打开虚拟机之后看到虚拟机的内存为4G。

wKiom1XJ99qQimplAACjiVkH200948.jpg

接下来修改内存的大小,将内存大小改为6G。

wKioL1XJ-jGwsjIbAAJWPaarBGM316.jpg

登陆系统中查看,内存大小依然是4G。


此时我们查看内存状态,发现部分内存的状态为offline。

# grep line /sys/devices/system/memory/*/state

wKioL1XJ-qbCVSMBAAL0luDBmok266.jpg

通过命令修改状态,将离线的内存挂上。

#echo online > /sys/devices/system/memory/memory[number]/state

再查看内存的状态,发现内存已经调整到6G。

wKiom1XJ-ePD69CBAACkMgANHFk383.jpg


在vSphere 5.0的环境中,添加内存的时候如果原始内存大小为2G,那么在线添加内存的大小最大为4G,但是系统中最多只能识别到3G。如果原始内存大小大于4G,则最大可以扩展到64G。

系统本身可以支持在线热添加CPU的功能,但是我尝试了一下好像是不行,期待以后能有类似的解决方案。