Linux上的虛擬化技術 Xen 初學者指南
本文約定;
虛擬平臺是指能支持運行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的操作系統支持和硬件支持;
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。
【編輯推薦】