欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Linux上的虛擬化技術(shù) Xen 初學(xué)者指南[動(dòng)網(wǎng)官方論壇]
0、本文約定;

  虛擬平臺是指能支持運行Xen的真實(shí)安裝的操作系統;

  虛擬操作系統:是指在虛擬平臺上安裝和虛擬運行的操作系統;

  比如我在Slackware 中安裝了Xen,那Slackware就是虛擬平臺,通過(guò)虛擬平臺就可以虛擬其它操作系統了;比如通過(guò)Slackware來(lái)虛擬Debian、Fedora ... ...

  1、什么是Xen;

  Xen 是一個(gè)開(kāi)放源代碼的para-virtualizing虛擬機(VMM),或“管理程序 ”,是為x86架構的機器而設計的。Xen 可以在一套物理硬件上安全的執行多個(gè)虛擬機;Xen是基于內核的虛擬程序,它和操作平臺結合的極為密切,所以它占用的資源最少。

  什么是虛擬機呢?可能大家知道VMWARE吧,是的,Xen就是類(lèi)似這樣的程序,比如我們可以在Fedora 上虛擬安裝和使用Slackware、Debian、Gentoo ... ... 等發(fā)行版。因為Xen是基于內核的,相對VMWARE 來(lái)說(shuō),它占用的系統資源也就是VMWARE的百分之幾左右。Xen是不是更有優(yōu)勢呢?只有您實(shí)踐了才知道。這也是我寫(xiě)本文的最主要原因;

  1.1 Xen的特性;

  虛擬機的性能更接近真實(shí)硬件環(huán)境)

  在真實(shí)物理環(huán)境的平臺和虛擬平臺間自由切換)

  在每個(gè)客戶(hù)虛擬機支持到 32個(gè)虛擬CPU,通過(guò) VCPU熱插拔)

  支持PAE指令集的x86/32, x86/64平臺

  通過(guò)Intel 虛擬支持VT的支持來(lái)用虛擬原始操作系統(未經(jīng)修改的)支持(包括Microsoft Windows)

  優(yōu)秀的硬件支持.支持幾乎所有的Linux設備驅動(dòng)

  1.2 Xen的應用范圍;

  服務(wù)器整合:在虛擬機范圍內,在一臺物理主機上安裝多個(gè)服務(wù)器, 用于演示及故障隔絕;

  無(wú)硬件依賴(lài):允許應用程序和操作系統對新硬件的移值測試;

  多操作系統配置:以開(kāi)發(fā)和測試為目的,同時(shí)運行多個(gè)操作系統;

  內核開(kāi)發(fā):在虛擬機的沙盒中,做內核的測試和調試,無(wú)需為了測試而單獨架設一***立的機器;

  集群運算:和單獨的管理每個(gè)物理主機相比較,在VM級管理更加靈活,在負載均衡方面,更易于控制,和隔離;

  為客戶(hù)操作系統提供硬件技術(shù)支持:可以開(kāi)發(fā)新的操作系統, 以得益于現存操作系統的廣泛硬件支持,比如Linux;

  1.3 Xen的操作系統支持和硬件支持;

  請參閱: 《Xen v3.0 用戶(hù)手冊》

  2、Xen的一點(diǎn)理論基礎;

  基于Xen的操作系統,有多個(gè)層,最底層和最高特權層是 Xen程序本身。Xen 可以管理多個(gè)客戶(hù)操作系統,每個(gè)操作系統都能在一個(gè)安全的虛擬機中實(shí)現。在Xen的術(shù)語(yǔ)中,Domain由Xen控制,以高效的利用CPU的物理資源。每個(gè)客戶(hù)操作系統可以管理它自身的應用。這種管理包括每個(gè)程序在規定時(shí)間內的響應到執行,是通過(guò)Xen調度到虛擬機中實(shí)現。

  當Xen啟動(dòng)運行后,第一個(gè)虛擬的操作系統,就是Xen本身,我們通過(guò)xm list,會(huì )發(fā)現有一個(gè)Domain 0的虛擬機。Domain 0 是其它虛擬主機的管理者和控制者,Domain 0 可以構建其它的更多的Domain ,并管理虛擬設備。它還能執行管理任務(wù),比如虛擬機的體眠、喚醒和遷移其它虛擬機。

  一個(gè)被稱(chēng)為xend的服務(wù)器進(jìn)程通過(guò)domain 0來(lái)管理系統,Xend 負責管理眾多的虛擬主機,并且提供進(jìn)入這些系統的控制臺。命令經(jīng)一個(gè)命令行的工具通過(guò)一個(gè)HTTP的接口被傳送到xend。

 






3、Xen的安裝;

  在寫(xiě)本文時(shí),Xen的當前最新版本是xen-3.0.1,它基于的內核版本是2.6.12.6的。您可以根據自己的操作系統的情況來(lái)選擇一種安裝方式,適合您的就是最好的;

  3.1 安裝Xen的準備工作;

  擁有 GRUB引導的Linux做為安裝平臺,還要編譯工具,比如gcc、binutils 及make和automake等;開(kāi)發(fā)庫有zlib和python-dev等;

  具體明細請參閱: 《Xen v3.0 用戶(hù)手冊》

  由于Xen用Python 開(kāi)發(fā)的,所以Python 當然也是必不可少的。如果您是新手,我建議您用自己所用的操作系統軟件包管理工具來(lái)安裝這些軟件包。

  3.2 在Redhat/Fedora 操作平臺上的安裝;

  在Fedora/Redhat平臺上安裝比較簡(jiǎn)單,您可以通過(guò)yum 來(lái)在線(xiàn)安裝Xen和支持Xen的內核;因為Fedora/Redhat已經(jīng)提供對Xen的支持了;Fedora/Redhat 提供的Xen內核支持比較高;不過(guò)就目前我的測試來(lái)看好象經(jīng)常會(huì )機器重啟,存在的問(wèn)題可能是桌面環(huán)境造成的,比如GNOME桌面,打開(kāi)就有重啟的現象,也可能是Fedora/Redhat提供的Xen內有BUG;

  安裝Xen及支持Xen的請參考:《Fedora Core 5.0 用 Xen 虛擬Slackware 10.2》

  對于Fedora 4.0及Redhat和Fedora 5.0類(lèi)似;現在Yum的源上都有Xen和支持Xen的內核包;

  3.3 通過(guò)Xen的二進(jìn)制包來(lái)安裝(幾乎適用所有的Linux發(fā)行版);

  通過(guò)Xen的二進(jìn)制軟件包來(lái)安裝,這應該是通用的,幾乎適合所有的Linux操作系統。由于二進(jìn)制所是已經(jīng)編譯好的,我已經(jīng)在Slackware 平臺上用這種方法來(lái)安裝,還是成功的。另外etony兄也在Debian上安裝成功;

  您應該到 http://www.xensource.com/downloads 去下載二進(jìn)制包,文件名中帶有xen-3.0.1-install字樣的,比如 xen-3.0.1-install-x86_32.tgz,這個(gè)軟件包表示適用x86_32位機器的。也就是我們用的普通32位PC機。如果您用的是64位機器,應該下載文件名帶有x86_64字樣的軟件包;

  下載好后,就解壓安裝,我們還是以支持x86_32構架機器的xen-3.0.1-install-x86_32.tgz為例:

  [root@localhost ~]# tar zxvf xen-3.0.1-install-x86_32.tgz

  [root@localhost ~]# cd xen-3.0.1-install

  [root@localhost xen-3.0.1-install]# sh install.sh

  判斷是不是安裝好了,請查看/boot目錄,會(huì )發(fā)現有很多文件名帶有xen字樣的文件,另外在/lib/moudules中也會(huì )發(fā)現有支持xen的內核模塊;另外再看一看是否有/etc/xen這個(gè)目錄。我想應該是有的。

  3.4 通過(guò)Xen的源碼包編譯安裝(僅供參考);

  通過(guò)Xen的二進(jìn)制包來(lái)安裝,可能有時(shí)內核不太適應我們的需要,這時(shí)我們要通過(guò)Xen的源碼包來(lái)安裝。通過(guò)自己編譯來(lái)安裝Xen及支持Xen的內核;Xen的源碼包,您可以到 http://www.xensource.com/downloads去下載。文件名帶有 xen-3.0.1-src字樣的,比如 xen-3.0.1-src.tgz。

  3.41 編譯原理;

  通過(guò)Xen的源碼包編譯,其實(shí)也沒(méi)有什么神秘的。在Xen的源碼包中提供了一些內核補丁和內核配置文件等。當我們執行編譯命令時(shí),首先編譯的是Xen程序本身,然后是編譯內核 。在編譯內核時(shí),程序會(huì )自動(dòng)判斷是否有內核源碼 ,xen-3.0.1支持的內核是2.6.12.6,如果在xen的解壓目錄下沒(méi)有,他就會(huì )自動(dòng)內核的官方站 http://www.kernel.org 下載 linux-2.6.12.tar.bz2。然后就是自動(dòng)解壓并為此內核打補丁。然后系統會(huì )根據指令要求,然后采用相應的內核配置文件,或配置內核進(jìn)行編譯。

  3.42 編譯過(guò)程簡(jiǎn)說(shuō);

  第一步:解壓軟件包,查看Xen源碼包所帶的文件;

  [root@localhost ~]# tar zxvf xen-3.0.1-src.tgz

  [root@localhost ~]# cd xen-3.0.1

  [root@localhost xen-3.0.1]# ls

  COPYING Config.mk README docs install.sh patches xen

  ChangeLog Makefile buildconfigs extras linux-2.6-xen-sparse tools

  我們解壓xen-3.0.1-src.tgz 后,進(jìn)入解壓目錄,會(huì )看到以上的文件或文件夾。patches是內核的補丁包,linux-2.6-xen-sparse是支持Xen的內核目錄樹(shù),值得注意的是內核的配置文件就在這個(gè)目錄中;

  [root@localhost xen-3.0.1]# ls linux-2.6-xen-sparse/arch/xen/configs/

  xen0_defconfig_ia64 xen0_defconfig_x86_64 xenU_defconfig_x86_32 xen_defconfig_x86_32

  xen0_defconfig_x86_32 xenU_defconfig_ia64 xenU_defconfig_x86_64 xen_defconfig_x86_64

  看到上面所列出的內核配置文件了吧,我們可能會(huì )發(fā)現文件名帶有xen0字樣的和xenU字樣的兩類(lèi)文件。在這兩類(lèi)內核中,我們大多會(huì )修改的內核配置文件是運行xen的操作系統的內核配置文件,另一個(gè)是用于虛擬操作系統的內核配置文件;

  xen0字樣的就是我們一般是用于我們運行xen的操作系統的內核 ,而xenU字樣的就是為虛擬操作系統所提供的內核。另外還有x86_32和x86_64之分,這表示CPU的架構。

  比如我們用的是x86架構32位的CPU,我們在編譯內核的時(shí)候就要用到 xen0_defconfig_x86_32 和xenU_defconfig_x86_32 配置文件。

  舉個(gè)例子:比如我的機器架構是x86_32位的,我安裝xen的操作系統是Slackware,我想在Slackware 虛擬Debian 、Gentoo、Fedora等操作系統。這時(shí)編譯虛擬平臺Slackware所用的內核的配置文件就是 xen0_defconfig_x86_32 ,而被虛擬平臺(Debian 、Gentoo、Fedora等操作系統)所用的內核就是 xenU_defconfig_x86_32 。

  弄明白內核配置文件有何用?我們能明白xen在編譯過(guò)程中用了哪些內核配置文件,目的是我們在編譯過(guò)程中可以根據自己的需要來(lái)修改它,以編譯出適合我們需要的內核。

  比如我們想讓Slackware 支持xen,并且還要支持NTFS文件系統;所以我們就要修改 xen0_defconfig_x86_32這個(gè)文件。找出如下一行;

  # CONFIG_NTFS_FS is not set

  改為

  CONFIG_NTFS_FS=m

  如果您想讓被虛擬的操作系統(Debian 、Gentoo、Fedora等)也支持NTFS文件系統,所以要在 xenU_defconfig_x86_32找出如下一行;

  # CONFIG_NTFS_FS is not set

  改為

  CONFIG_NTFS_FS=m

  第二步:配置內核;

  這一步有兩種方法,一個(gè)是直接修改內核配置文件,另一個(gè)是內核配置界面來(lái)配置;

  方法一:通過(guò)修改內核配置文件;

  Xen所帶的內核配置文件位于解壓目錄中的linux-2.6-xen-sparse/arch/xen/configs 。我們前面已經(jīng)提到了相關(guān)配置文件的用途。請仔細看前一步的說(shuō)明;

  方法二:通過(guò)內核配置界面來(lái)配置;

  [root@localhost xen-3.0.1]# make linux-2.6-xen0-config CONFIGMODE=menuconfig

  第三步:編譯和安裝Xen;

  [root@localhost xen-3.0.1]# make

  [root@localhost xen-3.0.1]# make install

  3.43 創(chuàng )建initrd文件;

  有的系統需要initrd-XXXX.img或initrd.gz文件才能引導起來(lái),如果您的系統用了支持xen的支持引導不起來(lái),就要創(chuàng )建一個(gè)initrd-XXXX.img或initrd.gz的文件;請參考: 《Xen v3.0 用戶(hù)手冊》

  3.44 關(guān)于xen0和xenU內核說(shuō)明;

  一般的情況下會(huì )在/boot目錄中有兩個(gè)與xen相關(guān)的內核,有的文件名帶有vmlinuz-XXXX-xen0字樣的,有的帶有vmlinuz-XXXX-xenU字樣的;比如:

  [root@localhost xen-3.0.1]# ls -la /boot/vmlinuz*xen*

  lrwxrwxrwx 1 root root 21 2006-04-12 07:42 /boot/vmlinuz-2.6-xen0 -> vmlinuz-2.6.12.6-xen0

  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:42 /boot/vmlinuz-2.6.12-xen0 -> vmlinuz-2.6.12.6-xen0

  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 2180524 2006-04-12 07:42 /boot/vmlinuz-2.6.12.6-xen0

  -rw-r--r-- 1 root root 1129950 2006-04-12 07:49 /boot/vmlinuz-2.6.12.6-xenU

  其實(shí)就是兩個(gè)與xen相關(guān)的內核,其它的都是這兩個(gè)內核文件的鏈接;也就是vmlinuz-2.6.12.6-xen0和vmlinuz-2.6.12.6-xenU。vmlinuz-2.6.12.6-xen0是用來(lái)引導虛擬平臺的,比如我們在Slackware上安裝Xen,那Slackware就是虛擬平臺;所以如果要讓Slackware的xen能運行起來(lái),必須用xen相關(guān)的內核 ,也就是vmlinuz-2.6.12.6-xen0這個(gè)內核。 而XenU字樣這個(gè)內核,是用來(lái)引導虛擬操作系統用的,我們在以后會(huì )提到它。






4、引導XenLinux的GRUB配置;

  一旦我們在Linux操作系統安裝好Xen后,這樣的系統應該被稱(chēng)為XenLinux。如何才能引導擁有Xen的Linux呢?這時(shí)我們要用到GRUB系統引導管理器。我們修改一下GRUB的配置文件menu.lst或grub.conf就行了。此文件位于/boot/grub目錄中;

  4.1 判斷系統所在的分區;

  [root@localhost ~]# df -h

  Filesystem 容量 已用 可用 已用% 掛載點(diǎn)

  /dev/hda6 12G 6.9G 4.9G 59% /

  4.2 查看/boot目錄中xen相關(guān)的配置文件;

  [root@localhost ~]# ls /boot

  注意:我們前面已經(jīng)說(shuō)過(guò)了,xen提供了兩個(gè)內核,一個(gè)是虛擬平臺用的,也就是文件名帶有xen0字樣的;另一個(gè)帶有xenU字樣的,這是用于引導和支持虛擬操作系統用的。

  什么虛擬平臺,比如我們想用Slackware 的Xen虛擬Fedora、Gentoo .... 。那么Slackware就是虛擬平臺,而Fedora、Gentoo... .. 是被虛擬的操作系統。Slackware是一個(gè)真實(shí)安裝在您的機器上的操作系統,它提供的是一個(gè)運行xen的環(huán)境。為了讓Slackware能支持xen ,所以必須用于支持Xen的內核,也就是在/boot中有xen0字樣的文件。

  如果您安裝了Xen,會(huì )在/boot中有兩個(gè)文件vmlinuz-2.6.12.6-xen0和vmlinuz-2.6.12.6-xenU,

  4.3 禁掉 TLS Libraries ;

  [root@localhost ~]#mv /lib/tls /lib/tls.disabled

  禁掉的理由,請查看: 《Xen v3.0 用戶(hù)手冊》

  4.4 引導XenLinux的GRUB內容;

  title SlackXen

  kernel /boot/xen-3.0.gz

  module /boot/vmlinuz-2.6-xen0 root=/dev/hda6 ro console=tty0

  如果有inintrd-2.xxxx-xen.img或initrd.gz之類(lèi)的文件才能引導起來(lái)系統,還要加一行;要以/boot中的initrd相關(guān)的文件為準;

  modules /boot/initrd.gz

  有關(guān)GRUB的文檔:《系統引導管理器GRUB,為初學(xué)者指南》

  注意:與傳統GRUB的定義有點(diǎn)不同,就是kernel 是用來(lái)定義Xen的,而Linux的內核及initrd映像是通過(guò)module 指令定義的;要仔細看好;

  5、Xen的配置和管理工具;

  5.1 Xen的相關(guān)文件存放位置;

  xen安裝后,文件放在什么地方了呢?主要放在以下幾個(gè)目錄;

  5.11 內核及xen自身存放于 /boot

  安裝有xen的操作系統下的/boot目錄中,存放xen本身及支持xen的內核文件。比如文件名帶有xen0和xenU相關(guān)的文件;

  5.12 內核模塊存放于 /lib/modules

  內核模塊包括虛擬平臺支持xen的內核xen0的模塊,及支持虛擬操作系統所用的xenU的模塊,一般的情況下是在 /lib/modules下有兩個(gè)xen相關(guān)的目錄存放。一個(gè)是文件夾名帶有xen0字樣的,另一個(gè)是xenU字樣的;

  5.13 xen的配置文件及守護程序的存放位置;

  一般的情況下,Xen的配置文件存放于/etc/xen目錄。 比如 xend-config.sxp是用于配置網(wǎng)絡(luò )的,不過(guò)我們不必更改,用其默認的就能完成我們的需要。xmexample1 xmexample2是兩個(gè)示例性的配置文件。我們在配置引導被虛擬的操作系統時(shí),這兩個(gè)文件可供參考;

  Xen的服務(wù)器xend和xendomains啟動(dòng)腳本,一般是位于/etc/init.d/目錄中,也就是/etc/init.d/xend ;/etc/init.d/xend負責啟動(dòng)xend服務(wù)器,而/etc/init.d/xendomains負責第一個(gè)虛擬的系統及其它的Domains,也就是Domain 0 。

  5.14 可執行命令存放于/usr/sbin

  [root@localhost ~]#ls /usr/sbin/xen*

  /usr/sbin/xen-bugtool /usr/sbin/xenconsoled /usr/sbin/xenmon.py /usr/sbin/xenstored

  /usr/sbin/xenbaked /usr/sbin/xend /usr/sbin/xenperf /usr/sbin/xentop

  [root@localhost ~]#ls /usr/sbin/xm

  5.2 Xen服務(wù)器的啟動(dòng);

  xend服務(wù)器的啟動(dòng)/停止/重啟/狀態(tài)查詢(xún),請用下面的命令;

  [root@localhost ~]# /etc/init.d/xend start 啟動(dòng)xend,如果 xend沒(méi)有運行)

  [root@localhost ~]# /etc/init.d/xend stop 停止xend,如果xend正在運行)

  [root@localhost ~]# /etc/init.d/xend restart 重啟正在運行的 xend,如果xend沒(méi)有運行,則啟動(dòng)

  [root@localhost ~]# /etc/init.d/xend status 查看xend狀態(tài)

  啟動(dòng)xendomains 服務(wù)器的啟動(dòng)/停止/重啟/狀態(tài)查詢(xún),請用下面的命令;一般的情況下,xend服務(wù)器啟動(dòng)了,xendomains也會(huì )自動(dòng)啟動(dòng)。所以這個(gè)只是掌握一下就行了;

  [root@localhost ~]# /etc/init.d/xend start 啟動(dòng)xend,如果 xend沒(méi)有運行)

  [root@localhost ~]# /etc/init.d/xend stop 停止xend,如果xend正在運行)

  [root@localhost ~]# /etc/init.d/xend restart 重啟正在運行的 xend,如果xend沒(méi)有運行,則啟動(dòng)

  [root@localhost ~]# /etc/init.d/xend status 查看xend狀態(tài)

  [root@localhost ~]# /etc/init.d/xendomains start

  [root@localhost ~]# /etc/init.d/xendomains stop

  [root@localhost ~]# /etc/init.d/xendomains restart

  [root@localhost ~]# /etc/init.d/xendomains status

  5.3 Xen 管理工具xm;

  我們前面提到Xen的可執行命令中,我們可能看到了一些以xen開(kāi)頭的命令,您不妨嘗試一個(gè)一個(gè)的嘗試一下他們是做什么用的;比如xend是服務(wù)器的開(kāi)啟運行命令 ... ....

  其中xm命令,就是管理Xen的最基本的工具;您可以通過(guò)xm --help 來(lái)獲得幫助;






5.31 列出所有正在運行的虛擬操作系統;

  [root@localhost ~]# /usr/sbin/xm list

  Name ID Mem(MiB) VCPUs State Time(s)

  Domain-0 0 450 1 r----- 5377.0

  fc5 4 256 1 -b---- 0.1

  列出所有正在運行的虛擬系統(也可以稱(chēng)為虛擬機);我們可以看到,一個(gè)名為Domain-0的系統正在運行。Domain-0就是Xen本身,也可以稱(chēng)為虛擬平臺內存大小,而Domain-0負責提供其它虛擬操作系統的硬件環(huán)境,其它的系統都是基于Domain-0開(kāi)始的,我們看到他的ID為0就應該知道它的權限是至高無(wú)尚的。所占用的內存是450M,不過(guò)這個(gè)是可以指定的。 虛擬的CPU個(gè)數是1個(gè),運行狀態(tài)處于r,也就是run,正在運行中;運行時(shí)間是5377秒;

  還有一個(gè)虛擬系統fc5,他的id是4,占用內存256M,虛擬CPU個(gè)數是1個(gè) ... ...

  5.32 通過(guò)配置文件來(lái)引導被虛擬的操作系統;

  [root@localhost ~]# /usr/sbin/xm create -c 虛擬操作系統的啟動(dòng)配置文件

  比如我們要啟動(dòng)被虛擬的操作系統Fedora Core 5.0 ,我們要寫(xiě)一個(gè)啟動(dòng)Fedora的配置文件,比如是fc5vm.cfg。然后就可以通過(guò)下面的命令來(lái)引導Fedora了;

  [root@localhost ~]# /usr/sbin/xm create -c fc5vm.cfg

  5.33 從終端或控制臺登錄正在運行的虛擬操作系統;

  [root@localhost ~]# /usr/sbin/xm console 正在運行的虛擬操作系統的Name或ID;

  舉例:

  [root@localhost ~]# /usr/sbin/xm list

  Name ID Mem(MiB) VCPUs State Time(s)

  Domain-0 0 512 1 r----- 5561.9

  fc5 4 256 1 -b---- 0.2

  [root@localhost ~]# /usr/sbin/xm console fc5

  5.34 存儲正在運行的虛擬操作系統的狀態(tài)及喚醒虛擬操作系統;

  [root@localhost ~]# /usr/sbin/xm save

  [root@localhost ~]# /usr/sbin/xm restore

  舉例:

  [root@localhost ~]# /usr/sbin/xm list

  Name ID Mem(MiB) VCPUs State Time(s)

  Domain-0 0 458 1 r----- 260.3

  fc5 2 256 1 ------ 6.5

  [root@localhost ~]# /usr/sbin/xm save 2 fc5run.save

  [root@localhost ~]# /usr/sbin/xm restore fc5run.save

  [root@localhost ~]# /usr/sbin/xm console fc5

  5.35 停止正在運行的虛擬操作系統/激活停止的虛擬操作系統

  [root@localhost ~]# /usr/sbin/xm pause

  [root@localhost ~]# /usr/sbin/xm unpause

  舉例:

  [root@localhost ~]# /usr/sbin/xm list

  Name ID Mem(MiB) VCPUs State Time(s)

  Domain-0 0 458 1 r----- 260.3

  fc5 2 256 1 ------ 6.5

  [root@localhost ~]# /usr/sbin/xm pause 2

  [root@localhost ~]# /usr/sbin/xm unpause 2

  5.36 調整虛擬平臺/虛擬操作系統的占用內存

  我們可以調整正在運行中的虛擬平臺(Domain-0)所占內存大小及虛擬操作系統所占用的內存大??;

  [root@localhost ~]# /usr/sbin/xm mem-set

  舉例:

  [root@localhost ~]# /usr/sbin/xm list

  Name ID Mem(MiB) VCPUs State Time(s)

  Domain-0 0 458 1 r----- 260.3

  fc5 2 256 1 ------ 6.5

  [root@localhost ~]# /usr/sbin/xm mem-set 2 128

  5.37 關(guān)閉被虛擬的系統

  [root@localhost ~]# /usr/sbin/xm shutdown 虛擬操作系統的Name或DomID

  [root@localhost ~]# /usr/sbin/xm destroy 立即停止虛擬的系統 (重要);

  舉例:

  [root@localhost ~]# /usr/sbin/xm list

  Name ID Mem(MiB) VCPUs State Time(s)

  Domain-0 0 458 1 r----- 260.3

  fc5 2 256 1 ------ 6.5

  [root@localhost ~]# /usr/sbin/xm shutdown fc5

  或

  [root@localhost ~]# /usr/sbin/xm shutdown 2

  或

  [root@localhost ~]# /usr/sbin/xm destroy 2

  5.38 調整虛擬平臺及虛擬操作系統的虛擬CPU個(gè)數;

  [root@localhost ~]# /usr/sbin/xm vcpu-set

  舉例:

  [root@localhost ~]# /usr/sbin/xm list

  Name ID Mem(MiB) VCPUs State Time(s)

  Domain-0 0 458 1 r----- 260.3

  fc5 2 256 1 ------ 6.5

  [root@localhost ~]# /usr/sbin/xm vcpu-set 2 4

  5.39 查看虛擬系統運行的狀態(tài);

  [root@localhost ~]# xm top

  或

  [root@localhost ~]# xentop





6、虛擬操作系統的文件存儲系統;

  我們虛擬的系統應該有一個(gè)存儲的地方,也就是文件系統。被虛擬的系統能安裝和運行在哪些文件系統上呢?能安裝和運行在一個(gè)實(shí)際的物理分區上,一個(gè)映像文件中,或NFS等網(wǎng)絡(luò )文件系統中;

  6.1 以實(shí)際物理硬盤(pán)做為虛擬操作系統文件系統;

  以實(shí)際物理硬盤(pán)分區做為虛擬操作系統的文件系統,要經(jīng)過(guò)硬盤(pán)分區,創(chuàng )建文件系統流程;

  請參考:《Linux 創(chuàng )建文件系統及掛載文件系統流程詳解》

  6.11 準備物理分區及創(chuàng )建文件系統;

  《Linux 查看磁盤(pán)分區、文件系統、使用情況的命令和相關(guān)工具介紹》

  《實(shí)例解說(shuō) fdisk 使用方法》

  《合理規劃您的硬盤(pán)分區》

  《Linux 創(chuàng )建文件系統及掛載文件系統流程詳解》

  6.12 在物理分區上構建操作系統;

  構建操作系統,目前在一個(gè)Linux操作系統中構建另一個(gè)操作系統,主要是通過(guò)chroot工具和軟件包提取工具來(lái)構建?;A的東西還是需要一點(diǎn)的,請參考:《通過(guò)chroot 構建Linux操作系統概要》

  目前在開(kāi)源社區中,已經(jīng)有人把一些常用的發(fā)行版的基礎系統做好了。我們能拿過(guò)來(lái)直接用。呵。。。。。只要有基礎系統,我們就能chroot進(jìn)入,我們就能用相應發(fā)行版軟件包管理器來(lái)構建操作系統了。

  操作系統之基礎系統資源:

  http://jailtime.org

  您可以直接下載您喜歡的操作系統,解壓后,然后掛載映像文件,然后把映像文件的內容都拷到物理分區中就好了。不過(guò)還得做一點(diǎn)小小的修改,比如您下載系統映像文件中的/etc/fstab等文件。要根據您的引導的虛擬操作系統中定義的虛擬映射點(diǎn)來(lái)改。

  6.13 虛擬操作系統的引導文件中關(guān)于文件系統的定義;

  如果您的硬盤(pán)有一定的空間,就可以把被虛擬的操作系統安裝在硬盤(pán)的實(shí)際物理分區中,當然您首先得準備一個(gè)硬盤(pán)分區。然后格式化成Linux的文件系統,比如ext3或reiserfs 等;然后是在這個(gè)分區上構建您想要虛擬的操作系統,最后才是寫(xiě)虛擬操作系統的引導配置文件,在配置文件中,要用phy:來(lái)指定。

  比如:

  disk = ['phy:hda7,sda1,w']

  中文意思就是:

  disk=['phy:分區,映射點(diǎn),w']

  這行是什么意思呢?就是表示被虛擬的操作系統安裝在/dev/hda3,我們要把hda3硬盤(pán)分區虛擬映射到/dev/sda1,并且是可讀可寫(xiě)的;在這里要值得注意的是虛擬平臺正在使用中的分區不能做為是映射點(diǎn)。

  比如我在Slackware是位于/dev/hda6的虛擬平臺,也就是真實(shí)運行的操作系統,我想用它來(lái)虛擬位于/dev/hda7分區的Fedora。所以我不能把/dev/hda6做為hda7的映射點(diǎn)。也就是下面一行是錯誤的:

  disk = ['phy:hda7,hda6,w']

  如何定義映射點(diǎn),其實(shí)也比較好辦,只要符合Linux設備的規則就可以;比如下面的也可以;

  disk = ['phy:hda7,sda2,w']

  disk = ['phy:hda7,sda3,w']

  disk = ['phy:hda7,sdb1,w']

  disk = ['phy:hda7,sdb2,w']

  ... ...

  什么是映射點(diǎn)呢?也就是說(shuō)通過(guò)phy定義后,被虛擬的操作系統的位于的真實(shí)的物理分區,在虛擬平臺中,被映射到另一個(gè)分區;可能這樣說(shuō)有點(diǎn)不太明白。呵。。。。。。

  舉個(gè)例子吧:比如我們在Slackware虛擬Fedora ,而Fedora 位于/dev/hda7中。我們在引導Fedora的配置文件中定義Fedora所用的物理分區被映射到/dev/sda1;

  disk = ['phy:hda7,sda1,w']

  root = "/dev/sda1 ro"

  當我們把Fedora引導起來(lái)的時(shí)候,Fedora的文件系統就是用被虛擬后的分區,也就是/dev/sda1。在Fedora中,我們通過(guò)df -h 查看到Fedora是位于/dev/sda1。

  所以在引導Fedora的配置文件中,還要有一行來(lái)指定Fedora的root在哪里,就在/dev/sda1上;因為/dev/hda7已經(jīng)被虛擬到了/dev/sda1。這回明白了吧;

  6.2 以映像文件做虛擬操作系統的文件系統;

  以映像文件做為虛擬操作系統的文件系統,這種方法是比較常用。也是比較方便和易于操作的,也就是說(shuō)被虛擬的操作系統是放在了一個(gè)文件中。

  6.21 創(chuàng )建映像文件;

  [root@localhost ~]# dd if=/dev/zero of=fedora50.img bs=2k seek=2048k count=1

  讀入了 1+0 個(gè)塊

  輸出了 1+0 個(gè)塊

  [root@localhost ~]# ls -lh fedora50.img

  -rw-r--r-- 1 root root 4.1G 2006-04-13 01:27 fedora50.img

  我們可以用dd來(lái)創(chuàng )建映像文件,上面的例子是創(chuàng )建了大小為4.1G的體積的,名為fedora50.img的映像文件;您可以調整上面命令參數的大小來(lái)創(chuàng )建您想要的體積大小的映像文件。

  6.22 格式化映像為L(cháng)inux文件系統;

  Linux文件系統,比如ext3或reiserfs,看自己喜歡吧;您可以用mkfs.ext3或mkfs.reiserfs命令來(lái)創(chuàng )建文件系統,請參考:

  [root@localhost ~]# /sbin/mkfs.ext3 fedora50,img

  mke2fs 1.38 (30-Jun-2005)

  fedora50,img is not a block special device.

  Proceed anyway? (y,n) y 注:在這里輸入y就時(shí)行格式化了,然后遇到提示之處,都是用回車(chē)。

  這樣fedora50.img就是ext3文件系統了,你可以用mount -o loop 來(lái)掛載使用它,在它上面存儲文件等。

  [root@localhost ~]# mkdir /mnt/fedora50

  [root@localhost ~]# mount -o loop fedora50.img /mnt/fedora50

  [root@localhost ~]# df -h

  root@localhost:/opt# df -lh

  Filesystem 容量 已用 可用 已用% 掛載點(diǎn)

  /dev/hda6 12G 8.5G 3.3G 73% /

  /root/fedora50,img 4.0G 129M 3.7G 4% /mnt/fedora

  上面的一系列命令執行下去后,說(shuō)明fedora50.img已經(jīng)掛載到了/mnt/fedora目錄中,我們可以向/mnt/fedora中存放文件。這樣就寫(xiě)到了fedora50.img映像文件中。寫(xiě)完后,我們可以卸載fedora50.img;

  [root@localhost ~]# umount /mnt/fedora

  6.23 在映像文件上構建操作系統;

  在映像文件上構建操作系統,目前在一個(gè)Linux操作系統中構建另一個(gè)操作系統,主要是通過(guò)chroot工具和軟件包提取工具來(lái)構建?;A的東西還是需要一點(diǎn)的,請參考:

  目前在開(kāi)源社區中,已經(jīng)有人把一些常用的發(fā)行版的基礎系統做好了。我們能拿過(guò)來(lái)直接用。呵。。。。。只要有基礎系統,我們就能chroot進(jìn)入,我們就能用相應發(fā)行版軟件包管理器來(lái)構建操作系統了。

  操作系統之基礎系統資源:

  http://jailtime.org

  6.24 虛擬操作系統的引導文件中關(guān)于文件系統的定義;

  disk = ['file:/opt/vmos/vmos.img,sda1,w', 'file:/opt/vmos/vmos.swap,sda2,w']

  root = "/dev/sda1 ro"

  我們還是以實(shí)例解說(shuō),把裝有vmos.img的映像映射到/dev/sda1 分區,vmos.img就是虛擬操作系統root存放地。vmos.swap是被虛擬文件系統的交換分區,這個(gè)交換分區也是一個(gè)文件,被映射到了/dev/sda2 。然后通過(guò)root= 行來(lái)指定虛擬操作系統所處的分區,這個(gè)位置就是被虛擬后的分區。

  定義時(shí)要注意自己的這些文件存放在哪了?上面的例子表示vmos.img和vmos.swap是存放在/opt/vmos目錄中。要看好了。。






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






7.23 修改引導運行Fedora的配置文件;

  我們從fedora.fc5.20060401.img.tgz 解壓出來(lái)一個(gè)fedora.fc5.xen.cfg ,這個(gè)就是用來(lái)引導Fedora 5的配置文件。我們改一改以適合我們的需要。我們把這個(gè)文件復制為fc5vm.cfg

  [root@localhost ~]# cp /opt/fedora5vm/fedora.fc5.xen.cfg /opt/fedora5vm/fc5vm.cfg

  fc5vm.cfg 內容如下:

  kernel = "/boot/vmlinuz-2.6-xenU"

  memory = 128

  name = "fc5"

  nics = 1

  vif = ['mac=aa:00:00:00:00:11']

  dhcp = "dhcp"

  disk = ['file:/opt/fedora5vm/fedora.fc5.img,sda1,w', 'file:/opt/fedora5vm/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 5.0 所用的文件系統,因為我們這次用的是映像文件。所以要用file:來(lái)指定,Fedora 5用的交換分區,也是一個(gè)映像文件;所以有:

  disk = ['file:/opt/fedora5vm/fedora.fc5.img,sda1,w', 'file:/opt/fedora5vm/fedora.swap,sda2,w']

  指定fedora.fc5.img映像文件虛擬映射到/dev/sda1;交換分區文件fedora.swap映射到了/dev/sda2。映射過(guò)后,Fedora的root文件系統就用映射后的/dev/sda1。虛擬映射設備是可以在Linux系統設備定義的許可范圍內進(jìn)行。自己嘗試著(zhù)換一換映射點(diǎn)。如果Fedora的虛擬映射設備變了,我們得改變Fedora中的/etc/fstab。

  root一行,來(lái)指定Fedora的root位于哪個(gè)映射后的設備。映射到哪里了呢?Fedora 安裝到了/dev/sda1,映射后虛擬到了/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 = ['file:/opt/fedora5vm/fedora.fc5.img,sda1,w', 'file:/opt/fedora5vm/fedora.swap,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 = ['file:/opt/fedora5vm/fedora.fc5.img,sda1,w', 'file:/opt/fedora5vm/fedora.swap,sda2,w']

  root = "/dev/sda1 ro"

  ip = "192.168.1.144"

  netmask="255.255.255.0"

  7.24 引導Fedora 5 ;

  引導運行Fedora 5.0就好辦了,就是用xm 工具來(lái)引導;首先要確認你的Fedora 5的配置文件放在哪里。比如我們在這個(gè)例子中是放在了/opt/fedora5vm中。并且文件名為fc5vm.cfg。所以我就可以這樣來(lái)引導Fedora 5。

  [root@localhost ~]# /usr/sbin/xm create -c /opt/fedora5vm/fc5vm.cfg

  7.25 網(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 -o loop /opt/fedora5vm/fedora.fc5.img /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

  然后再來(lái)引導Fedora 5,進(jìn)入系統后用ifconfig來(lái)查看網(wǎng)卡的IP之類(lèi)的,如果沒(méi)有激活,請用下面的命令來(lái)加載網(wǎng)卡模塊;在要Fedora中執行;

  [root@fc5_pristine ~]# modprobe xennet

  [root@fc5_pristine ~]# dhclient 如果您用DHCP獲取IP,請執行;

  7.26 Fedora 映像文件太小的解決辦法;

  我們會(huì )發(fā)現我們下載的Fedora基礎系統的映像文件體積太小。體積小空間就小的了。Fedora 5.0如果只安裝基礎系統,倒占用不了多少空間,如果再安裝一個(gè)桌面環(huán)境可能會(huì )占用大一點(diǎn)的地方。比如安裝GNOME或KDE。

  我們可以自己創(chuàng )建一個(gè)映像文件,創(chuàng )建好文件系統。然后從我們下載下來(lái)的Fedora映像文件中的所有文件,也就是Fedora的基礎系統,復制到我們新創(chuàng )建的映像中。前面已經(jīng)說(shuō)過(guò)創(chuàng )建映像文件的辦法了。這個(gè)應該好辦吧。

  [root@localhost ~]# dd if=/dev/zero of=fc5.img bs=2k seek=2048k count=1

  [root@localhost ~]# ls -lh fc5.img

  -rw-r--r-- 1 root root 4.1G 2006-04-13 11:22 fc5.img

  [root@localhost ~]# /sbin/mkfs.ext3 fc5.img

  mke2fs 1.38 (30-Jun-2005)

  fc5.img is not a block special device.

  Proceed anyway? (y,n) y

  [root@localhost ~]# mkdir /mnt/tmp 注:在/mnt/中創(chuàng )建tmp目錄

  [root@localhost ~]# mkdir /mnt/fedora 注:在/mnt中創(chuàng )建fedora目錄

  [root@localhost ~]# mount -o loop fc5.img /mnt/fedora/ 注:掛載我們新創(chuàng )建的fc5.img文件到 /mnt/fedora

  [root@localhost ~]# mount -o loop fedora.fc5.img /mnt/tmp/ 注:掛載我們下載下來(lái)的映像文件到/mnt/tmp

  [root@localhost ~]# cp -rp /mnt/tmp/* /mnt/fedora/ 注:復制Fedora基礎系統到新的映像文件;

  [root@localhost ~]# umount /mnt/tmp 注:卸載 fedora.fc5.img ;

  [root@localhost ~]# umount /mnt/fedora 注:卸載fc5.img

  然后就是改一改引導Fedora 5的配置文件,注意改一下disk:那行;要到fc5.img指定進(jìn)去。要仔細看一下fc5所處的目錄;這個(gè)應該好辦,不多說(shuō)了;





8、強制終止正在運行的虛擬操作系統;(重要)

  在xm這個(gè)管理工具中,我們把xm destroy 單列出來(lái),就是因為這個(gè)工具是極為重要的;有時(shí)被虛擬的系統一直退不出去,但由于啟動(dòng)過(guò)程中遇到問(wèn)題,又不能終止。這時(shí)我們要用到這個(gè)工具強制被虛擬的系統退出。

  [root@localhost ~]# xm list

  Name ID Mem(MiB) VCPUs State Time(s)

  Domain-0 0 586 1 r----- 2236.5

  fc5 1 128 1 -b---- 13.7

  [root@localhost ~]# xm destroy 1

  或

  [root@localhost ~]# xm destroy fc5

  這時(shí)您再用xm list查看,肯定fc5這個(gè)Domain已經(jīng)退出。

  xm destroy 這個(gè)指令還是極為有用的,所以我們單列出來(lái)。希望新手弟兄注意一下。

  9、關(guān)于基礎系統安裝后,虛擬操作系統的軟件補充安裝;

  基礎系統安裝好以后,下一步就是其它軟件的安裝。在各個(gè)系統都有軟件包管理工具; 在主流發(fā)行版中,都有相應的軟件包管理工具,比如Fedora有rpm 和yum 工具;Debian有 apt工具。

  或者通過(guò)chroot來(lái)安裝一些比較重要的軟件包??傊椒ㄌ嗔?;

  總之,后續軟件的補充安裝并不是什么問(wèn)題;

  10、關(guān)于虛擬操作系統的桌面訪(fǎng)問(wèn)及遠程訪(fǎng)問(wèn);

  被虛擬的操作系統,我們要把它看成一***立運行的計算機。計算機與計算機之間通過(guò)什么訪(fǎng)問(wèn)來(lái)?ssh 或vnc。所以我們要在被虛擬的操作系統上安裝vncserver 和sshd;

  如果您虛擬的是Fedora ,我們可以在Fedora中執行yum install vnc來(lái)安裝vncserver ;

  #yum install vnc

  如果您虛擬的是 Debian ,您可以用apt-get install vncserver 來(lái)安裝vncserver ;

  #apt-get install vncserver

  當然客戶(hù)端也要安裝vncview才行,您要自己在客戶(hù)端上安裝vncview;

  關(guān)于vnc遠程桌面的訪(fǎng)問(wèn),您可以參考這篇:《Fedora Core 5.0 用 Xen 虛擬Slackware 10.2》

  另外sshd服務(wù)器,也要安裝openssh 的軟件包;這個(gè)也省略不說(shuō)了,比較簡(jiǎn)單,再說(shuō)目前大多基礎系統已經(jīng)提供這個(gè)軟件包了。并且在被虛擬的系統在啟動(dòng)時(shí),sshd也自動(dòng)運行了;連接sshd服務(wù)器的命令是;

  #ssh 用戶(hù)名@ip

  比如

  #ssh root@192.168.1.12

  11、常見(jiàn)問(wèn)題處理;

  11.1 不能找到root分區;

  表現如下癥狀;

  VFS: Cannot open root device "sda8" or unknown-block(2,0)

  Please append a correct "root=" boot option

  Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

  引導虛擬操作系統的配置文件有問(wèn)題,主要查看disk:那行和root那行是否用的是一個(gè)虛擬映射點(diǎn)。

  比如是由于引導Fedora 的配置文件中disk行和root行如下:

  disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']

  root = "/dev/sda8 ro"

  我們發(fā)現/dev/hda5被虛擬映射到/dev/sda1了。也就是說(shuō),被虛擬的操作系統引導運行,它的root應該位于/dev/sda1。而在這里定義的卻是/dev/sda8。所以應該改為

  disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']

  root = "/dev/sda1 ro"

  11.2 出現/tmp/.ICE-unix 類(lèi)似的錯誤;

  chown: changing ownership of `/tmp/.ICE-unix': Read-only file system

  再比較/tmp/xxxx之類(lèi)的不能寫(xiě)入,只讀之類(lèi)的,請用xm destrony 先關(guān)掉被虛擬的操作系統。然后把被虛擬的系統的分區或映像文件掛載,刪除/tmp目錄中的臨時(shí)文件。注意.file是隱藏的。您可以通過(guò)ls -la來(lái)查看。然后再來(lái)刪除;

  另外如果一直出現這個(gè)錯誤,說(shuō)明文件系統有問(wèn)題了,這在ext3的文件系統中是經(jīng)常發(fā)生的。您可以用/sbin/fsck.ext3 工具來(lái)修復文件系統。當然您的文件系統不能處于掛載狀態(tài)。應該先umout 才能進(jìn)行;

  比如修復一個(gè)分區,應該類(lèi)似如下的命令;

  [root@localhost ~]# /sbin/fsck.ext3 /dev/hda5

  如果中間遇到是否修復時(shí),按提示的就是y或yes吧;

  如果被虛擬的文件系統位于一個(gè)映像文件,也是用這種辦法,比如:

  [root@localhost ~]# /sbin/fsck.ext3 fc5.img

  11.3 Device 0 (vif) could not be connected

  Warning: The nics option is deprecated. Please use an empty vif entry instead:

  vif = [ '' ]

  Error: Device 0 (vif) could not be connected. Hotplug scripts not working.

  如果出現上面這種錯誤,應該看一下配置文件中有沒(méi)有 vif=['']的定義;

  12、關(guān)于本文;

  本文是在閱讀《xen v3.0 用戶(hù)手冊》的基礎上實(shí)踐而成。本文和我前幾天寫(xiě)的《Fedora Core 5.0 用 Xen 虛擬Slackware 10.2》有點(diǎn)類(lèi)似。通過(guò)實(shí)踐看來(lái)Xen還不是太難用,應該說(shuō)比較容易。至于高深的東西,我也不會(huì ),所以只能寫(xiě)一寫(xiě)新手入門(mén)性的文檔??赡苡械牡苄终J為本文沒(méi)有任何價(jià)值,我想也是這么回事,如果有一個(gè)弟兄認為有點(diǎn)價(jià)值,那就送給他用吧~~~

  13、后記;

  還要挖一挖Xen的文檔?好象沒(méi)有太大的必要了~~~,看情況吧;

  14、參考文檔;

  《xen v3.0 用戶(hù)手冊》

  http://jailtime.org

  15、相關(guān)文檔;

  《xen v3.0 用戶(hù)手冊》

  《Fedora Core 5.0 用 Xen 虛擬Slackware 10.2》

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
linux系統下創(chuàng )建交換分區
以WINGRUB 引導安裝Fedora 4.0 為例,詳述用WINGRUB來(lái)引導Linux的安裝 | LinuxSir.Org
實(shí)例解說(shuō)Linux中fdisk分區使用方法
linux mkfs命令參數及用法詳解
第8章 磁盤(pán)文件與文件系統管理
linux fdisk命令使用
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久