7、實(shí)例應(yīng)用:用Slackware+Xen虛擬Fedora 5.0 7.1 Fedora 安裝運(yùn)行于一個(gè)物理分區(qū)中;
7.11 下載Fedora 5.0的基礎(chǔ)系統(tǒng);
請(qǐng)到: http://jailtime.org
7.12 解壓和提取相應(yīng)文件;
我們把下載下來(lái)的Fedora 5 基礎(chǔ)系統(tǒng),存放到/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 規(guī)劃硬盤的物理分區(qū)并創(chuàng)建文件系統(tǒng);
您可以在您的硬盤上創(chuàng)建一個(gè)物理分區(qū),如果有空閑的物理分區(qū)可用也行。然后創(chuàng)建一下文件系統(tǒng)。分區(qū)工具用fdisk 工具就行。
分區(qū)工具,請(qǐng)參考:《實(shí)例解說(shuō) fdisk 使用方法》
創(chuàng)建文件系統(tǒng),請(qǐng)參考:《Linux 創(chuàng)建文件系統(tǒng)及掛載文件系統(tǒng)流程詳解》
比如我們想把Fedora 放在/dev/hda5上,我們可以用mkfs.ext3來(lái)格式化/dev/hda5。
[root@localhost ~]# /sbin/mkfs.ext3 /dev/hda5
7.14 構(gòu)建Fedora 5 的基礎(chǔ)系統(tǒng);
因?yàn)槲覀円呀?jīng)下載了,F(xiàn)edora Core 5的基礎(chǔ)系統(tǒng)的映像文件,也做了解壓。會(huì)看到 fedora.fc5.img這個(gè)映像文件; 我們把這個(gè)映像掛載,然后把它的內(nèi)容復(fù)制到我們剛才創(chuàng)始的文件系統(tǒng)的分區(qū)中,也就是/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
復(fù)制fedora.fc5.img中的內(nèi)容,到/dev/hda5中;
[root@localhost ~]# cp -rp /mnt/tmp/* /mnt/fedora
[root@localhost ~]# umount /mnt/tmp
然后是chroot 到/mnt/fedora目錄中,實(shí)際就是操作Fedora 5系統(tǒng),我們要?jiǎng)?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分區(qū);
[root@localhost ~]# umount /dev/hda5
7.15 創(chuàng)建Fedora 5 引導(dǎo)文件;
我們?cè)诮鈮?fedora.fc5.20060401.img.tgz 時(shí)看到一個(gè)文件fedora.fc5.xen.cfg ,這個(gè)就是Fedora 5的引導(dǎo)文件,人家洋人都為我們寫好了。我們只是改一改就能用了;
我們要回到fedora.fc5.xen.cfg的存放目錄/opt/fedora5vm中;復(fù)制fedora.fc5.xen.cfg名為fc5vm.cfg的文件。然后我們把fc5vm.cfg作為被虛擬的Fedora 5的引導(dǎo)文件;
[root@localhost ~]# cd /opt/fedora5vm
[root@localhost fedora5vm]# cp fedora.fc5.xen.cfg fc5vm.cfg
我們要對(duì)fc5vm.cfg做一下修改;
在fc5vm.cfg中,我們會(huì)看到如下的內(nèi)容:
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 這行,這行是定義虛擬操作系統(tǒng)內(nèi)核的,我們要用到我們安裝xen是所安裝的內(nèi)核。要在虛擬平臺(tái)/boot目錄中找。比如我用Slackware虛擬 Fedora 。那虛擬平臺(tái)就是Slackware。我應(yīng)試在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
我們看到有類似的三個(gè)文件,實(shí)際上只有一個(gè),也就是 vmlinuz-2.6.12.6-xenU,其它的都是他的鏈接文件。所以我們?cè)趉ernel行中指定內(nèi)核時(shí),可以用這三個(gè)中的任何一個(gè);比如我們用 vmlinuz-2.6-xenU;
memory是指定內(nèi)存大小的,我們?cè)O(shè)置被虛擬的Fedora 5的虛擬內(nèi)存大小是 128M;
name 是定義虛擬操作系統(tǒng)的名字的,可以通過(guò)xm list中顯示出來(lái),我們也改簡(jiǎn)單點(diǎn),改為fc5
nics=1 不變
dhcp 這行,是用來(lái)指定獲取Fedora 5系統(tǒng)的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所處的物理分區(qū)映射點(diǎn),及物理交換分區(qū)及映射點(diǎn)的;因?yàn)槲锢矸謪^(qū)是通過(guò)phy:來(lái)指定的。所以我們得改一改。因?yàn)槲覀円呀?jīng)把Fedora放在了/dev/hda5了。另外交換分區(qū)在哪呢?可以通過(guò)swapon -s來(lái)查看物理交換分區(qū),要在虛擬平臺(tái)中查看;比如我得到的是/dev/hda8是交換分區(qū)。所以disk這行就應(yīng)該這樣寫:
disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']
不過(guò)真實(shí)物理分區(qū)的映射點(diǎn),比如/dev/hda5映射到了/dev/sda1,交換分區(qū)/dev/hda8映射到了/dev/sda2。映射過(guò)后,F(xiàn)edora的root文件系統(tǒng)就用映射后的/dev/sda1。慢慢理解;物理分區(qū)的映射點(diǎn)是可以在Linux系統(tǒng)設(shè)備定義的許可范圍內(nèi)進(jìn)行。自己嘗試著換一換映射點(diǎn)。如果Fedora的root所處的物理分區(qū)的映射點(diǎn)改變后,F(xiàn)edora的root=的值也得跟著改變。另外還要改Fedora系統(tǒng)中的/etc/fstab文件;
root一行,來(lái)指定Fedora的所有的虛擬物理分區(qū)(就是映射點(diǎn))。映射到哪里了呢?Fedora 安裝到了/dev/hda5,映射后虛擬到了/dev/sda1。所以Fedora系統(tǒng)引導(dǎo)時(shí)就尋找/dev/sda1做為文件系統(tǒng)。
所以root這行可寫為:
root = "/dev/sda1 ro"
所以我們可以這樣寫Fedora 5的引導(dǎo)配置文件;
第一種:如果是用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的話:
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分區(qū),物理交換分區(qū)為/dev/hda8。通過(guò)DHCP獲得IP。我想映射/dev/hda5到/dev/hda5,并且想映射/dev/hda8到/dev/hda8。我們應(yīng)該如何修改一些配置文件呢?
Fedora的引導(dǎo)文件內(nèi)容應(yīng)該是:
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"
然后我們應(yīng)該再把裝有Fedora的/dev/hda5分區(qū)掛載,然后修改Fedora系統(tǒng)的/etc/fstab。注意:不是修改虛擬平臺(tái)的/etc/fstab。不要弄混了!?。?!
應(yīng)該先掛載Fedora 5所處的分區(qū):
[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
接著再umount /mnt/fedora
[root@localhost ~]# umount /mnt/fedora
7.16 引導(dǎo)Fedora 5 ;
引導(dǎo)運(yùn)行Fedora 5.0就好辦了,就是用xm 工具來(lái)引導(dǎo);首先要確認(rèn)你的Fedora 5的配置文件放在哪里。比如我是放在了/opt/fedora5vm中。并且文件名為fc5vm.cfg。所以我就可以這樣來(lái)引導(dǎo)Fedora 5。
[root@localhost ~]# /usr/sbin/xm create -c /opt/fedora5vm/fc5vm.cfg
7.17 虛擬操作系統(tǒng)網(wǎng)卡不能激活的處理方法 ;
modprobe: FATAL: Could not load /lib/modules/2.6.12.6-xenU/modules.dep:
No such file or directory
如果出現(xiàn)類似上面的現(xiàn)象,請(qǐng)復(fù)制虛擬平臺(tái)的中的/lib/modues/下的2.6.12.6-xenU 到Fedora系統(tǒng)中;
方法是先掛載Fedora 所處的物理分區(qū),然后用cp -rp 來(lái)復(fù)制;
首先要關(guān)掉Fedora,然后再?gòu)?fù)制;
[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
以上面虛擬操作系統(tǒng)的ID為準(zhǔn),比如fc5的ID是 2,就要運(yùn)行如下命令;
[root@localhost ~]# xm destroy 2
然后mount 掛載Fedora所處的物理分區(qū)/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 安裝運(yùn)行于一個(gè)映像文件中;
7.21 下載Fedora 5.0的基礎(chǔ)系統(tǒng);
請(qǐng)到: http://jailtime.org
7.22 解壓和提取相應(yīng)文件;
我們把下載下來(lái)的Fedora 5 基礎(chǔ)系統(tǒng),存放到/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