從 xend 轉移至 libxl

xend 與 libxl

xend 是一個長駐程式,以 python 寫成,用來管理 Xen 區域。由 Xen 4.1 起,一個名為 libxl 的代替品的工作展開了。libxlxend 有下列優勢:

管理員可透過 xm 這個指令行工具向 xend 發出命令。它已被 xl,一個連結到 libxl 的工具所取代。

由 Xen 4.2 起 libxlxl 已成為首選的工具堆疊。時至 4.5,xend 已被移離源碼樹。因此 Xen 4.4(Xen4CentOS 的現有版本)是最後一個包含 xend 的發行版本。用戶應該儘快過渡至 libxlxl

從 xm 轉移至 xl

xl 被設計成與 xm 在指令行上兼容。大多數情況下,你應該能套用 xl 在現有的 xm 設定檔及指令,例如:

xl create vm.cfg
xl list
xl shutdown vm

xen 計劃的 xl wiki 頁記載了少數的例外。值得注意的例外有:

任何 xm 功能,只要沒有被上述網頁列為「非功能」便應該獲 xl 支援。要是你發現某個 xm 功能無法運作,但不在該清單上,請匯報到 centos-virtxen-user 郵件列表,好讓能作出修正。

若要採用 xllibxl,你只需停用 xend

chkconfig xend off
service xend stop

從 libvirt 和 xend 轉移至 libvirt 和 libxl

當 libvirt 的長駐程式 libvirtd 啟動時,它會自動判斷採用 xend 抑或 libxl

可惜由於驅動程式在實施上的差異,你不能純綷透過停用 xend 及啟用 libvirtd 來進行轉移。你必須以手動方式把虛擬電腦的設定檔從 xend 轉移至 libxl

幸好這樣做並不難。首先,請匯出每台虛擬電腦的 libvirt xml 設定檔:

virsh shutdown ${vmname}
virsh dumpxml ${vmname} > ${vmname}.xml

然後停止 xend 並重新啟用 libvirtd(好讓它轉用 libxl):

chkconfig xend off
service xend stop
service libvirtd restart

最後,為每個區域匯入 libvirt xml 設定檔:

virsh define ${vmname}.xml

libvirt/xend 支援的多數功能在 libvirt/libxl 下都應該能正常運作。如果你發現無法運作的功能,請匯報到 centos-virt 或 xen-user 郵件列表。

Translation of revision 3

zh-tw/HowTos/Xen/Xen4QuickStart/MigratingToXl (last edited 2015-01-28 15:11:45 by TimothyLee)