利用三台伺服器建立KVM Live Migration實驗環境

在這邊,先暫時不考慮系統安全性的問題,單純就只是要架構一個可以Zero Downtime Live Migration的環境,以下是一些注意事項。

首先,準備三台PC,分別是HostA, HostB, and NFS,其中HostA以及HostB型號要一樣,因為它們是要做Live Migration的兩台伺服器。也就是我們建立的VM要能夠在HostA和HostB之間任意地Live Migration。至於NFS則不要求。

我們使用192.168.1.*的內網,其中HostA配置為192.168.1.10,HostB配置為192.168.1.11,VM配置為192.168.1.99,而NFS則配置在192.168.1.103。

如何利用virsh命令列來操作虛擬機器

假設現在有兩台主機,分別是192.168.1.10以及192.168.1.11,兩台是同型號的電腦,同時也都安裝有libvirt,一般來說,我們可以使用virsh指令來操作本地端的電腦以瞭解目前在本地端的VM相關的資訊,以及做LIve Migration的操作。

KVM Live Migration時Host的Bridge設定

虛擬機器VM都是用來提供對外的網路服務的,有時候為了容錯或是負載平衡的原因,會在不中斷服務的情況下做主機遷移的工作,這種操作叫做Live Migration。而要讓在Host1或Host2中的VM可以對外提供服務,Host上的網路設定就很重要,它必需要負責讓所有要連線到VM的封包都可以順利找到,不管是對外還是對內,這時候我們就必需在Host上設定好對應的虛擬Bridge網卡才行。

KVM Live Migration 展示(使用virsh指令)

在這裡,我們做了另外一個展示。首先,在遠端的主機http://time.104.es放了一個小小的PHP程式,只要連線到此網站就會傳回當地的時間。接下來,在Virtual Machine中寫一段Python程式disptime.py,在連續50秒內,每隔1秒就去取得該網頁的時間字串,並顯示在螢幕上,完成後並把所有的時間訊息儲存在logfile檔案中。

KVM Live Migration Demo

可能有一些初學者對於什麼是 虛擬機的Live Migration還沒有什麼感覺,在此錄了一小段實作影片給初學者們參考。