Xen作為一種應用廣泛的虛擬機方案,無論是在工業還是教育領域都發揮著巨大的作用。Xen不僅有其引以為豪的Paravirtualization實現,還有基於硬件支持的HVM實現。對於Xen,Ubuntu中有現成的解決方案,只要通過一些apt-get install(ubuntu-xen-desktop, xen-hypervisor-4.1-amd64, xen-tools, xen-utils)命令即可傻瓜式安裝。但實際中,我們出於種種原因(比如源中的版本不夠新,或是加了自己的補丁等等),還是傾向於自己DIY。
本文的環境為VirtualBox 4.2.6 + Xen 4.1.2 + Ubuntu 12.04(64位)。
一、編譯安裝Xen
1. 編譯Xen之前需要裝一些軟件
# apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended pciutils-dev mercurial build-essential make gcc libc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev iasl libbz2-dev e2fslibs-dev git-core uuid-dev ocaml ocaml-findlib libx11-dev libc6-xen gcc-multilib xz-utils
注意有些不是必須的。如果編譯的是Xen 4.2,先運行configure可以知道缺了什麼。
2. 點擊這裡下載Xen的源碼包,根據README編譯安裝:
# tar zxvf xen-4.1.2.tar.gz
# cd xen-4.1.2
# make world
# make install
如果是要在另一台機子上部署的用make dist。
編譯過程中會通過git或hg從網上下源碼,所以要確保網絡連通(如果是通過代理上網參考 http://www.linuxidc.com/Linux/2013-02/79334.htm )。
3. 對於Xen的管理工具,Xen 4.1後的趨勢是xl逐漸替代xm。用哪個可以在配置文件中設置:
/etc/default/xen
TOOLSTACK="xm"
4. 設置啟動服務
# update-rc.d xencommons defaults 19 18
# update-rc.d xend defaults 20 21
# update-rc.d xendomains defaults 21 20
# update-rc.d xen-watchdog defaults 22 23
和啟動模塊,在/etc/modules中添加:
xen-evtchn
xen-gntdev
xen-netback
xen-blkback
xenfs
blktap
5. 安裝xen-tools
從這裡下載xen-tools 4.3.1源碼,解壓後運行:
# make install
該工具包含xen-create-image等工具,它使得domU的創建更加方便。