亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號(hào)

Linux上的虛擬化技術(shù) Xen 初學(xué)者指南(1)
2006-07-19   賽迪網(wǎng)

0、本文約定;

虛擬平臺(tái)是指能支持運(yùn)行Xen的真實(shí)安裝的操作系統(tǒng);

虛擬操作系統(tǒng):是指在虛擬平臺(tái)上安裝和虛擬運(yùn)行的操作系統(tǒng);

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

1、什么是Xen;

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

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

1.1 Xen的特性;

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

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

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

支持PAE指令集的x86/32, x86/64平臺(tái)

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

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

1.2 Xen的應(yīng)用范圍;

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

無硬件依賴:允許應(yīng)用程序和操作系統(tǒng)對(duì)新硬件的移值測試;

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

內(nèi)核開發(fā):在虛擬機(jī)的沙盒中,做內(nèi)核的測試和調(diào)試,無需為了測試而單獨(dú)架設(shè)一臺(tái)獨(dú)立的機(jī)器;

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

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

1.3 Xen的操作系統(tǒng)支持和硬件支持;

請(qǐng)參閱: 《Xen v3.0 用戶手冊(cè)》

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

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

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

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

3、Xen的安裝;

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

3.1 安裝Xen的準(zhǔn)備工作;

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

具體明細(xì)請(qǐng)參閱: 《Xen v3.0 用戶手冊(cè)》

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

3.2 在Redhat/Fedora 操作平臺(tái)上的安裝;

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

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

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

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

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

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

下載好后,就解壓安裝,我們還是以支持x86_32構(gòu)架機(jī)器的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

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

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

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

3.41 編譯原理;

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

3.42 編譯過程簡說;

第一步:解壓軟件包,查看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是內(nèi)核的補(bǔ)丁包,linux-2.6-xen-sparse是支持Xen的內(nèi)核目錄樹,值得注意的是內(nèi)核的配置文件就在這個(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

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

xen0字樣的就是我們一般是用于我們運(yùn)行xen的操作系統(tǒng)的內(nèi)核 ,而xenU字樣的就是為虛擬操作系統(tǒng)所提供的內(nèi)核。另外還有x86_32和x86_64之分,這表示CPU的架構(gòu)。

比如我們用的是x86架構(gòu)32位的CPU,我們?cè)诰幾g內(nèi)核的時(shí)候就要用到 xen0_defconfig_x86_32 和xenU_defconfig_x86_32 配置文件。

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

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

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

# CONFIG_NTFS_FS is not set

改為

CONFIG_NTFS_FS=m

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

# CONFIG_NTFS_FS is not set

改為

CONFIG_NTFS_FS=m

第二步:配置內(nèi)核;

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

方法一:通過修改內(nèi)核配置文件;

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

方法二:通過內(nè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文件;

有的系統(tǒng)需要initrd-XXXX.img或initrd.gz文件才能引導(dǎo)起來,如果您的系統(tǒng)用了支持xen的支持引導(dǎo)不起來,就要?jiǎng)?chuàng)建一個(gè)initrd-XXXX.img或initrd.gz的文件;請(qǐng)參考: 《Xen v3.0 用戶手冊(cè)》

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

一般的情況下會(huì)在/boot目錄中有兩個(gè)與xen相關(guān)的內(nèi)核,有的文件名帶有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)的內(nèi)核,其它的都是這兩個(gè)內(nèi)核文件的鏈接;也就是vmlinuz-2.6.12.6-xen0和vmlinuz-2.6.12.6-xenU。vmlinuz-2.6.12.6-xen0是用來引導(dǎo)虛擬平臺(tái)的,比如我們?cè)赟lackware上安裝Xen,那Slackware就是虛擬平臺(tái);所以如果要讓Slackware的xen能運(yùn)行起來,必須用xen相關(guān)的內(nèi)核 ,也就是vmlinuz-2.6.12.6-xen0這個(gè)內(nèi)核。 而XenU字樣這個(gè)內(nèi)核,是用來引導(dǎo)虛擬操作系統(tǒng)用的,我們?cè)谝院髸?huì)提到它。

4、引導(dǎo)XenLinux的GRUB配置;

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

4.1 判斷系統(tǒng)所在的分區(qū);

[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)說過了,xen提供了兩個(gè)內(nèi)核,一個(gè)是虛擬平臺(tái)用的,也就是文件名帶有xen0字樣的;另一個(gè)帶有xenU字樣的,這是用于引導(dǎo)和支持虛擬操作系統(tǒng)用的。

什么虛擬平臺(tái),比如我們想用Slackware 的Xen虛擬Fedora、Gentoo .... 。那么Slackware就是虛擬平臺(tái),而Fedora、Gentoo... .. 是被虛擬的操作系統(tǒng)。Slackware是一個(gè)真實(shí)安裝在您的機(jī)器上的操作系統(tǒng),它提供的是一個(gè)運(yùn)行xen的環(huán)境。為了讓Slackware能支持xen ,所以必須用于支持Xen的內(nèi)核,也就是在/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

禁掉的理由,請(qǐng)查看: 《Xen v3.0 用戶手冊(cè)》

4.4 引導(dǎo)XenLinux的GRUB內(nèi)容;

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之類的文件才能引導(dǎo)起來系統(tǒng),還要加一行;要以/boot中的initrd相關(guān)的文件為準(zhǔn);

modules /boot/initrd.gz

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

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

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

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

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

5.11 內(nèi)核及xen自身存放于 /boot

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

5.12 內(nèi)核模塊存放于 /lib/modules

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

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

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

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

5.14 可執(zhí)行命令存放于/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)查詢,請(qǐng)用下面的命令;

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

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

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

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

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

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

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

[root@localhost ~]# /etc/init.d/xend restart 重啟正在運(yùn)行的 xend,如果xend沒有運(yùn)行,則啟動(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的可執(zhí)行命令中,我們可能看到了一些以xen開頭的命令,您不妨嘗試一個(gè)一個(gè)的嘗試一下他們是做什么用的;比如xend是服務(wù)器的開啟運(yùn)行命令 ... ....

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

5.31 列出所有正在運(yùn)行的虛擬操作系統(tǒng);

[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

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

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

5.32 通過配置文件來引導(dǎo)被虛擬的操作系統(tǒng);

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

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

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

5.33 從終端或控制臺(tái)登錄正在運(yùn)行的虛擬操作系統(tǒng);

[root@localhost ~]# /usr/sbin/xm console 正在運(yùn)行的虛擬操作系統(tǒng)的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 存儲(chǔ)正在運(yùn)行的虛擬操作系統(tǒng)的狀態(tài)及喚醒虛擬操作系統(tǒng);

[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 停止正在運(yùn)行的虛擬操作系統(tǒng)/激活停止的虛擬操作系統(tǒng)

[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 調(diào)整虛擬平臺(tái)/虛擬操作系統(tǒng)的占用內(nèi)存

我們可以調(diào)整正在運(yùn)行中的虛擬平臺(tái)(Domain-0)所占內(nèi)存大小及虛擬操作系統(tǒng)所占用的內(nèi)存大小;

[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)閉被虛擬的系統(tǒng)

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

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

舉例:

[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 調(diào)整虛擬平臺(tái)及虛擬操作系統(tǒng)的虛擬CPU個(gè)數(shù);

[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ǒng)運(yùn)行的狀態(tài);

[root@localhost ~]# xm top

[root@localhost ~]# xentop

6、虛擬操作系統(tǒng)的文件存儲(chǔ)系統(tǒng);

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

6.1 以實(shí)際物理硬盤做為虛擬操作系統(tǒng)文件系統(tǒng);

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

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

6.11 準(zhǔn)備物理分區(qū)及創(chuàng)建文件系統(tǒng);

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

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

《合理規(guī)劃您的硬盤分區(qū)》

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

6.12 在物理分區(qū)上構(gòu)建操作系統(tǒng);

構(gòu)建操作系統(tǒng),目前在一個(gè)Linux操作系統(tǒng)中構(gòu)建另一個(gè)操作系統(tǒng),主要是通過chroot工具和軟件包提取工具來構(gòu)建。基礎(chǔ)的東西還是需要一點(diǎn)的,請(qǐng)參考:《通過chroot 構(gòu)建Linux操作系統(tǒng)概要》

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

操作系統(tǒng)之基礎(chǔ)系統(tǒng)資源:

http://jailtime.org

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

6.13 虛擬操作系統(tǒng)的引導(dǎo)文件中關(guān)于文件系統(tǒng)的定義;

熱詞搜索:

上一篇:給新手入門的kernel 2.6.0 編譯方法
下一篇:Linux上的虛擬化技術(shù) Xen 初學(xué)者指南(2)

分享到: 收藏