靜態遷移:也叫作常規遷移、離線遷移(Offline Migration)。就是在虛擬機關機或暫停的狀況下從一臺物理機遷移到另外一臺物理機。由於虛擬機的文件系統創建在虛擬機鏡像上面,因此在虛擬機關機的狀況下,只須要簡單的遷移虛擬機鏡像和相應的配置文件到另一臺物理主機上;若是須要保存虛擬機遷移以前的狀態,在遷移以前將虛擬機暫停,而後拷貝狀態至目的主機,最後在目的主機重建虛擬機狀態,恢復執行。這種方式的遷移過程須要顯式的中止虛擬機的運行。從用戶角度看,有明確的一段停機時間,虛擬機上的服務不可用。這種遷移方式簡單易行,適用於對服務可用性要求不嚴格的場合。 python
兩臺dell R710,兩臺作宿主機上面安裝kvm虛擬機,主要實驗kvm的vm靜態遷移過程。 shell
Ubuntu-src、Ubuntu-dst,kvm的安裝以在Ubuntu-src爲例: ubuntu
在Ubuntu-src、Ubuntu-dst上都須要安裝如下軟件包 ssh
apt-get install ubuntu-virt-server python-vm-builder kvm-ipxe bridge-utils如下的操做均在Ubuntu-src上面執行:
查看cpu及BIOS是否開啓虛擬化支持,BIOS的檢查在開機啓動時,按F2檢查,cpu按照以下命令檢查: 工具
egrep '(vmx|svm)' --color=always /proc/cpuinfo修改網卡配置(/etc/network/interfaces),創建橋接,以下:
auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 10.1.6.90 netmask 255.255.255.0 gateway 10.1.6.254 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off安裝基於image的vm,進入/opt目錄,導入一個debian6的iso安裝鏡像,而後用kvm-img生成一個vm image
kvm-img create -f qcow2 debian.img 5G採用virt-install方法管理虛擬機,安裝如下工具包:
apt-get install libvirt-bin virtinst安裝kvms虛擬機
virt-install -d -n kvms -r 2048 --disk path=/opt/debian.img,bus=virtio,cache=none,format=qcow2 --network bridge=br0,model=virtio --vnc --cdrom=/opt/debian-6.0.2.1-amd64-CD-1.iso使用vnc打開安裝界面
接下來按照正常的安裝過程一步一步安裝完畢後,重啓虛擬機,由於使用virt-install安裝完虛擬機後,默認虛擬機是不啓動的,因此須要先啓動虛擬機。
能夠看到kvms虛擬機已經啓動了,在Ubuntu-src上ssh登陸kvms: oop
接下來進行靜態遷移 ui
先在Ubuntu-src上關閉kvms虛擬機,並把/opt/debian.img文件拷貝至Ubuntu-dst的/opt目錄下面,並把kvms虛擬機的配置文件/etc/libvirt/qemu/kvms.xml拷貝至Ubuntu-dst的/etc/libvirt/qemu的目錄下。 spa
scp /opt/debian.img root@10.1.6.228:/opt scp /etc/libvirt/qemu/kvms.xml root@10.1.6.228:/etc/libvirt/qemu以下圖
接下來全部的操做轉移至Ubuntu-dst上進行操做: code
查看Ubuntu-dst上有哪些虛擬機在,由於Ubuntu-dst上尚未運行虛擬機,因此看不到有虛擬機: orm
virsh list --all
使拷貝過來的kvms的配置文件生效,而後再次查看系統中的虛擬機,就會看到kvms了:
virsh define /etc/libvirt/qemu/kvms.xml virsh list --all
啓動Ubuntu-dst上的kvms虛擬機,並登陸kvms虛擬機:
virsh start kvms ssh root@10.1.6.237整個過程以下:
能夠看到kvms已經運行在Ubuntu-dst上了,這時不能在Ubuntu-src上啓動原有的kvms虛擬機,由於這時MAC和IP會衝突的,也能夠修改Ubuntu-src上的kvms的配置文件後,再次啓動它。
最簡單的靜態遷移就完成了,顯然這種虛擬機不適合在線上大規模部署,而且大量的鏡像文件管理起來也很混亂,根據業務可容許中斷的時間,決定是否使用該模式。