© 2006 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice
今から間にあう
仮想化入門と
Xenについて
日本ヒューレットパッカード株式会社
テクニカルセールスサポート統括本部
Linuxコンピテンシセンター
實田 健
Agenda
1.
IAサーバの仮想化と仮想化ソフトウェア
2.
Xen概要
3
. Xen環境の構築方法
4. Xenの各種機能について
5.仮想化ソフトウェアの比較
IAサーバの仮想化と
仮想化ソフトウェア
IA Serverの仮想化とは?
仮想マシン
物理マシン
応用(目指すところ)
複数の物理サーバを
統合し単一リソースとして
利用
Windows Linux Linux Linux Windows VM Linux VM Windows VM Windows VM Linux VM Linux仮想化レイヤ
CPU Memory NIC Disk
VM Linux VM Windows VM Windows VM Linux VM Linux
仮想化レイヤ
CPU Memory NIC DiskVM Linux VM Windows VM Windows
CPU Memory NIC Disk
リソースプール
基本
1台のサーバ上で
複数の
OS(仮想マシン)を
実行すること
5 平成19年10月1日
仮想化ソフトの必要性
•
x86アーキテクチャ向けのOSは
ハードウェアを占有しているという前提で動作
OS
OS
OS
Application
Application
システム状態を変更するような
特権命令
仮想化ソフトの必要性
•
x86アーキテクチャ向けのOSは
ハードウェアを占有しているという前提で動作
OS
OS
OS
Application
Application
OS
OS
OS
Application
Application
仮に
OSを複数動かしたとすると
リソースの競合が発生!!
7 平成19年10月1日
仮想化ソフトの必要性
•
x86アーキテクチャ向けのOSは
ハードウェアを占有しているという前提で動作
Application
Application
OS
OS
Application
Application
OS
OS
仮想化ソフト
仮想化ソフト
仮想化ソフト
仮想化ソフトが
OSやアプリの
特権命令を横取り
リソースの競合が発生しない
ように調整
仮想化ソフト
VM Linux VM Windows VM Windows VM Linux VM Linux仮想化レイヤ
CPU Memory NIC Disk
Microsoft Virtual Server
Microsoft Virtual Server
VMware ESX server
VMware ESX server
Xen
Xen
1つのハードウェアリソース上で
OSを複数動作させるソフトウェア
Xenとは
オープンソースの仮想マシンソフトウェア
ケンブリッジ大学 コンピュータ研究所の
Xenoserverプロジェクトから発足
注目されるには理由がある!
高性能
オープンソース
完全仮想化対応
•準仮想化の技術に
よりオーバーヘッド
が小さい
•ダウンタイムなしで
のマイグレーション
機能
•Xen3.0から完全
仮想化対応
(Intel VTなど仮想化
の機能が搭載されて
いる
CPUが必用)
•誰もが開発に参加
可能
•無料で使える
•特定メーカーの製
品に依存しない
11 平成19年10月1日
ゲストOS
ゲスト
ゲスト
OS
OS
管理用ゲスト
OS
管理用ゲスト
管理用ゲスト
OS
OS
仮想マシンモニタ
仮想マシンモニタ
仮想マシンモニタ
ゲストOS
ゲスト
ゲスト
OS
OS
Xen
Xen
制御
制御
Application
Application
ドメイン0
ドメインU
ドメインU
デバイス
ドライバ
バックエンド
ドライバ
フロントエンド
ドライバ
フロントエンド
ドライバ
Xen の仕組み 準仮想化
Application
Application
Application
Application
Xen
ゲストOS
ゲスト
ゲスト
OS
OS
管理用ゲスト
OS
管理用ゲスト
管理用ゲスト
OS
OS
仮想マシンモニタ
仮想マシンモニタ
仮想マシンモニタ
ゲストOS
ゲスト
ゲスト
OS
OS
Xen
Xen
制御
制御
Application
Application
ドメイン0
ドメインU
ドメインU
デバイス
ドライバ
バックエンド
ドライバ
フロントエンド
ドライバ
フロントエンド
ドライバ
Xen の仕組み 完全仮想化
Application
Application
Application
Application
修正必要なし
修正必要なし
修正必要なし
修正必要なし
13 平成19年10月1日
準仮想化と完全仮想化の違い
•
x86アーキテクチャ向けのOSでは
特権命令ではないがシステムの状態に影響する特殊な命令が存在
準仮想化
完全仮想化
準仮想化
OSに修正を施すことであら
かじめ特殊な命令に対して対
応し、
XENの上で動作
Application
Application
Application
Application
完全仮想化
CPUの仮想化支援機能が
特殊な命令を処理
仮想化支援機能
(VT)
OSに修正が必要
OSに修正必要なし
準仮想化と完全仮想化
完全仮想化
準仮想化
・ゲスト
OSの修正が必要ない
→
Windowsでも動作可
・ポータビリティが高い。
→ 一定のハードウェアをエミュ
レーションするため、他の仮想
マシン間への移動が容易。
・オーバーヘッドが少ない。
→ 特権操作を
CPU命令レベルで
解釈するのではなく、仮想化
API
にあらかじめ書き換えているため、
命令レベルで解釈するより効率
が良い。
・ゲスト
OSに修正が必要。
→ ゲスト
OSのカーネル部分に
修正が必要となる。
Xen環境(ドメイン0)の構築方法
(1)ハードウェアに
Xen対応のLinuxをインストール
Xenカーネルが
作成される
(2) Xen対応のLinux上に
Xenをインストールする
Xen対応OS
Xen
(3) マシンを再起動させ
Xenモードで起動させる
て
Xen
Xen対応
OS
ドメイン0
Xen対応OS
17 平成19年10月1日
19 平成19年10月1日
インストール番号の入力
インストール番号によって通常のサーバ環境としてインストールするか
Xenを使用した仮想環境としてインストールするかが決まります。
ソフトウェアの選択
仮想環境用のインストール番号を
入力すると、ソフトウェアの選択場面で
仮想化の項目が現れます
21 平成19年10月1日
RHEL5での仮想環境(ドメイン0)の作り方
Xenの環境でインストールが完了します
*通常のカーネルはインストール
されません
ドメイン
Uの構築方法
ハードウエア
ハードウエア
ハードウエア
ドメインU
ドメイン
ドメイン
U
U
ドメイン
0
ドメイン
ドメイン
0
0
Xen 仮想マシン・モニター
Xen
Xen
仮想マシン・モニター
仮想マシン・モニター
ドメインU
ドメイン
ドメイン
U
U
ドメインU
OSの入った
イメージファイル
ドメイン
ドメイン
U
U
OSの入った
イメージファイル
ドメインU
OSの入った
物理パーティション
ドメイン0
パ
ー
テ
ィ
シ
ョ
ン
全
体
ドメ
イン
0の
パ
ー
テ
ィ
シ
ョ
ン
ドメ
イン
の
パ
ー
テ
ィ
シ
ョ
ン
U
イメージファイルもしくは物理デバイスに
OSをインストールし、Xenから起動させます
23 平成19年10月1日
RHEL5でのドメインUの作成方法
virt-manager コマンドを実行して仮想マシンマネージャを起動
ファイル > 新規マシン を選択
25 平成19年10月1日
GUIでのインストールが可能
通常のインストールと同様の手順で
ドメイン
Uのインストールが可能です。
Xenの各種機能について
・ネットワーク
・メモリ、
CPUの割り当て
・ライブマイグレーション
27 平成19年10月1日
ネットワーク割り当ての仕組み
ハードウェア
ドメイン0
ドメイン0
192.168.1.1
xenbr0
eth0
ドメイン
ドメイン
U(ID
U(ID
#1
#1
)
)
192.168.1.101
eth0
vif1.0
ドメイン
ドメイン
0
0
eth0
192.168.1.1
ドメイン
ドメイン
U
U
192.168.1.101
eth0
論理的には独立したサーバが物理ネットワークに接続しているようにみえる
CPUの割り当て
実CPU0
実CPU1
実CPU2
実CPU
実CPU3
ドメインスケジューラ
ドメインスケジューラ
ドメインスケジューラ
ドメインスケジューラ
仮想
CPU
仮想
CPU
仮想
CPU
ドメイン
ドメイン
ドメイン
ドメインスケジューラが時分割で仮想
CPUに実CPUを割り当てる
→ 仮想
OSは実CPUを占有していると認識
29 平成19年10月1日
CPUの割り当て
実CPU0
実CPU1
実CPU2
実CPU
実CPU3
ドメインスケジューラ
ドメインスケジューラ
ドメインスケジューラ
ドメインスケジューラ
仮想
CPU
仮想
CPU
仮想
CPU
ドメイン
ドメイン
ドメイン
ドメインスケジューラが時分割で仮想
CPUに実CPUを割り当てる
→ 仮想
OSは実CPUを占有していると認識
CPUの割り当て
実CPU0
実CPU1
実CPU2
実CPU
実CPU3
ドメインスケジューラ
ドメインスケジューラ
ドメインスケジューラ
ドメインスケジューラ
仮想
CPU
仮想
CPU
仮想
CPU
ドメイン
ドメイン
ドメイン
動的に
CPUを追加することも可能
仮想
CPU
仮想
CPU
31 平成19年10月1日
CPUの割り当て
実CPU0
実CPU1
実CPU2
実CPU
実CPU3
ドメインスケジューラ
ドメインスケジューラ
ドメインスケジューラ
ドメインスケジューラ
仮想
CPU
仮想
CPU
仮想
CPU
ドメイン
ドメイン
ドメイン
CPUの割り当てを固定化することも可能
仮想
CPU
メモリの割り当て
動的にメモリを増減させることが可能
ドメイン
1
ドメイン
2
ドメイン
3
2GB
Memory
1GB
1GB
512MB
512MB
512MB
512MB
33 平成19年10月1日
メモリの割り当て
動的にメモリを増減させることが可能
ドメイン
1
ドメイン
2
ドメイン
3
2GB
Memory
512MB
512MB
512MB
512MB
1GB
1GB
ライブマイグレーション
同じセグメントの
ネットワーク
メモリ
仮想OS本体は
クライアント
メモリ
仮想OS
本体
ドメイン0
ドメインU
ドメイン0
仮想
OSを停止させずに
別のハードウェアに移すことが可能
1.一方のサーバから
仮想OSを起動
2.ライブマイグレーション
開始
35 平成19年10月1日
ライブマイグレーション
同じセグメントの
ネットワーク
メモリ
仮想OS本体は
共有ディスクに置く
1.一方のサーバから
仮想OSを起動
2.ライブマイグレーション
開始
3.メモリ内容をコピー
4.切り替え可能時点で
ホストを切り替え
5.ライブマイグレーション
完了
クライアント
メモリ
仮想OS
本体
ドメイン0
ドメインU
ドメインU
ドメイン0
仮想
OSを停止させずに
別のハードウェアに移すことが可能
37 平成19年10月1日
仮想化ソフト
VM Linux VM Windows VM Windows VM Linux VM Linux仮想化レイヤ
CPU Memory NIC Disk
Microsoft Virtual Server
Microsoft Virtual Server
VMware ESX server
VMware ESX server
Xen
Xen
1つのハードウェアリソース上で
OSを複数動作させるソフトウェア
機能比較 その1
VMware
Infrastructure 3
Xen 3.0.3
Microsoft Virtual
Server 2005 R2
仮想
SMP
VMware Virtual SMP
vcpu
なし
最大
64仮想サーバ
1CPU
ゲスト
OSあたり
のメモリ
16GB
制限なし(ホスト
OSの上限
は
8TB)
3.6GB (ホストOSの上限は
64GB)
運用ツール
VMware Infrastructure
Client
VMware VirtualCenter
HP Virtualization
Management Software
IBM Virtualization
Manager
Red Hat Virtual
Machine Manager
(virt-manager)
Novell YaST
HP Virtualization
Management
Software
IBM Virtualization
Manager
ConVirt(XenMan)、
Enomalism
Microsoft Operations
Manager (MOM) 2005
Systems Management
Server (SMS) 2003
Virtual Server 管理 Web
サイト
(Virtual Server
2005 のコンポーネント)
物理サーバ
1台
あたりの仮想マ
シン数
制限なし
(仮想
CPU数の上限は合計
が
128個まで)
最大
64仮想サーバ
ゲスト
OSあたり
39 平成19年10月1日
機能比較 その2
こちらに掲載している対応OSはベンダーがサポートするOSとは異なる場合がありますのでご注意ください
VMware Infrastructure 3
Xen 3.0.3
Microsoft Virtual Server
2005 R2
対応
OS
Windows XP (32bit)Windows NT 4 SP6a (32bit) Windows 2000 Professional
(32bit)
Windows 2000 Server (32bit) Windows 2000 Advanced Server
(32bit)
Windows Server 2003, 2003R2 RHEL 2.1 , 3, 4
Novell SLES 8,9,10
Novell Open Enterprise Server Novell NetWare 5.1, 6.0, 6.5 Sun Solaris 10
Windows XP (Full-virt.)
Windows 2000 Server
(Full-virt.)
Windows Server 2003
(Full-virt.)
RHEL 3, 4, 5 (Full-virt./Para-virt.) FC 4, 5, 6
Novell SLES 9,10
(Full-virt./Para-virt.)
Novell SUSE LINUX 9,10
(Full-virt./Para-virt.)
Sun Solaris 10
(Full-virt./Para-virt.) NetBSD 3.0 (Full-virt./Para-virt.) Plan9 (Para-virt.) Windows Server 2003 Standard Edition, Enterprise Edition, Web Edition
Windows Small Business Server 2003 Standard Edition
Windows Small Business Server 2003 Premium Edition Windows 2000 Server
Windows 2000 Advanced Server
Windows NT Server 4.0 SP6a Windows XP SP2
RHEL 2.1 (update 6) RHEL 3.0 (update 6) RHEL 4.0
SLES 9
Red Hat Linux 7.3 Red Hat Linux 9.0
41 平成19年10月1日
仮想化の方法を選択
仮想化対応の
CPUを搭載していれば
完全仮想化も選択可能になります
43 平成19年10月1日
ストレージ領域の割り当て
45 平成19年10月1日
47 平成19年10月1日
インストール開始
仮想マシンコンソールが
起動します
GUIでのインストールが可能
あとは通常のインストールと同様の手順で
ドメイン
Uのインストールが可能です。
49 平成19年10月1日