Xen基礎学習


完全なXen仮想環境は次の図の通りです.

画像はXen公式サイトから:http://www.xen.org/products/cloudxen.html
Xen仮想環境全体が論理的に4つの部分に分かれていることがわかります.
Control Interface;
Domain 0;
Domai U;
Xen Hypervisor;
 
Control Interfacesについて:
XE Command Line Toolを含め、Xen仮想マシンとリソースプールを制御します.さらに、サードパーティ製の管理ツールを使用します.公式に記載されているサードパーティツール:http://wiki.xen.org/wiki/XenManagementTools.
Domain 0(Dom 0)について:
他のDomain Uの前に起動する必要があります.システム上で動作する他の仮想マシンとのインタラクション、物理I/Oリソースとの直接通信に使用します.Domain 0の内部には、XAPI、XAPI Lib、Ctrl IFなどのコンポーネントも含まれています.
XEN Hypervisorについて:
オペレーティングシステムとハードウェアの間にあるソフトウェア記述層です.各仮想マシン間でCPUスケジューリングとメモリ割り当てを行い、仮想マシンのハードウェアを抽象化するが、ネットワーク、ディスクなどのI/O要求を処理しない.
一般的にXenとは、Hypervisor(マネージャまたは仮想レイヤ)を指します.Xen 4.0に関する公式wikiの説明を参照してください.
公式wiki:http://wiki.xen.org/wiki/Xen_4.0_Release_Notes.
Guest Operating Systemsについて:
画像右側のLinuxとWindowsはDomain Uと呼ばれ、Doamin UはPV GuestとHVM Guestに分かれています.LinuxはDomain U PV Guestであり、WindowsではDomain U HVM Guestと呼ばれている.
 
Xen_4.0_Release_Notesが言及した関連知識(特に明記されていない場合、以下のXenは一般的にXen Hypervisorを指す):
Xenのハードウェアに対する要求:
Xenは主にX 86アーキテクチャ向けに開発されているが、現在の4.0バージョンでもIntel IA-64をサポートしている.
Xen Doamin U PV Guestはハードウェアとは無関係であるが、HVM Guest(Windows)は物理CPUに仮想化拡張(Intel VTまたはAMD-V)をサポートすることを要求している.一方、Xenは64ビットのCPUに対して32ビットのCPUよりも優れている.
 
Xen 4.0のハードウェアに対するすべての要件は、Xen 4.1にも適用され、同時にXen 4.1には追加の要件がある.
 
CPUが仮想化をサポートしているかどうかを確認します.

  
  
  
  
  1. cat /proc/cpuinfo |egrep -o '(pae|vmx|svm)' 

出力にpaeがある場合、cpuは半仮想化をサポートし、出力にpaeとvmx/svmが同時にある場合(注:vmxはintel、svmはamd)、cpuは全仮想化をサポートします.
 
Intel VT(VTとHTは異なる2つの概念)について、参考:
http://publish.it168.com/2007/0608/20070608033501.shtml
http://baike.baidu.com/view/2236017.htm
 
ソフトウェアのニーズ:

  
  
  
  
  1. yum groupinstall "Development Libraries" "Development Tools" 
  2. yum install glibc-devel.i686 
  3. yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial libidn-devel 

Xenインフラストラクチャ全体のインストールは、Xen HypervisorとDomain 0の2つのセクションに分かれています.
Domain 0について:
可能であればDebian、FedoraなどのLinuxリリースを強くお勧めします.これらのリリースはXen Domain 0を提供し、インストールが容易で、オペレーティングシステムとの整合性が高く、安全なアップグレードなどの利点があります.
各Linuxリリース版では、RHEL 5/CentOS 5を公式に初押し.参照先:http://wiki.xen.org/wiki/XenDom0Kernels.
 
Domain 0のインストール:前述したように、Domain 0は変更されたLinuxカーネルなので、一般的なLinuxカーネルをインストールするのは同じです.インストール手順は、公式ドキュメントを参照してください.
http://wiki.xen.org/wiki/Compiling_Kernel_2.6.32
http://wiki.xen.org/wiki/RHEL6Xen4Tutorial
中国語ドキュメントは次のように参照できます.
http://blog.csdn.net/philips123/article/details/6434747
手間を省くには、Linuxリリース版でコマンドyum/apt-get kernel-xenを直接使用します!