Xen-to-KVM虛擬機遷移指南
Red Hat Enterprise Linux 6不支持Xen虛擬機。如果用戶升級到這個測試版操作系統(tǒng),需要同時完成Xen虛擬機到KVM平臺的遷移。
紅帽公司正在研發(fā)virt-v2v工具,用于幫助用戶快速實現(xiàn)Xen-to-KVM的遷移。在這之前,只能手動進行。本文描述了其遷移過程及原理,請注意:這些方法不適用那些害怕使用Linux命令行的人員。(參閱51CT0相關(guān)文章:虛擬機在線遷移有何好處?)
準(zhǔn)備Xen-to-KVM遷移的guest服務(wù)器
***步的重點是配置Xen-to-KVM虛擬機遷移的Xen guest服務(wù)器。您需要在控制臺升級reference,因為Xen平臺使用xvc0設(shè)備,而KVM虛擬機是ttyS0設(shè)備。如下的一些文件會跟該設(shè)備相關(guān):
● /etc/inittab
● /etc/securetty
● /boot/grub/grub.conf
定義跟設(shè)備相關(guān)的文件,并進行對應(yīng)的更改。下一步是配置虛擬機磁盤設(shè)備,包括如下兩個文件:
● /etc/fstab
● /boot/grub/device.map
如果您要使用虛擬機virtio驅(qū)動程序,把設(shè)備從Xenc磁盤/dev/xvda修改為KVM磁盤/dev/vda 。反之,則修改為另外一種KVM磁盤/dev/had。(在/etc/fstab中修改磁盤的操作并非必須,只有在沒有設(shè)置虛擬機使用磁盤卷標(biāo)的情況下才需要。但是我們?nèi)匀唤ㄗh修改/boot/grub/device.map中的設(shè)備)
接下來需要修改內(nèi)核。Xen使用了特殊的Xen內(nèi)核,KVM則需要修改為默認(rèn)的KVM內(nèi)核。首先,通過Yum安裝命令安裝默認(rèn)的內(nèi)核。然后升級包含了啟動內(nèi)核所需驅(qū)動在內(nèi)的initrd系統(tǒng)。通過如下命令:
mkinitrd -v -f --with=virtio_pci --builtin=xenblk /boot/nameoftheinitrd kernel-version
在/boot中可以找到initrd系統(tǒng)的真實名稱,通過uname –r命令獲得內(nèi)核的版本。
通過在文件中包含DEFAULTKERNEL=kernel行,來確保/etc/sysconfig/kernel文件已經(jīng)鏈接到新的內(nèi)核。
***,通過virtio驅(qū)動來確保KVM虛擬機平臺可以獲得***的性能。通過在/etc/modprobe.conf中添加如下兩行命令,可以在啟動虛擬機時自動加載這些驅(qū)動:
alias scsi_hostadapter virtio_blk
alias eth0 virtio_net
#p#
準(zhǔn)備Xen-to-KVM遷移的host主機
完成Xen-to-KVM遷移guest主機的準(zhǔn)備工作之后,接下來配置host主機。首先,安裝默認(rèn)內(nèi)核并在/etc/sysconfig/kernel文件中引用。請注意Security-Enhanced Linux,如果使用邏輯卷作為后端存儲設(shè)備,可能會導(dǎo)致KVM出問題。使用setenforce 0命令可以避免這種情況。
下一步是搭建網(wǎng)橋,使得Xen虛擬機可以訪問物理網(wǎng)絡(luò)連接。創(chuàng)建包含如下命令行在內(nèi)的/etc/sysconfig/network-scripts/ifcfg-br0文件
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
通過創(chuàng)建包含如下內(nèi)容的/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,實現(xiàn)把網(wǎng)橋連接到eth0網(wǎng)卡適配器:
DEVICE=eth0
HWADDR=MAC address of the hardware eth0 card
BRIDGE=br0
ONBOOT=yes
完成這些操作后我們重啟host服務(wù)器后就會調(diào)用新的內(nèi)核。大部分Xen-to-KVM虛擬機遷移工作宣告完成。還有***兩個重要步驟:在重啟后,為剛才修改過的KVM虛擬機創(chuàng)建新的配置文件。使用virt-manager終端來定義guest服務(wù)器如下選項:
● 你希望使用的guest服務(wù)器名稱
● guest服務(wù)器使用的CPU架構(gòu)
● OS類型和版本
● Xen虛擬機使用的后端存儲類型
● 網(wǎng)絡(luò)配置,以及
● 內(nèi)存數(shù)量和CPU核心數(shù)量
不要在guest服務(wù)器上運行新安裝程序,這會覆蓋對Xen虛擬機做的所有配置工作。
創(chuàng)建了新的KVM虛擬機配置文件后,使用virsh編輯命令配置磁盤屬性。找到如下所示用于定義活動的主磁盤設(shè)備的代碼:
disk type='block' device='disk'
source dev='/dev/vol0/lv.server'/
target dev='hda' bus='ide'/
/disk
修改target相關(guān)內(nèi)容實現(xiàn)磁盤對virtio驅(qū)動的調(diào)用:
target dev='vda' bus='virtio'/
現(xiàn)在我們已經(jīng)獲得一個完整的KVM虛擬機。
【編輯推薦】




















