歡迎您光臨本站 註冊首頁

Linux上的虛擬化技術 Xen 初學者指南

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

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等;


[火星人 ] Linux上的虛擬化技術 Xen 初學者指南已經有449次圍觀

http://coctec.com/docs/enterprise/show-post-73149.html