7、實(shí)例應用:用Slackware+Xen虛擬Fedora 5.0 7.1 Fedora 安裝運行于一個(gè)物理分區中;
7.11 下載Fedora 5.0的基礎系統;
請到: http://jailtime.org
7.12 解壓和提取相應文件;
我們把下載下來(lái)的Fedora 5 基礎系統,存放到/opt/fedora5vm目錄中;然后解壓;
[root@localhost ~]# mkdir /opt/fedora5vm
[root@localhost ~]# mv fedora.fc5.20060401.img.tgz /opt/fedora5vm
[root@localhost ~]# cd /opt/fedora5vm
[root@localhost fedora5vm]# tar zxvf fedora.fc5.20060401.img.tgz
[root@localhost fedora5vm]# ls
fedora.fc5.20060401.img.tgz fedora.fc5.img fedora.fc5.xen.cfg fedora.swap
7.13 規劃硬盤(pán)的物理分區并創(chuàng )建文件系統;
您可以在您的硬盤(pán)上創(chuàng )建一個(gè)物理分區,如果有空閑的物理分區可用也行。然后創(chuàng )建一下文件系統。分區工具用fdisk 工具就行。
分區工具,請參考:《實(shí)例解說(shuō) fdisk 使用方法》
創(chuàng )建文件系統,請參考:《Linux 創(chuàng )建文件系統及掛載文件系統流程詳解》
比如我們想把Fedora 放在/dev/hda5上,我們可以用mkfs.ext3來(lái)格式化/dev/hda5。
[root@localhost ~]# /sbin/mkfs.ext3 /dev/hda5
7.14 構建Fedora 5 的基礎系統;
因為我們已經(jīng)下載了,Fedora Core 5的基礎系統的映像文件,也做了解壓。會(huì )看到 fedora.fc5.img這個(gè)映像文件; 我們把這個(gè)映像掛載,然后把它的內容復制到我們剛才創(chuàng )始的文件系統的分區中,也就是/dev/hda5;
[root@localhost ~]# mkdir /mnt/tmp
[root@localhost ~]# mkdir /mnt/fedora
[root@localhost ~]# mount -o loop /opt/fedora5vm/fedora.fc5.img /mnt/tmp
[root@localhost ~]# mount /dev/hda5 /mnt/fedora
復制fedora.fc5.img中的內容,到/dev/hda5中;
[root@localhost ~]# cp -rp /mnt/tmp/* /mnt/fedora
[root@localhost ~]# umount /mnt/tmp
然后是chroot 到/mnt/fedora目錄中,實(shí)際就是操作Fedora 5系統,我們要創(chuàng )建Fedora 5的root密碼;
[root@localhost ~]# chroot /mnt/fedora/
root@localhost:/#
root@localhost:/# passwd root
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
root@localhost:/# exit
然后我們卸載/dev/hda5分區;
[root@localhost ~]# umount /dev/hda5
7.15 創(chuàng )建Fedora 5 引導文件;
我們在解壓 fedora.fc5.20060401.img.tgz 時(shí)看到一個(gè)文件fedora.fc5.xen.cfg ,這個(gè)就是Fedora 5的引導文件,人家洋人都為我們寫(xiě)好了。我們只是改一改就能用了;
我們要回到fedora.fc5.xen.cfg的存放目錄/opt/fedora5vm中;復制fedora.fc5.xen.cfg名為fc5vm.cfg的文件。然后我們把fc5vm.cfg作為被虛擬的Fedora 5的引導文件;
[root@localhost ~]# cd /opt/fedora5vm
[root@localhost fedora5vm]# cp fedora.fc5.xen.cfg fc5vm.cfg
我們要對fc5vm.cfg做一下修改;
在fc5vm.cfg中,我們會(huì )看到如下的內容:
kernel = "/boot/vmlinuz-2.6-xenU"
memory = 128
name = "fedora.fc5"
nics = 1
dhcp = "dhcp"
disk = ['file:/xen/fedora/fedora.fc5.img,sda1,w', 'file:/xen/fedora/fedora.swap,sda2,w']
root = "/dev/sda1 ro"
首先我們看kernel 這行,這行是定義虛擬操作系統內核的,我們要用到我們安裝xen是所安裝的內核。要在虛擬平臺/boot目錄中找。比如我用Slackware虛擬 Fedora 。那虛擬平臺就是Slackware。我應試在Slackware的/boot中找文件名中包含vmlinuz和xenU字樣的文件。比如我找以的是:
[root@localhost ~]# ls -lh /boot/vmlinuz*xenU*
lrwxrwxrwx 1 root root 21 2006-04-12 07:49 /boot/vmlinuz-2.6-xenU -> vmlinuz-2.6.12.6-xenU
lrwxrwxrwx 1 root root 21 2006-04-12 07:49 /boot/vmlinuz-2.6.12-xenU -> vmlinuz-2.6.12.6-xenU
-rw-r--r-- 1 root root 1.1M 2006-04-12 07:49 /boot/vmlinuz-2.6.12.6-xenU
我們看到有類(lèi)似的三個(gè)文件,實(shí)際上只有一個(gè),也就是 vmlinuz-2.6.12.6-xenU,其它的都是他的鏈接文件。所以我們在kernel行中指定內核時(shí),可以用這三個(gè)中的任何一個(gè);比如我們用 vmlinuz-2.6-xenU;
memory是指定內存大小的,我們設置被虛擬的Fedora 5的虛擬內存大小是 128M;
name 是定義虛擬操作系統的名字的,可以通過(guò)xm list中顯示出來(lái),我們也改簡(jiǎn)單點(diǎn),改為fc5
nics=1 不變
dhcp 這行,是用來(lái)指定獲取Fedora 5系統的IP是通過(guò)DHCP獲取的,不過(guò)您也可以指定IP??梢圆灰@行;
vif = ['mac=aa:00:00:00:00:11'] 用來(lái)指定Fedora 5的網(wǎng)卡的物理地址;可以自己定義。
ip = "192.168.1.144" 用來(lái)指定虛擬網(wǎng)卡的IP
netmask="255.255.255.0" 用來(lái)指定掩碼
disk這行是用來(lái)定義Fedora所處的物理分區映射點(diǎn),及物理交換分區及映射點(diǎn)的;因為物理分區是通過(guò)phy:來(lái)指定的。所以我們得改一改。因為我們已經(jīng)把Fedora放在了/dev/hda5了。另外交換分區在哪呢?可以通過(guò)swapon -s來(lái)查看物理交換分區,要在虛擬平臺中查看;比如我得到的是/dev/hda8是交換分區。所以disk這行就應該這樣寫(xiě):
disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']
不過(guò)真實(shí)物理分區的映射點(diǎn),比如/dev/hda5映射到了/dev/sda1,交換分區/dev/hda8映射到了/dev/sda2。映射過(guò)后,Fedora的root文件系統就用映射后的/dev/sda1。慢慢理解;物理分區的映射點(diǎn)是可以在Linux系統設備定義的許可范圍內進(jìn)行。自己嘗試著(zhù)換一換映射點(diǎn)。如果Fedora的root所處的物理分區的映射點(diǎn)改變后,Fedora的root=的值也得跟著(zhù)改變。另外還要改Fedora系統中的/etc/fstab文件;
root一行,來(lái)指定Fedora的所有的虛擬物理分區(就是映射點(diǎn))。映射到哪里了呢?Fedora 安裝到了/dev/hda5,映射后虛擬到了/dev/sda1。所以Fedora系統引導時(shí)就尋找/dev/sda1做為文件系統。
所以root這行可寫(xiě)為:
root = "/dev/sda1 ro"
所以我們可以這樣寫(xiě)Fedora 5的引導配置文件;
第一種:如果是用DHCP來(lái)獲取IP:
kernel = "/boot/vmlinuz-2.6-xenU"
memory = 128
name = "fc5"
nics = 1
vif = ['mac=aa:00:00:00:00:11']
dhcp = "dhcp"
disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']
root = "/dev/sda1 ro"
第二種:如果是指定IP的話(huà):
kernel = "/boot/vmlinuz-2.6-xenU"
memory = 128
name = "fc5"
nics = 1
vif = ['mac=aa:00:00:00:00:11']
disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']
root = "/dev/sda1 ro"
ip = "192.168.1.144"
netmask="255.255.255.0"
再舉一例:
比如Fedora 被安裝在了/dev/hda5分區,物理交換分區為/dev/hda8。通過(guò)DHCP獲得IP。我想映射/dev/hda5到/dev/hda5,并且想映射/dev/hda8到/dev/hda8。我們應該如何修改一些配置文件呢?
Fedora的引導文件內容應該是:
kernel = "/boot/vmlinuz-2.6-xenU"
memory = 128
name = "fc5"
nics = 1
vif = ['mac=aa:00:00:00:00:11']
dhcp = "dhcp"
disk = ['phy:hda5,hda5,w','phy:hda8,hda8,w']
root = "/dev/hda5 ro"
然后我們應該再把裝有Fedora的/dev/hda5分區掛載,然后修改Fedora系統的/etc/fstab。注意:不是修改虛擬平臺的/etc/fstab。不要弄混了?。。?!
應該先掛載Fedora 5所處的分區:
[root@localhost ~]# mount /dev/hda5 /mnt/fedora/
然后修改Fedora 5的/etc/fstab文件,也就是/mnt/fedora/etc/fstab文件:找到如下兩行:
/dev/sda1 / ext3 defaults 1 1
/dev/sda2 none swap sw 0 0
改為:
/dev/hda5 / ext3 defaults 1 1
/dev/hda8 none swap sw 0 0
接著(zhù)再u(mài)mount /mnt/fedora
[root@localhost ~]# umount /mnt/fedora
7.16 引導Fedora 5 ;
引導運行Fedora 5.0就好辦了,就是用xm 工具來(lái)引導;首先要確認你的Fedora 5的配置文件放在哪里。比如我是放在了/opt/fedora5vm中。并且文件名為fc5vm.cfg。所以我就可以這樣來(lái)引導Fedora 5。
[root@localhost ~]# /usr/sbin/xm create -c /opt/fedora5vm/fc5vm.cfg
7.17 虛擬操作系統網(wǎng)卡不能激活的處理方法 ;
modprobe: FATAL: Could not load /lib/modules/2.6.12.6-xenU/modules.dep:
No such file or directory
如果出現類(lèi)似上面的現象,請復制虛擬平臺的中的/lib/modues/下的2.6.12.6-xenU 到Fedora系統中;
方法是先掛載Fedora 所處的物理分區,然后用cp -rp 來(lái)復制;
首先要關(guān)掉Fedora,然后再復制;
[root@localhost ~]# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 462 1 r----- 2192.9
fc5 2 128 1 -b---- 6.4
以上面虛擬操作系統的ID為準,比如fc5的ID是 2,就要運行如下命令;
[root@localhost ~]# xm destroy 2
然后mount 掛載Fedora所處的物理分區/dev/hda5;
[root@localhost ~]# mount /dev/hda5 /mnt/fedora
[root@localhost ~]# mkdir /mnt/fedora/lib/modules
注:在Fedora中的/lib目錄中創(chuàng )建modules。如果有了就不創(chuàng )建;
[root@localhost ~]# cp -rp /lib/modules/2.6.12.6-xenU/ /mnt/fedora/lib/modules/
[root@localhost ~]# chmod -R 755 /mnt/fedora/lib/modules/
[root@localhost ~]# umount /mnt/fedora
7.2 Fedora 安裝運行于一個(gè)映像文件中;
7.21 下載Fedora 5.0的基礎系統;
請到: http://jailtime.org
7.22 解壓和提取相應文件;
我們把下載下來(lái)的Fedora 5 基礎系統,存放到/opt/fedora5vm目錄中;然后解壓;
[root@localhost ~]# mkdir /opt/fedora5vm
[root@localhost ~]# mv fedora.fc5.20060401.img.tgz /opt/fedora5vm
[root@localhost ~]# cd /opt/fedora5vm
[root@localhost fedora5vm]# tar zxvf fedora.fc5.20060401.img.tgz
[root@localhost fedora5vm]# ls
fedora.fc5.20060401.img.tgz fedora.fc5.img fedora.fc5.xen.cfg fedora.swap