20120822_dstn技術交流会_仮想化について
TRANSCRIPT
株式会社アプレッソ
サーバー仮想化のはなし
開発部 QA グループ リーダー 谷平純一
クラウドを支える仮想化技術
IaaS, PaaS, SaaS を可能にしているのはソフトウェア仮想化技術のおかげである
© 2010 APPRESSO K.K. All Rights Reserved. 2
• IaaS を例にすると…– ニフティクラウドは VMware を採用– Amazon EC2 は昔は Xen をベースにしていたよ
うだ ( 最近は不明 )
– クラウドサービスが採用する仮想化ソフトウェアの情報は…
• http://itpro.nikkeibp.co.jp/article/Active/20120222/382609/( 要ユーザー登録 )
© 2010 APPRESSO K.K. All Rights Reserved. 3
仮想化のメリットとは…
• リソースの有効活用– 個々の物理マシンを仮想マシンとして統合– 物理マシン数の削減
• 可用性の向上– ライブマイグレーションを用いた無停止運用
• システムの柔軟性の向上– 物理マシンの差異を仮想化レイヤで吸収
• システムとデータの保護– 仮想マシンのすべてをファイルとして表現、バックアップ・リストアが容
易に
© 2010 APPRESSO K.K. All Rights Reserved. 4
( 当然 ) クラウドベンダーだけではなく
個人、企業でもメリットを享受できる
© 2010 APPRESSO K.K. All Rights Reserved. 5
仮想化ソフトウェアといっても製品はいろいろ
• VMware – Workstation, Server, Player, Hypervisor ...
• Microsoft– Hyper-V, Virtual PC
• Xen– Citrix XenServer
• KVM• Oracle
– Oracle VM
© 2010 APPRESSO K.K. All Rights Reserved. 6
これを知っておくと、ニーズに応じて
仮想化ソフトウェアを適切に選択できます
© 2010 APPRESSO K.K. All Rights Reserved. 7
仮想化の手法
• パーティショニング ( リソースの仮想化 )– コンピュータリソースをファームウェアレベルで仮想
化– メインフレーム・商用 UNIX システムで主に用いられ
る
• ソフトウェアによるプラットフォーム仮想化– 仮想化ソフトウェアを用いてサーバーを仮想化– x86 アーキテクチャではこの手法が一般的
© 2010 APPRESSO K.K. All Rights Reserved. 8
仮想化ソフトウェアの種類
• ホスト型• ハイパーバイザー型
– モノリシック型– マイクロカーネル型
© 2010 APPRESSO K.K. All Rights Reserved. 9
仮想化ソフトウェアの種類…ホスト型
© 2010 APPRESSO K.K. All Rights Reserved. 10
• ホスト OS(Windows, Linux など ) にインストールして使用する
仮想化ソフトウェアの種類…ハイパーバイザー ( モノリシック ) 型
© 2010 APPRESSO K.K. All Rights Reserved. 11
• ハードウェアに直接インストールする
• デバイスドライバはハイパーバイザ層に組み込む
• 仮想マシンとハードウェアの間との I/O はハイパーバイザーのデバイスドライバで処理
仮想化ソフトウェアの種類…ハイパーバイザー ( マイクロカーネル )型
© 2010 APPRESSO K.K. All Rights Reserved. 12
• ハードウェアに直接インストールする
• デバイスドライバは親パーディション上の仮想マシン( 管理 OS) に組み込む
• 仮想マシンとハードウェアの間との I/O は管理 OS のデバイスドライバで処理
メリット・デメリット
© 2010 APPRESSO K.K. All Rights Reserved. 13
メリット デメリット 向く用途
ホスト型 ・ホスト OS が動けばどんなサーバでも使える・ホスト OS にインストールするだけ、かんたんに使える・ホスト OS とゲスト OS との間でシームレスな運用
・ホスト OS がクラッシュすると巻き込まれる・ホスト OS を介してのハードウェアリソースのアクセスを行うと余分なオーバーヘッドが生じる・数台程度の仮想マシンしか提供できない
個人の検証・開発
ハイパーバイザー型
・ハードウェア仮想化に特化したカーネルを持つものが多く (VMware Hypervisor など ) 、良好なパフォーマンスを得られる・数十台の仮想マシンを提供可能 スケーラビリティに優れる
・インストール可能なハードウェアが制限される ( モノリシック型の場合 )・デバイスへのアクセスが管理 OS に集中し、仮想化システム全体のパフォーマンスが悪化する可能性がある ( マイクロカーネル型の場合 )
チームでの検証・開発サーバの運用
仮想化ソフトウェア製品群 VMware
• VMware– VMware Workstation (version 8)
• ホスト型 有償– VMware Player (4.0.4)
• ホスト型 無償– VMware Hypervisor ( 旧 VMware ESX / ESXi)
(version 5)• ハイパーバイザ ( モノリシック ) 型 • ライセンス形態により有償 / 無償
– ほか、 VMware Server, VMware Fusion, VMware View, VMware vCloud... etc
© 2010 APPRESSO K.K. All Rights Reserved. 14
仮想化ソフトウェア製品群 Microsoft
– Virtual PC (Windows XP モード )• ホスト型 無償 ( ホスト OS のライセンスを持っていれば )
– Virtual Server• ホスト型 無償 ( 同上 )
– Hyper-V• ハイパーバイザ ( マイクロカーネル ) 型 • 無償 ( 同上 )
– Microsoft Hyper-V Server 2008 R2• Windows Server 2008 R2 Server Core + Hyper-V
© 2010 APPRESSO K.K. All Rights Reserved. 15
仮想化ソフトウェア製品群 Xen
• Xen– オープンソース ハイパーバイザ ( マイクロカーネ
ル ) 型商用製品・サービスとして主に以下のものがある
• Citrix XenServer• Oracle VM
– (Sun xVM) 買収– (Virtual Iron) 買収
• Amazon EC2 ( 過去 )
© 2010 APPRESSO K.K. All Rights Reserved. 16
仮想化ソフトウェア製品群 その他
• Kernel-based Virtual Machine ( KVM )– オープンソース ハイパーバイザ ( モノリシック ) 型
• ただし ハイパーバイザーは Linux そのもの– RedHat が推している
• RHEL 6 では Xen を非サポートにしている– CPU エミュレータ QEmu を使用
• Sun VirtualBox, Parallels, …etc.
© 2010 APPRESSO K.K. All Rights Reserved. 17
ホスト型 ハイパーバイザ型
VMware WorkstationPlayerServerFusion
Hypervisor
Microsoft Virtual PCVirtual Server
Hyper-V
Xen Xen
KVM KVM
© 2010 APPRESSO K.K. All Rights Reserved. 18
仮想化ソフトウェアの分類
ソフトウェアのみの力によるプラットフォーム仮想化の
限界
© 2010 APPRESSO K.K. All Rights Reserved. 19
パフォーマンスの限界
• ソフトウェアオンリーで仮想化を行うと多大なオーバーヘッドが生じる– VM ゲストからの特権命令をエミュレート– VM ゲストのメモリアドレスを物理マシンのアドレ
スにマッピング– VM ゲストの I/O 処理 ( ネットワークアダプタな
ど )– VM ゲストごとにレジスタの内容を保存 / 復元
© 2010 APPRESSO K.K. All Rights Reserved. 20
ハードウェアによる仮想化支援
• これら処理をハードウェアで実行し、仮想化ソフトウェアのオーバーヘッドを低減 パフォーマンスの向上
• Intel VT / AMD-V– VT-x … プロセッサでの支援 ( 特権命令、コンテキストスイッチ )– VT-d … チップセットでの支援 (I/O メモリ管理 )– VT-c … ネットワークの支援
© 2010 APPRESSO K.K. All Rights Reserved. 21
よりよくわかる説明 : http://www.atmarkit.co.jp/fsys/kaisetsu/085intelvt/intelvt.html
仮想化ソフトウェアと Intel VT / AMD-V
• VMware– 64bit OS をゲスト OS として稼働する際には必須
• Hyper-V– 必須
• Xen– ほぼ必須– (OS のソースコードを書き換えれば VT なしでも使用することが可能ではあ
るが (準仮想化 ) 、それができる OS は限られる )
• KVM– 必須
© 2010 APPRESSO K.K. All Rights Reserved. 22
Intel VT / AMD-V はBIOS で有効にしましょう
© 2010 APPRESSO K.K. All Rights Reserved. 23
ライブマイグレーション
• 仮想マシンの無停止運用を可能に– VMware Hypervisor
• ( 有償サブスクリプション加入が必須 )
– Hyper-V (2.0 から )– Xen– KVM
© 2010 APPRESSO K.K. All Rights Reserved. 24
http://itpro.nikkeibp.co.jp/article/COLUMN/20070910/281598/?ST=virtual&P=1 より