由於從RHEL6版本開始,RedHat就不在原生支持Xen,改成投奔KVM的懷抱,儘管KVM號稱支援HVM技術的全虛擬化,但KVM畢竟起步晚,遠不如Xen技術成熟,運行多個實例時常常發生系統崩潰的現象,固然也不排斥將來KVM會更加高效的可能,因此安裝Xen的方法只有兩種,一種是本身下載源代碼自行編譯,但這種方法太耗費精力,因此忽略,另外一中就是使用第三方軟件源進行安裝,互聯網有大量的第三方源以及開源組織提供編譯好的源碼,其中Xen made Easy開源項目爲咱們提供了Xen4在RHEL6/CentOS6的安裝,本文采用Xen Made Easy項目網站提供的第三方安裝源,方便快捷。python
1.環境linux
硬件:HP DL360 G6(E5520,16G,2*146GB)
系統版本:CentOS-6.6-x86_64-minimal.isoapache
2. 系統初始化centos
wget http://blog.linuxeye.com/lnmp-full.tar.gz tar xzf lnmp-full.tar.gz cd lnmp ./install.sh #全部都選擇no chkconfig iptables off #關閉iptables
3. 安裝bridge-utils安全
yum -y install bridge-utils
4. 安裝crc.id.au安裝源服務器
yum -y install http://au1.mirror.crc.id.au/repo/el6/x86_64/kernel-xen-release-6-7.noarch.rpm
5. 安裝xen虛擬化網絡
yum -y install xen ls -l /boot/xen.gz lrwxrwxrwx 1 root root 12 Dec 1 18:42 /boot/xen.gz -> xen-4.2.5.gz chkconfig xend on #配置xend服務開機自啓動
6. 安裝xen內核工具
yum -y install kernel-xen
注意:kernel-xen安裝依賴kernel-xen-firmware,因爲這兩個包比較大,建議下載到本地用 yum -y localinstall kernel-xen* 完成安裝測試
cat /boot/grub/grub.conf
#以下圖:
網站
7. 配置網卡爲橋接模式
新建文件/etc/sysconfig/network-scripts/ifcfg-xenbr0,保持內容以下:
DEVICE=xenbr0 TYPE=Bridge ONBOOT=yes DELAY=0 NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.3.20 NETMASK=255.255.255.0 GATEWAY=192.168.3.1
修改/etc/sysconfig/network-scripts/ifcfg-eth0,保持內容以下:
DEVICE=eth0 HWADDR=F4:CE:46:85:64:34 TYPE=Ethernet UUID=c27373b9-a698-4ac8-9afe-a4dee87f5704 ONBOOT=yes BRIDGE=xenbr0 NM_CONTROLLED=no service network restart #重啓網絡
8. 重啓服務器
從新啓動系統並進入Xen內核的Linux,測試以下圖:
9. 安裝虛擬化管理工具集
yum -y install libvirt
libvirt提供一種虛擬機監控程序不可知的API來安全管理運行於主機上的來賓操做系統。libvirt自己不是一種工具,它是一種能夠創建工具來管理來賓操做系統的API。libvirt自己構建於一種抽象的概念之上。它爲受支持的虛擬機監控程序實現的經常使用功能提供通用的API。libvirt起初是專門爲Xen設計的一種管理API,後來被擴展爲可支持多個虛擬機監控程序。
service libvirtd start yum -y install python-virtinst
包含一個使用libvirt在虛擬機內部啓動安裝操做系統版本的Python模塊(如命令:virt-install、virt-clone)
10. 配置操做系統安裝源
在192.168.3.10:81 掛載CentOS-6.6-x86_64-minimal.iso,並將裏面文件拷貝到apache網站根目錄下centos6.6,使在192.168.3.20上能經過http://192.168.3.10:81/centos6.6 訪問到安裝鏡像
注意:鏡像文件.treeinfo缺乏一行,致使安裝系統時找不到kernel,保持中間段以下:
[images-xen] kernel = images/pxeboot/vmlinuz initrd = images/pxeboot/initrd.img
11. 字符界面安裝CentOS
mkdir -p /data/xen virt-install -n vm21 -r 2048 --vcpus=2 --nographic --disk path=/data/xen/vm21.img,size=20 \ -l http://192.168.3.10:81/centos6.6/ --bridge=xenbr0,model=virtio
virt-install命令參數:
-n --name= 客戶端虛擬機名稱 -r --ram= 客戶端虛擬機分配的內存 -u --uuid= 客戶端UUID --vcpus=2 客戶端的vcpu個數 -v --hvm 全虛擬化 -p --paravirt 半虛擬化 -l --location=localdir 安裝源 --vnc 使用vnc -c --cdrom= 光驅 安裝途徑 -s --file-size= 使用磁盤映像的大小 單位爲GB -f --file= 做爲磁盤映像使用的文件 --disk= 使用不一樣選項做爲磁盤使用安裝介質
12. 克隆鏡像
virt-clone -o vm21 -n vm22 -f /data/xen/vm22.img
13. Xen管理命令實例
ls /etc/xen #xen配置文件目錄 xm list #顯示虛擬機運行狀態 xm shutdown linux1 #關閉linux1虛擬機 xm console linux1 #鏈接虛擬機linux1控制檯,鏈接到虛擬機上面能夠用組合鍵 ctrl + ] 鍵切換到物理機 xm pause linux1 #暫停虛擬機linux1 xm resume linux1 #恢復被暫停的虛擬機linux1 virt-clone -o linux1 -n linux2 -f /data/xen/linux2.img #克隆鏡像 xm create linux2 #開啓虛擬機linux2 xm console linux2 sed -i 's@HWADDR=@#HWADDR=@g' /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i 's@IPADDR=.*$@IPADDR=192.168.1.112@g' /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i 's@HOSTNAME=.*$@HOSTNAME=linux2@g' /etc/sysconfig/network
免費提供最新Linux技術教程書籍,爲開源技術愛好者努力作得更多更好:http://www.linuxprobe.com/