遷移Xen虛擬機到KVM的六大步驟
如果是在Linux上使用虛擬化技術(shù)的話(huà),就會(huì )有基于Xen Hypervisor部署一個(gè)系統的機會(huì )。因為基于內核的虛擬機(KVM:Kernel-Based Virtual Machine)已經(jīng)逐漸成為L(cháng)inux上面虛擬化的主流,用戶(hù)也有可能會(huì )希望把基于Linux的虛擬化工作環(huán)境從Xen轉換到KVM。本篇文章給出了把基于Xen的虛擬機遷移到KVM上的六步方針。
本文引用地址:http://dyxdggzs.com/article/148631.htm到目前為止,還沒(méi)有成熟的管理產(chǎn)品可以自動(dòng)地把Xen虛擬機轉換為KVM。但是現在卻有一項技術(shù)解決方案可以輔助把Xen上面安裝的虛擬機轉換到KVM上。下面的幾個(gè)步驟將會(huì )介紹針對Linux虛擬機需要如何實(shí)施。我盡可能從不基于任何發(fā)行版的高度來(lái)描述這個(gè)流程,但是需要注意的是對于特定步驟,所有的工具是和Linux發(fā)行版相關(guān)的。
1. 確保在宿主工作環(huán)境(即可以看做是Dom0工作環(huán)境)中安裝了parted和kpartx實(shí)用程序。Parted可以輔助分區;kpartx完成掛載分區,這個(gè)分區在虛擬機內定義。
2. 啟動(dòng)要遷移的虛擬機,安裝GRUB引導裝載程序。默認情況下,Xen虛擬機內沒(méi)有安裝引導裝載程序,因為該程序由Xen虛擬工作環(huán)境自身提供。因此需要在遷移之前確保該程序已經(jīng)安裝。
3. 關(guān)閉Xen虛擬機,把整個(gè)虛擬機復制到一個(gè)鏡像文件。開(kāi)始之前需要確保系統有足夠的磁盤(pán)空間,這里需要很多GB的空間;同時(shí)確保使用的是正確的流程。例如,Xen后端虛擬存儲可以已經(jīng)是一個(gè)鏡像文件,但是也可以是使用設備安裝的,如一個(gè)分區或者一個(gè)邏輯卷管理器(LVM:Logic Volume Manager)卷作為一個(gè)后端存儲設備。例如,如果使用“/dev/images/xenvm1” LVM邏輯卷作為Xen后端存儲設備的話(huà),可以使用下面的這個(gè)命令寫(xiě)入鏡像文件:
dd if=/dev/images/xevvm1 f=xen.img bs=1M
注意:如果在虛擬機內有復雜的分區,就需要為每一個(gè)分區創(chuàng )建一個(gè)鏡像文件。該流程假定虛擬機內的一切信息都位于一個(gè)大根分區中。
4. 為KVM虛擬機創(chuàng )建一個(gè)新鏡像文件。該鏡像文件應該和為要遷移的虛擬機所創(chuàng )建的鏡像文件一樣大小。在下面的例子中,我將會(huì )假定使用的是一個(gè)10GB的Xen鏡像;在實(shí)際部署中注意把這個(gè)值調整為虛擬機實(shí)際占用的空間大?。?/p>
dd if=/dev/zero f=kvm.img bs=1M count=10240
5. 在上述步驟所創(chuàng )建的KVM鏡像文件中創(chuàng )建分區。創(chuàng )建分區的唯一方法就是使用parted命令行實(shí)用程序。下面這幾個(gè)步驟將會(huì )創(chuàng )建一個(gè)9GB的根分區和一個(gè)1GB的交換分區。需要在根特權下才可以執行這幾個(gè)命令:
parted kvm.img mklabel msdos
parted kvm.img mkpart primary ext2 0 9000
parted kvm.img mkpart primary linux-swap 9000 10000
parted kvm.img set 1 boot on
6. 把Xen鏡像文件拷貝到KVM鏡像文件中。以根權限執行下述命令:
following commands:
modprobe dm-mod
losetup /dev/loop kvm.img
kpartx -a /dev/loop0
dd if=xen.img f=/dev/mapper/loop0p1 bs=1M
fsck.ext3 -f /dev/mapper/loop0p1
到此為止,就已經(jīng)把原來(lái)鏡像中的所有文件拷貝到了新鏡像中。接下來(lái)需要進(jìn)行測試,使用下面的這個(gè)命令:
qemu kvm.img
小結
目前,還沒(méi)有工具可以很好地完成從Xen虛擬機到KVM虛擬機的轉換。但是如果虛擬機使用Linux的話(huà),可以使用命令行實(shí)用程序完成該轉換。本文雖然介紹了如何實(shí)施,但是也存在一些局限性,如主要問(wèn)題是該方法僅僅適用于Linux虛擬機。鑒于當前Linux工作環(huán)境中到KVM虛擬化的轉換,更多適用工具的問(wèn)世只是一個(gè)時(shí)間上的問(wèn)題了。
linux相關(guān)文章:linux教程
評論