Ⅰ 如何安裝XEN
對於Fedora系統,它的程序包管理器是yum,將用它從預編譯好的程序包來安裝Xen。實際上,使用yum安裝Xen是一件相當輕松的工作,具體過程如下所示:
1、通過下列命令來安裝Xen 內核和有關軟體:
yum install kernel-xen xen
這一命令將下載並安裝以下程序包及其依賴包:
l kernel-xen:該程序包存放的是主機操作系統和客戶操作系統以及系統管理程序所用的Xen內核。
l xen:該程序包存放的是跟Xen系統管理程序交互的用戶空間工具。
l bridge-utils :該程序包存放的是用於配置乙太網橋的實用程序,乙太網橋的作用是將多個乙太網設備連在一起。
l libvirt :該程序包存放的是一個C庫,它提供了使用Xen框架所需的應用編程介面API 。
l libvirt-python :該程序包存放的是一個Python 模塊,有了它就可以讓Python 應用程序使用libvirt提供的Xen框架應用編程介面。
l Python-virtinst :該程序包存放的是一個Python 模塊,該模塊使用libvirt在虛擬機內安裝Fedora /Red Hat Enterprise linux 。
l Xen-libs :該程序包存放的是Xen的管理程序所需的程序庫。
Ⅱ 在Linux內核編譯的時候,一定要在/usr/src/kernel下才行嗎我怎麼在自己建立的文件夾下編譯總是報錯呢
Linux基礎知識:內核編譯-2.4至2.6
前言
linux-2.6.x內核發布後, 壇子里的兄弟們肯定都迫不及待地要升級原有的2.4.x內核. 但是由於與2.6.x內核配套的系統程序並沒有相應的來得及更新, 升級過程會碰到很多問題, 因此覺得有必要把我的經驗與大家share一下:-) XD們以後碰到類似問題時, 請先閱讀本文, 而不要一上來就盲目發帖.
1. 備份重要的數據
這是個好習慣,就不用多說了:-)
2. 下載最新的2.6.x內核源碼包
這個當然要到官方網站或者它的mir...?去下載了, 最好別到那些unknown的網站去下, 因為那些源碼包有可能被惡意做了手腳. 最新的linux-2.6.4.tar.bz2源碼包大概有33M左右. 下載的時候可以泡杯coffee, 然後點根煙......
在/usr/src/目錄下解開源碼包, 得到源代碼目錄/usr/src/linux-2.6.4/. 在對kernel做任何事情之前, 建議你先看一下它的README文件和Documentation/Changes文件, 從中你會得到不少有用的信息. 這些信息會讓你在隨後的升級過程避免很多不必要的麻煩.
在文檔Documentation/Changes中給出了欲成功地升級到kernel-2.6.x所需的最小系統軟體要求, 比如對於kernel-2.6.4是這樣的:
復制內容到剪貼板代碼:
Gnu make 3.79.1 # make --version
binutils 2.12 # ld -v
util-linux 2.10 # fdformat --version
mole-init-tools 0.9.10 # depmod -V
e2fsprogs 1.29 # tune2fs
jfsutils 1.1.3 # fsck.jfs -V
reiserfsprogs 3.6.3 # reiserfsck -V 21|grep reiserfsprogs
xfsprogs 2.6.0 # xfs_db -V
pcmcia-cs 3.1.21 # cardmgr -V
quota-tools 3.09 # quota -V
PPP 2.4.0 # pppd --version
isdn4k-utils 3.1pre1 # isdnctrl 21|grep version
nfs-utils 1.0.5 # showmount --version
procps 3.2.0 # ps --version
oprofile 0.5.3 # oprofiled --version
對於RH8/9的用戶而言, 上述要求基本上都能滿足. 大概只有兩個程序需要更新: motils工具包和mkinitrd程序.
3. 安裝mole-init-tools-3.0.tar.gz工具包
linux-2.6.x內核的mole處理過程有所改變(很多原先在用戶態下由motils處理的工作都放到內核里去完成了), 因此2.4.x下的motils工具包已經不在適合新的2.6.x內核, 必需將其升級到mole-init-tools工具包. 該工具包的最新版本是3.0(ps, 該工具包的版本從0.9.15一下跳到3.0, 其跨度之大...hoho). 可以下載mole-init-tools-3.0.tar.gz源碼包的地方有兩個:
Rusty's Linux Kernel Page:
接下來, 按照下列步驟安裝mole-init-tools工具包:
復制內容到剪貼板代碼:
# configure --prefix=/
# make moveold
# make all install
# ./generate-modprobe.conf /etc/modprobe.conf
命令"make moveold"將把系統原來的motils工具程序改名為"*.old"(比如,lsmod.old等等). NOTE! 這是非常重要的一步, 千萬不要省略. 這將使得你可以繼續使用原有的linux-2.4.x系統, 因為在2.4.x系統下, 新的mole-init-tools工具包實際上是倚賴原來"*.old"程序來載入內核模塊. 如果忘記了這一步也不要緊張, 可以先下載並安裝原來的motils程序包, 然後按照上面的步驟重來一遍就可以了.
新的mole-init-tools工具包不再使用原來的/etc/moles.conf配置文件了, 而是使用新的配置文件/etc/modprobe.conf. 因此必需用命令"./generate-modprobe.conf /etc/modprobe.conf"來生成新的配置文件/etc/modprobe.conf. 但是令人不爽的是, 這個生成的新配置文件存在BUG, 下面我們將會提到.
Ⅲ 在centos6下安裝xen,新內核無法進入,該怎麼修改grub啟動項
編譯完成生成內核文件和虛擬內存檔文件後,執行grub-mkconfig會找到新的內核並生成新的菜單配置文件,開機啟動就可以選擇相應的菜單項進入系統
Ⅳ linux內核版本中的xen表示什麼
這是xen虛擬化的內核 也可以看做是基於linux的操作系統內核這是xen虛擬化的內核 也可以看做是基於linux的操作系統內核這是xen虛擬化的內核 也可以看做是基於linux的操作系統內核這是xen虛擬化的內核 也可以看做是基於linux的操作系統內核
Ⅳ 怎麼編譯XEN內核
先下載內核源碼,配置好編譯選項,然後make就可以了。
重點就在配置編譯選項
Ⅵ 公司要搭建私有雲,大概200個虛擬機,虛擬化技術使用Xen,伺服器使用IBM Xseries,請教有什麼好的方案
1 安裝Xen的准備工作;
擁有 GRUB引導的Linux做為安裝平台,還要編譯工具,比如gcc、binutils 及make和automake等;開發庫有zlib和python-dev等;
具體明細請參閱: 《Xen v3.0 用戶手冊》
由於Xen用Python 開發的,所以Python 當然也是必不可少的。如果您是新手,我建議您用自己所用的操作系統軟體包管理工具來安裝這些軟體包。
2 在Redhat/Fedora 操作平台上的安裝;
在Fedora/Redhat平台上安裝比較簡單,您可以通過yum 來在線安裝Xen和支持Xen的內核;因為Fedora/Redhat已經提供對Xen的支持了;Fedora/Redhat 提供的Xen內核支持比較高;不過就目前我的測試來看好象經常會機器重啟,存在的問題可能是桌面環境造成的,比如GNOME桌面,打開就有重啟的現象,也可能是Fedora/Redhat提供的Xen內有BUG;
安裝Xen及支持Xen的請參考:《Fedora Core 5.0 用 Xen 虛擬Slackware 10.2》
對於Fedora 4.0及Redhat和Fedora 5.0類似;現在Yum的源上都有Xen和支持Xen的內核包;
3 通過Xen的二進制包來安裝(幾乎適用所有的Linux發行版);
通過Xen的二進制軟體包來安裝,這應該是通用的,幾乎適合所有的Linux操作系統。由於二進制所是已經編譯好的,我已經在Slackware 平台上用這種方法來安裝,還是成功的。另外etony兄也在Debian上安裝成功;
# 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
第二步:配置內核;
這一步有兩種方法,一個是直接修改內核配置文件,另一個是內核配置界面來配置;
方法一:通過修改內核配置文件;
Xen所帶的內核配置文件位於解壓目錄中的linux-2.6-xen-sparse/arch/xen/configs 。我們前面已經提到了相關配置文件的用途。請仔細看前一步的說明;
方法二:通過內核配置界面來配置;
[root@localhost xen-3.0.1]# make linux-2.6-xen0-config CONFIGMODE=menuconfig
一旦我們在Linux操作系統安裝好Xen後,這樣的系統應該被稱為XenLinux。如何才能引導擁有Xen的Linux呢?這時我們要用到GRUB系統引導管理器。我們修改一下GRUB的配置文件menu.lst或grub.conf就行了。此文件位於/boot/grub目錄中;
Ⅶ VMWare中安裝Ubuntu後,配置Xen虛擬機的問題
Xen安裝Ubuntu 10.04用戶使用的Ubuntu文本安裝程序
Ubuntu的10.04可以使用默認的基於文本的安裝程序包含在Ubuntu發行版的安裝Xen光碟的用戶。
首先創建一個新的LVM卷的來賓虛擬磁碟存儲:
[root@f13 ~]# lvcreate -nubuntu01 -L20G /dev/vg_f13
Logical volume "ubuntu01" created
然後下載Ubuntu官方Xen的來賓配置文件
並重新命名它"ubuntu01.cfg"
[root@f13 ubuntu]# mv xm-debian.cfg ubuntu01.cfg
[root@f13 ubuntu]#
然後與您最喜愛的文本編輯器編輯「ubuntu01.cfg」,使它看起來像(其中包括其他的東西):
memory = 1024
name = "ubuntu01"
vcpus = 1
vif = ['mac=00:16:36:64:3d:f3,bridge=virbr0']
disk = ['phy:vg_f13/ubuntu01,xvda,w']
修改MAC地址是唯一的。
然後找到「ubuntu01.cfg」說:「引導程序= pygrub的」一條線,並添加適當的路徑(「/ usr /斌/ pygrub的」)
Ⅷ 虛擬機上怎樣安裝多個ISO文件的操作系統
首頁 論壇 搜索
加入Linux陣營 linux學前 安裝linux操作系統 驅動軟體安裝 linux基本技能 linux新手必知 Redhat linux shell 紅旗linux 其它linux發行版 Linux書籍軟體下載 □-linux疑問解答 UniX技術文章 伺服器應用 MySQL資料庫 Oracle資料庫 linux編程 linux內核 Java Linux新聞 linux認證
您的位置: 首頁 >> 論壇 >> linux基本技能 >> 查看帖子
最新更新主題對抗Linux系統病毒
在Linux下增加Swap區
Linux學習筆記
linux虛擬光碟機
Linux下主要文件
Linux系統中的超級許可權的控制
使用Linux命令來發送信息
Linux應約界面下中文的顯示
Linux小技巧
LINUX下把文件製成ISO Linux上的虛擬化技術 Xen 初學者指南
發表時間: 2006-7-17 09:03 作者: zz123 來源: linux286社區
字體: 小 中 大 | 列印
作者:北南南北 來源:LinuxSir.Org
0、本文約定;
虛擬平台是指能支持運行Xen的真實安裝的操作系統;
虛擬操作系統:是指在虛擬平台上安裝和虛擬運行的操作系統;
比如我在Slackware 中安裝了Xen,那Slackware就是虛擬平台,通過虛擬平台就可以虛擬其它操作系統了;比如通過Slackware來虛擬Debian、Fedora ... ...
1、什麼是Xen;
Xen 是一個開放源代碼的para-virtualizing虛擬機(VMM),或「管理程序 」,是為x86架構的機器而設計的。Xen 可以在一套物理硬體上安全的執行多個虛擬機;Xen是基於內核的虛擬程序,它和操作平台結合的極為密切,所以它佔用的資源最少。
什麼是虛擬機呢?可能大家知道VMWARE吧,是的,Xen就是類似這樣的程序,比如我們可以在Fedora 上虛擬安裝和使用Slackware、Debian、Gentoo ... ... 等發行版。因為Xen是基於內核的,相對VMWARE 來說,它佔用的系統資源也就是VMWARE的百分之幾左右。Xen是不是更有優勢呢?只有您實踐了才知道。這也是我寫本文的最主要原因;
1.1 Xen的特性;
虛擬機的性能更接近真實硬體環境)
在真實物理環境的平台和虛擬平台間自由切換)
在每個客戶虛擬機支持到 32個虛擬CPU,通過 VCPU熱插拔)
支持PAE指令集的x86/32, x86/64平台
通過Intel 虛擬支持VT的支持來用虛擬原始操作系統(未經修改的)支持(包括Microsoft Windows)
優秀的硬體支持.支持幾乎所有的Linux設備驅動
1.2 Xen的應用范圍;
伺服器整合:在虛擬機范圍內,在一台物理主機上安裝多個伺服器, 用於演示及故障隔絕;
無硬體依賴:允許應用程序和操作系統對新硬體的移值測試;
多操作系統配置:以開發和測試為目的,同時運行多個操作系統;
內核開發:在虛擬機的沙盒中,做內核的測試和調試,無需為了測試而單獨架設一台獨立的機器;
集群運算:和單獨的管理每個物理主機相比較,在VM級管理更加靈活,在負載均衡方面,更易於控制,和隔離;
為客戶操作系統提供硬體技術支持:可以開發新的操作系統, 以得益於現存操作系統的廣泛硬體支持,比如Linux;
1.3 Xen的操作系統支持和硬體支持;
請參閱: 《Xen v3.0 用戶手冊》
2、Xen的一點理論基礎;
基於Xen的操作系統,有多個層,最底層和最高特權層是 Xen程序本身。Xen 可以管理多個客戶操作系統,每個操作系統都能在一個安全的虛擬機中實現。在Xen的術語中,Domain由Xen控制,以高效的利用CPU的物理資源。每個客戶操作系統可以管理它自身的應用。這種管理包括每個程序在規定時間內的響應到執行,是通過Xen調度到虛擬機中實現。
當Xen啟動運行後,第一個虛擬的操作系統,就是Xen本身,我們通過xm list,會發現有一個Domain 0的虛擬機。Domain 0 是其它虛擬主機的管理者和控制者,Domain 0 可以構建其它的更多的Domain ,並管理虛擬設備。它還能執行管理任務,比如虛擬機的體眠、喚醒和遷移其它虛擬機。
一個被稱為xend的伺服器進程通過domain 0來管理系統,Xend 負責管理眾多的虛擬主機,並且提供進入這些系統的控制台。命令經一個命令行的工具通過一個HTTP的介面被傳送到xend。
3、Xen的安裝;
在寫本文時,Xen的當前最新版本是xen-3.0.1,它基於的內核版本是2.6.12.6的。您可以根據自己的操作系統的情況來選擇一種安裝方式,適合您的就是最好的;
3.1 安裝Xen的准備工作;
擁有 GRUB引導的Linux做為安裝平台,還要編譯工具,比如gcc、binutils 及make和automake等;開發庫有zlib和python-dev等;
具體明細請參閱: 《Xen v3.0 用戶手冊》
由於Xen用Python 開發的,所以Python 當然也是必不可少的。如果您是新手,我建議您用自己所用的操作系統軟體包管理工具來安裝這些軟體包。
3.2 在Redhat/Fedora 操作平台上的安裝;
在Fedora/Redhat平台上安裝比較簡單,您可以通過yum 來在線安裝Xen和支持Xen的內核;因為Fedora/Redhat已經提供對Xen的支持了;Fedora/Redhat 提供的Xen內核支持比較高;不過就目前我的測試來看好象經常會機器重啟,存在的問題可能是桌面環境造成的,比如GNOME桌面,打開就有重啟的現象,也可能是Fedora/Redhat提供的Xen內有BUG;
安裝Xen及支持Xen的請參考:《Fedora Core 5.0 用 Xen 虛擬Slackware 10.2》
對於Fedora 4.0及Redhat和Fedora 5.0類似;現在Yum的源上都有Xen和支持Xen的內核包;
3.3 通過Xen的二進制包來安裝(幾乎適用所有的Linux發行版);
通過Xen的二進制軟體包來安裝,這應該是通用的,幾乎適合所有的Linux操作系統。由於二進制所是已經編譯好的,我已經在Slackware 平台上用這種方法來安裝,還是成功的。另外etony兄也在Debian上安裝成功;
您應該到 http://www.xensource.com/downloads 去下載二進制包,文件名中帶有xen-3.0.1-install字樣的,比如 xen-3.0.1-install-x86_32.tgz,這個軟體包表示適用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目錄,會發現有很多文件名帶有xen字樣的文件,另外在/lib/moules中也會發現有支持xen的內核模塊;另外再看一看是否有/etc/xen這個目錄。我想應該是有的。
3.4 通過Xen的源碼包編譯安裝(僅供參考);
通過Xen的二進制包來安裝,可能有時內核不太適應我們的需要,這時我們要通過Xen的源碼包來安裝。通過自己編譯來安裝Xen及支持Xen的內核;Xen的源碼包,您可以到 http://www.xensource.com/downloads去下載。文件名帶有 xen-3.0.1-src字樣的,比如 xen-3.0.1-src.tgz。
3.41 編譯原理;
通過Xen的源碼包編譯,其實也沒有什麼神秘的。在Xen的源碼包中提供了一些內核補丁和內核配置文件等。當我們執行編譯命令時,首先編譯的是Xen程序本身,然後是編譯內核 。在編譯內核時,程序會自動判斷是否有內核源碼 ,xen-3.0.1支持的內核是2.6.12.6,如果在xen的解壓目錄下沒有,他就會自動內核的官方站 http://www.kernel.org 下載 linux-2.6.12.tar.bz2。然後就是自動解壓並為此內核打補丁。然後系統會根據指令要求,然後採用相應的內核配置文件,或配置內核進行編譯。
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 後,進入解壓目錄,會看到以上的文件或文件夾。patches是內核的補丁包,linux-2.6-xen-sparse是支持Xen的內核目錄樹,值得注意的是內核的配置文件就在這個目錄中;
[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
看到上面所列出的內核配置文件了吧,我們可能會發現文件名帶有xen0字樣的和xenU字樣的兩類文件。在這兩類內核中,我們大多會修改的內核配置文件是運行xen的操作系統的內核配置文件,另一個是用於虛擬操作系統的內核配置文件;
xen0字樣的就是我們一般是用於我們運行xen的操作系統的內核 ,而xenU字樣的就是為虛擬操作系統所提供的內核。另外還有x86_32和x86_64之分,這表示CPU的架構。
比如我們用的是x86架構32位的CPU,我們在編譯內核的時候就要用到 xen0_defconfig_x86_32 和xenU_defconfig_x86_32 配置文件。
舉個例子:比如我的機器架構是x86_32位的,我安裝xen的操作系統是Slackware,我想在Slackware 虛擬Debian 、Gentoo、Fedora等操作系統。這時編譯虛擬平台Slackware所用的內核的配置文件就是 xen0_defconfig_x86_32 ,而被虛擬平台(Debian 、Gentoo、Fedora等操作系統)所用的內核就是 xenU_defconfig_x86_32 。
弄明白內核配置文件有何用?我們能明白xen在編譯過程中用了哪些內核配置文件,目的是我們在編譯過程中可以根據自己的需要來修改它,以編譯出適合我們需要的內核。
比如我們想讓Slackware 支持xen,並且還要支持NTFS文件系統;所以我們就要修改 xen0_defconfig_x86_32這個文件。找出如下一行;
# 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
第二步:配置內核;
這一步有兩種方法,一個是直接修改內核配置文件,另一個是內核配置界面來配置;
方法一:通過修改內核配置文件;
Xen所帶的內核配置文件位於解壓目錄中的linux-2.6-xen-sparse/arch/xen/configs 。我們前面已經提到了相關配置文件的用途。請仔細看前一步的說明;
方法二:通過內核配置界面來配置;
[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 創建initrd文件;
有的系統需要initrd-XXXX.img或initrd.gz文件才能引導起來,如果您的系統用了支持xen的支持引導不起來,就要創建一個initrd-XXXX.img或initrd.gz的文件;請參考: 《Xen v3.0 用戶手冊》
3.44 關於xen0和xenU內核說明;
一般的情況下會在/boot目錄中有兩個與xen相關的內核,有的文件名帶有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
其實就是兩個與xen相關的內核,其它的都是這兩個內核文件的鏈接;也就是vmlinuz-2.6.12.6-xen0和vmlinuz-2.6.12.6-xenU。vmlinuz-2.6.12.6-xen0是用來引導虛擬平台的,比如我們在Slackware上安裝Xen,那Slackware就是虛擬平台;所以如果要讓Slackware的xen能運行起來,必須用xen相關的內核 ,也就是vmlinuz-2.6.12.6-xen0這個內核。 而XenU字樣這個內核,是用來引導虛擬操作系統用的,我們在以後會提到它。
Ⅸ XEN虛擬機管理(增加,刪除,修改,查找)等 程序實現代碼
主要有這樣幾類:
2.1、虛擬硬體模式
虛擬硬體模型將計算機、存儲和網路硬體間建立了一個抽象的虛擬化平台,使得所有的硬體被統一到一個虛擬化層中。目前,此類虛擬機的典型產品有Vmware的Workstation、GSXServer、ESXServer和Microsoft的VirtualPC、VirtualServer以及ParallelsWorkstation等。
虛擬硬體模式特點:虛擬了Intelx86平台,可以同時運行多個操作系統和應用程序。通過使用虛擬化層,提供了硬體級的虛擬,即虛擬機為運行於虛擬機的操作系統映像提供了一整套虛擬的Intelx86兼容硬體。這套虛擬硬體虛擬了真正伺服器所擁有的全部設備:主板晶元、CPU、內存、SCSI和IDE磁碟設備、各種介面、顯示和其他輸入輸出設備。並且,每個虛擬機都可以被獨立的封裝到一個文件中,可以實現虛擬機的靈活遷移。
2.2、虛擬操作系統模式
虛擬操作系統模型是基於虛擬機運行的主機操作系統創建了一個虛擬層,用來虛擬機主機的操作系統。在這個虛擬層之上,可以創建多個相互隔離的虛擬專用伺服器(VirtualPrivateServer,VPS)。這些VPS可以最大化的效率共享硬體、軟體許可證以及管理資源。對其用戶和應用程序來講,每一個VPS平台的運行和管理都與一台獨立主機完全相同,因為每一個VPS均可獨立進行重啟並擁有自己的root訪問許可權、用戶、IP地址、內存、過程、文件、應用程序、系統函數庫以及配置文件。對於運行著多個應用程序和擁有實際數據的產品伺服器來說,虛擬操作系統的虛擬機可以降低成本消耗和提高系統效率。目前,swsoft的virtuozzo是這一領域的成熟產品。
2.3、Xen(半虛擬化技術)
在不斷增加的虛擬化技術列表中,Xen是近來最引人注目的技術之一。Xen是在劍橋大學作為一個研究項目被開發出來的,它已經在開源社區中得到了極大的推動。Xen是一款半虛擬化(paravirtualizing)VMM(虛擬機監視器,VirtualMachineMonitor),這表示,為了調用系統管理程序,要有選擇地修改操作系統,然而卻不需要修改操作系統上運行的應用程序。Xen是一種特殊的虛擬硬體虛擬機,具有虛擬硬體虛擬機的大部分特性,其最大的不同點在於,Xen需要修改操作系統內核。
目前,Xen只支持在Linux系統之上實現的Linux虛擬機。不過,其新的版本將支持Intel公司的硬體虛擬技術Intel-VT,這一個關鍵技術將可以用以解決Xen在虛擬化Windows系統方面的困難。
VMware仍然是虛擬技術領域的領袖,在產品的成熟度方面它比XenSource公司還是有著很明顯的優勢。但是很多的業內人士認為,由於開源的原因,Xen的實力將會越來越強。目前,開源領域的巨頭RedHat公司以及Novell公司都已經開始將該技術整合進入它們於RedHatEnterpriseLinux5系統以及Novell、SuSELinuxEnterpriseServer10系統。
3.使用虛擬技術的好處
3.1、傳統方式部署伺服器的弊端
1.成本高
——硬體成本較高。
——運營和維護成本高,包括數據中心空間、機櫃、網線,耗電量,冷氣空調和人力成本等。
2.可用性
——可用性低,因為每個伺服器都是單機,如果都配置為雙機模式成本更高。
——系統維護和升級或者擴容時候需要停機進行,造成應用中斷。
3.缺乏可管理性
——數量太多難以管理,新伺服器和應用的部署時間長,大大降低伺服器重建和應用載入時間。
——硬體維護需要數天/周的變更管理准備和數小時的維護窗口。
4.兼容性差
——系統和應用遷移到新的硬體需要和舊系統兼容的系統。
3.2、虛擬架構的優勢
在虛擬架構中,用戶可以把資源看成是專屬於他們的,而管理員則可在企業范圍內管理和優化整個資源。VMware的虛擬架構可以通過增加效率、靈活性和響應能力來降低企業的IT花費。管理一個虛擬架構可以讓IT部門更快的連接和管理資源,以滿足商業所需。其優勢主要包括以下幾個方面:
1)35%-75%TCO節省
通過將整合多個物理伺服器到一個物理伺服器降低40%軟體硬體成本;
整合比:生產環境10-15:1,開發測試環境15-20:1;
每個伺服器的平均利用率從5%-15%提高到60%-80%;
降低70-80%運營成本,包括數據中心空間、機櫃、網線,耗電量,冷氣空調和人力成本。
2)提高運營效率
部署時間從小時級到分鍾級,伺服器重建和應用載入時間從20-40hrs=>15-30min,每年節省10,000人/小時(300台伺服器);
以前硬體維護需要之前的數天/周的變更管理准備和1-3小時維護窗口,現在可以進行零宕機硬體維護和升級。
3)提高服務水平
幫助您的企業建立業務和IT資源之間的關系,使IT和業務優先順序對應;
將所有伺服器作為大的資源統一進行管理,並按需自動進行動態資源調配;
無中斷的按需擴容。
Ⅹ KVM與XEN區別是什麼
一、KVM簡介
KVM是一個全虛擬化的解決方案。可以在x86架構的計算機上實現虛擬化功能。但KVM需要CPU中虛擬化功能的支持,只可在具有虛擬化支持的CPU上運行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。
Xen與KVM的比較
Xen是Linux下的一個虛擬化解決方案,但由於被Citrix收購後,變成了和紅帽企業版一樣了,賣服務收取費用,Redhat從rhel6.0開始已經從內核中把XEN踢出去了,全心投入開發免費的KVM,雖然市場上老用戶還在用Xen,但相信kvm會逐步佔領大面積的市場,必竟有redhat做為強大支持源。
Xen的實現方法是運行支持Xen功能的kernel,這個kernel是工作在Xen的控制之下,叫做Domain0,使用這個kernel啟動機器後,你可以在這個機器上使用qemu軟體,虛擬出多個系統。Xen的缺點是如果你需要更新Xen的版本,你需要重新編譯整個內核,而且,稍有設置不慎,系統就無法啟動。
相比較,KVM就簡化的多了。它不需要重新編譯內核,也不需要對當前kernel做任何修改,它只是幾個可以動態載入的.ko模塊。它結構更加精簡、代碼量更小。所以,出錯的可能性更小。並且在某些方面,性能比Xen更勝一籌。
二、KVM的使用
現在以Turbolinux 11版本為基礎,介紹KVM的使用方法。
在安裝之前,你需要先確認,你的CPU是否支持虛擬化技術,執行:
# egrep '^flags.*(vmx|svm)' /proc/cpuinfo
如果有輸出返回,則表示你的CPU支持虛擬化技術。
1.KVM的安裝
從官方網站下載KVM源碼包:http://kvm.qumranet.com
我們使用KVM-33版本
# tar zxf kvm-33.tar.gz
# cd kvm-33
# ./configure --prefix=/usr/local/kvm-33
# make
# make install
make install後,kvm的模塊會安裝到/lib/moles/$KernelVersion/extra/目錄下。其他相關文件會安裝到/usr/local/kvm-33/目錄下。
將kvm相關目錄連接到系統目錄中
# ln -s /usr/local/kvm-33/bin/* /usr/bin/
# ln -s /usr/local/kvm-33/lib/* /usr/lib/
(若為x86_64系統,則執行: ln -s /usr/local/kvm-33/lib64/* /usr/lib64/)
# ln -s /usr/local/kvm-33/include/kvmctl.h /usr/include/
# ln -s /usr/local/kvm-33/include/linux/* /usr/include/linux/
# ln -s /usr/local/kvm-33/share/qemu /usr/share/
2.KVM的使用
a.你需要先建立一個映像文件作為虛擬系統的硬碟
# mkdir /images
# cd /images
# /usr/bin/qemu-img -f qcow gtes11.img 20G
b.創建網路配置腳本
# echo 』/sbin/ifconfig $1 10.0.1.1 netmask 255.255.255.0』 > /etc/qemu-ifup
c.載入KVM模塊
Intel CPU使用:
# modprobe kvm-intel
AMD CPU使用:
# modprobe kvm-amd
d.安裝虛擬系統
# /usr/bin/qemu-i386 -m 512 -k en-us -M pc -hda /images/gtes11.img -cdrom /iso/zuma-SP3-rc3-6-\
disc1-20061031.iso -net nic,vlan=1,model=rtl8139,macaddr=00:00:00:00:99:01 -net tap,vlan=1,ifname=tap0,\
script=/etc/qemu-ifup -vnc localhost:1 -boot d
在另一個終端執行:
# vncviewer localhost:1
參數分析:
我們為虛擬系統分配512MB內存。使用gtes11.img作為它的第一塊硬碟,使用Turbolinux10.5的disc1作為它的光碟。
並從光碟引導。它有一塊rtl8139的網卡,MAC地址為:00:00:00:00:99:01,並把這個網卡與主機的tap0介面連接。
tap0介面使用/etc/qemu-ifup腳本進行初始化。虛擬系統的輸出作為一個vnc伺服器,綁定在主機的localhost:1上。
註:
1.若為x86_64系統,則使用/usr/bin/qemu-system-x86_64代替qemu-i386
2.在64位系統上,可以安裝32位和64位的虛擬系統。但在32位系統上,只能安裝32位的虛擬系統。
qemu參數介紹:
-da 映像文件:使用映像文件作為虛擬系統的第一塊硬碟。同樣還可以使用hdb、hdc、hdd指定第2、3、4塊硬碟。
-drom 光碟映像文件:使用光碟映像文件作為虛擬系統的光碟。
-oot [a|c|d|n]:設置虛擬系統的引導順序。a為軟碟機、c為硬碟、d為光碟機、n為網路。
- 內存大小:設置虛擬系統使用的內存大小,單位為MB。
- 語言:設置虛擬系統鍵盤類型。
-et nic[,vlan=n][,macaddr=addr][,model=type]
建立一個虛擬網卡,並把它連接到VLAN的n埠上。
-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
把主機的TAP網路介面連接到VLAN的n埠上,並使用script指定的腳本進行初始化。