環境爲 vm11
OracleLinux-R5-U8-Server-x86_64-dvd.iso
下載地址爲:http://mirror.aarnet.edu.au/pub/oraclelinux/
在VM11上安裝OracleLinux-R5-U8,步驟省略。。。。
選擇英文版本的安裝
不然後面會報錯的
還要安裝桌面應用~
確保虛擬機可以上網
開啓虛擬機的CPU虛擬化
內核爲
uname -a
Linux localhost.localdomain 2.6.32-300.10.1.el5uek #1 SMP Wed Feb 22 17:37:40 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
使用root用戶登錄
fdisk -l
給新的硬盤添加一個分區
fdisk /dev/sdb
n
p
1
w
df -l 查看是否分區成功
格式化新的分區
mkfs -t ext3 -c /dev/sdb1
創建新的目錄
mkdir /data
掛載
mount /dev/sdb1 /data
編輯分區配置文件vi /etc/fstab,根據需求添加掛載信息,配置完成後“:wq”保存退出
/dev/sdb1 /data ext3 defaults 0 0
命令解釋:
<dump> dump 工具通過它決定何時作備份. dump 會檢查其內容,並用數字來決定是否對這個文件系統進行備份。 允許的數字是 0 和 1 。0 表示忽略, 1 則進行備份。大部分的用戶是沒有安裝 dump 的 ,對他們而言 <dump> 應設爲 0。
<pass> fsck 讀取 <pass> 的數值來決定需要檢查的文件系統的檢查順序。允許的數字是0, 1, 和2。 根目錄應當獲得最高的優先權 1, 其它所有需要被檢查的設備設置爲 2,0 表示設備不會被 fsck 所檢查。
使用命令“mount -a”重新掛載分區配置文件裏的分區,然後使用“df -h”命令查看是否掛載成功,出現以下信息證明掛載成功。
注:如果執行“mount -a”出錯,請檢查是否配置文件出現了問題,相關的路徑要填寫正確,使用絕對路徑,需自行創建要掛載的路徑
安裝XEN環境
配置yum源
說明:通過安裝源進行安裝是最簡單的。
# cd /etc/yum.repos.d
oracle 5.8版本的配置源
wget http://public-yum.oracle.com/public-yum-el5.repo
/*
oracle 6版本以後的配置源 好像已經有內置源了
wget http://public-yum.oracle.com/public-yum-ol6.repo
wget http://public-yum.oracle.com/public-yum-ol7.repo 不管他 已經包含有yum的源了、可能會產生一個public-yum-ol7.repo.1的文件
cp public-yum-ol7.repo.1 public-yum-ol7.repo 複製public-yum-ol7.repo.1到public-yum-ol7.repo
cp:是否覆蓋"public-yum-ol7.repo"? y 覆蓋原來的源配置文件
*/
vi public-yum-el5.repo 進入源配置文件,進行修改 按i進入編輯、修改後按esc、:wq!保存退出
因爲我的是OracleLinux-R5-U8版本的、所以找到[ol5_u8_base] 那個版本的鏡像就找相對應的
將enabled=0 修改爲enabled=1
yum安裝xen
# yum install kernel-xen xen-libs xen virt-viewer 可能會提示有進程被佔用了、沒關係、可以 等一會再安裝
根據提示按y
如果提示yum被另一個進程佔用了
可以使用kill -s 9 進程號
安裝結束後
修改啓動列表,使用運行xen的內核啓動系統
cat /boot/grub/grub.conf
vi /boot/grub/grub.conf
確認 default = 0
重啓系統
reboot
查看xen啓動情況
默認xen服務開機自啓動
# chkconfig --list |grep xend
xend 0:off 1:off 2:on 3:on 4:on 5:on 6:off
xendomains 0:off 1:off 2:off 3:on 4:on 5:on 6:off
查看xen內核
[root@node1 ~]# uname -a
Linux node1 2.6.18-348.16.1.0.1.el5xen #1 SMP Tue Aug 20 13:57:31 PDT 2013 x86_64 x86_64 x86_64 GNU/Linux
查看xen情況
[root@node1 ~]# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 1744 1 r----- 32.8
由於虛擬機運行在宿主機之上,虛擬機運行的網絡環境需要由宿主機提供,需要先配置好網橋,以便虛擬機與宿主機之間通信:
# chkconfig NetworkManager off #在使用網橋的網絡環境中需要關閉NetWorkManager服務,否則網橋的功能不能正常啓用。
# chkconfig network on
開啓網橋的stp(避免環路)的功能:
# brctl stp virbr0 on
通過ifconfig查看虛擬機的網卡信息
發現多了幾個網卡
peth0
vif0.0
virbr0
xenbr0
xenbr0是xen開的,xen的橋
virbr0是libvirt開的,也是橋
vif0.0應該是xen guest 的tap網卡
peth0是xen kernel下的物理網卡
在安裝了xen的主機中,當使用ifconfig命令時,除了熟悉的eth0以外還會出現許多平常沒有見到過的網絡接口,這些接口的出現的原因是因爲xen會自動爲虛擬機創建一些虛擬的網絡接口,裝有xen的主機在啓動時網絡的配置過程爲:
1.執行在/etc/xen/xend-config.sxp中指定的/etc/xen/scripts/network-bridge腳本 2.network-bridge腳本創建一個新網橋,名字爲xenbr0 3.複製物理網卡接口eth0的MAC地址和IP地址 4.停止物理網卡接口eth0
5.創建一對相連的虛擬網卡接口,veth0和vif0.0
6.將之前複製的物理網卡接口的MAC,IP分配給虛擬接口veth0 7.重命名物理網卡接口,從eth0改名爲peth0 8.重名名虛擬網卡接口,從veth0改名爲eth0
9.將物理網卡接口peth0,虛擬網卡接口vif0.0加入到網橋xenbr0中 10.啓動網橋xenbr0,啓動其他網絡接口peth0,eth0,vif0.0
對於每一個新的domU,Xen會創建“一對相連的虛擬網卡”,其中一塊在新建的domU上,另一塊在dom0上。對於Linux的domU來說,其虛擬網卡名字是eth0,而在dom0這端的這一塊的網卡名字是vif<id#>.0。當一臺domU關機的時候,相關的虛擬網卡會被刪除。 所以在裝有xen的主機中網絡端口的狀態如下圖所示:
圖2-11 裝有xen的主機中網絡端口的狀態
數據包到達物理網卡之後的處理流程爲:數據包到達硬件物理網卡接口peth0,dom0上的網卡驅動會進行處理。因爲peth0綁定在網橋上,所以數據包被髮送到網橋上。觀察ifconfig的輸出,你會發現peth0,xenbr0,vif0.0和vif1.0都共享一個相同的MAC地址FE:FF:FF:FF:FF:FF,該地址是以太網廣播地址。這表明物理網卡接口,dom0的loopback接口,所有guest domain的後端接口都廣播到網橋接口xenbr0。當物理網卡接口peth0接收到一個數據包,它會將數據包直接發送到網橋接口xenbr0上。然後網橋會分發數據包,像交換機一樣(話說交換機也是網橋的一種)。網橋會根據數據包接收者的MAC地址將其轉發到正確的網絡接口上。所以peth0這個接口不需要配置ip地址,只有MAC地址就夠了。然後vif接口會將數據包發送給domU上相連的接口,然後domU中返回的數據包也通過vif發送回來。dom0也是一樣的操作模式,通過vif0.0->eth0這一對相連的網卡。
vif0.1:表示ID爲0的第二個網絡接口,vif6.0:表示ID爲6的第一個網絡接口 virbr0:是虛擬系統和真實系統進行連接的接口,實現NAT功能 xenbr1:是虛擬系統和真實系統進行連接的接口,橋接功
圖2-11 裝有xen的主機中網橋的轉發原理