2015年7月22日 星期三

KVM hotplug 虛擬機熱插拔HDD/RAM/CPU

KVM支援熱插拔硬碟、RAM、CPU、網卡與USB裝置等,也就是在虛擬機不關機的狀態下,動態增減硬體設備,包括CPU與記憶體容量喔,是不是很神奇呢?

蕃薯將在這裡做簡單的示範如何增減硬碟與記憶體,CPU部份目前只支援增加(plug),無法減少(unplug)。至於網卡與USB設備沒什麼限制,就不在此介紹。

作業系統的部份, Linux核心從3.2.0開始支援,Windows Server 2008也開始支援(蕃薯沒試過Windows的系統),測試環境如下:
實體主機(Host):
CentOS Linux release 7.1.1503  核心 3.10.0-229.4.2.el7.x86_64
qemu-kvm-1.5.3-86.el7_1.2.x86_64
libvirt-1.2.8-16.el7_1.3.x86_64
virt-manager-1.1.0-12.el7.noarch
MATE Desktop

虛擬機(Guest):
CentOS Linux release 7.1.1503 核心 3.10.0-229.7.2.el7.x86_64
MATE Desktop

以下將使用virt-manager(Virtual Machine Manager)圖形介面示範。

HDD hotplug 

注意: 要熱插拔硬碟,必須選用virtio介面才行,如果選擇IDE則必須關機後,下次開機才找得到。
還沒增加硬碟前,虛擬機只有一顆/dev/vda。

增加一顆1GB的硬碟,Bus Type記得選用VirtIO喔。

增加硬碟後,可以看到多了一個 /dev/vdb

移除硬碟後,又只看到/dev/vda囉。

RAM hotplug

注意: 要先在關機狀態下設定最大記憶體容量,否則開機後是沒辦法設定最大記憶體容量的。
範例中虛擬機配置最大記憶體容量為2048MB, 目前容量是1024MB


將記憶體改為1536MB,可以看到System Monitor的記憶體容量也跟著改變。


再將記憶體改為768MB。
 


CPU hotplug

注意: 要先在關機狀態下設定最大CPU數量,否則開機後是沒辦法設定最大CPU數量的。而且CPU不支援unplug,若要減少CPU數量,必須關閉虛擬機才行。
範例中虛擬機最大CPU數量為4,目前分配1個CPU。


CPU數量改為2顆,可以看到有cpu0和cpu1, 但System Monitor不會更新CPU數量,必須關掉重開才能看到2個CPU。


以上小小示範,提供給大家參考囉。

沒有留言:

張貼留言