IBMよりハイエンドサーバを使用した仮想化が書かれたRedbookのドラフト版が公開されています。
Chapter1. Introduction
Chapter2. The IBM System x3950 Server
Chapter3. VMware ESX Server
Chapter4. Microsoft Virtual Server
Chapter5. Management with IBM Director
簡単にChapter1.の概要をまとめてみました。
斜め読み和訳なので間違っている箇所もあるかも、です。
- 1.1 なぜ仮想化が必要なのか
- 1.2 仮想化のコンセプト
- 1.2.1 エミュレーションvsバーチャリゼーション(仮想化)
- 仮想化は物理サーバと同一のCPUを直接ゲストOSに参照させるために仮想化レイヤーのオーバーヘッドは小さい
- エミュレーションはゲストOSに対して仮想CPUを参照させるためオーバーヘッドが非常に大きい(もちろん異なるCPUをエミュレーションして提供できることはメリットでもある)
-
- 1.2.2 ホストソリューションvsハイパーバイザーソリューション
- Microsoft Virtual Serverは仮想レイヤーの下にホストOSを必要とする"ホストソリューション"
- VMware ESX Servrは仮想レイヤーがOSとして動作する"ハイパーバイザーソリューション"
※ESX Serverでは管理コンソールを使用して仮想レイヤーを管理する
-
- 1.2.3 OSバーチャライゼーション
- OS機能による仮想化には"User Mode Linux"や、"SUN containers"、"HP vPars"などがある
-
- 1.2.4 完全仮想化vs擬似仮想化
-
- 1.2.5 32bit vs 64bit
64bitに対応したCPUを搭載したハードウェアを用いれば64bitの仮想サーバを構築することも可能になる
- VMware Workstationはすでに64bitのゲストOSに対応している
-
- 1.3 使用可能な仮想化製品
各製品の説明は省略
- Microsoft Virtual PC
- Microsoft Virtual Server
製品 | VMware Workstation |
VMware Server |
VMware ESX Server |
Microsoft Virtual PC |
Microsoft Virtual Server |
Xen |
---|---|---|---|---|---|---|
用途 | 個人用途 | 小規模用途 | 大規模用途 | 個人用途 | 中規模?用途 | - |
完全仮想化 | Yes | Yes | Yes | Yes | Yes | - |
擬似仮想化 | - | - | - | - | - | Yes |
ホストOS | 必要 | 必要 | 不要 | 必要 | 必要 | その他 |
64bitゲストOS | 対応 | × | × | × | × | × |
- 1.4 スケールアップvsスケールアウト
多くのローエンドサーバにスケールアウトするか、1台のハイエンドサーバにスケールアップするか
- Bladeサーバを用いたスケールアウト
- ハイエンドサーバ(x3950など)を用いたスケールアップ
-
- 1.4.1 スケールアップ
- x3950はモジュラー型で最大32CPUまで拡張することが出来る
ex)32CPUの1台のESX Serverを構築して全ての仮想マシンを載せる
ex)16CPUの2台のESX Serverを構築してVirtualCenterを併用してスケールアップしつつVMotionなど高可用性・メンテナンス性を確保する
メリット
- 自動的なリソース管理
- 少ない台数のESX Serverの管理
- VMotionを使用することによるスタンバイ機の不要化
- VMwareにかかるコストの削減
- インフラコストの削減(Ethernet Switch, SAN Switch etc...)
デメリット
- 高額なH/Wコスト
- ノード障害時の大きなインパクト
- ハードウェア的な制限(CPU選択など)
-
- 1.4.2 スケールアウト
- BladeCenterには最大14台のHS20を搭載することが出来る
ex)14台のHS20にESX Serverを構築して分散して仮想マシンを載せる
※VirtualCenter/VMotionを使用することによって柔軟な仮想マシン配置を行う
メリット
- 低額のH/Wコスト
- ノード障害時のインパクトの最小化
- 様々なハードウェア選択(CPU選択など)
デメリット
- 1.5 サーバ統合
-
- 1.5.1 スケールアウトするべきか、スケールアップするべきか
対象の範囲と規模から考えていく
ex)たとえば30台のサーバを仮想化技術を使用して統合化することになり、全体で8CPUの環境を用意する必要があることになったとする。
- 4CPUのサーバ2台で構成することも出来るが、もし一方のマシンに障害が発生した場合、使用できるリソースは半分になってしまうことを考慮する必要がある
- 2CPUのサーバ4台で構成した場合、もし1台のマシンに障害が発生したとしても減少するリソースは25%で済む
→この場合はスケールアウトの方がメリットがあるのではないだろうか
ex)たとえば300台のサーバを仮想化技術を使用して統合化することになり、全体で80CPUの環境を用意する必要があることになったとする。※例1の10倍
- 8CPUのサーバ10台で構成した場合、もし1台のマシンに障害が発生したとしても減少するリソースは10%で済む
- 2CPUのサーバ40台で構成した場合、1台に障害が発生した場合に減少するリソースはより小さくなるが、せっかくサーバ統合を行うのにいまだに40台ものサーバを管理するコストが必要となる
→この場合はスケールアップの方がメリットがあるのではないだろうか
-
- 1.5.2 サーバの抑制
ITインフラの新しい管理標準を定める場合には現在の環境に基づいた適切な技術を合理的に選択するべきです。しかし、ビジネス環境の変化や新しいプロジェクトなどにより、今後もこれまでと同様にIT環境が推移していくとは限りません。仮想サーバ環境であれば、もし急に追加のサーバが必要になったとしても、仮想サーバをすぐに提供することができます。新しいハードウェアを調達したりする必要はありません。
- 1.6 デュアルコアCPU
1つのソケットに2つのCPUコアを接続できるデュアルコアCPUが登場してきている
構造 | 処理リソース | オンボードキャッシュ | システムバス | コア周波数 | CPUあたりスレッド数 | |
---|---|---|---|---|---|---|
Legacy CPU | 排他 | 排他 | 排他 | 排他 | 高 | 1 |
CPU w/HT | 排他 | 共有 | 共有 | 共有 | 高 | 2 |
Dual-core CPU | 排他 | 排他 | 排他 | 共有 | 中 | 4(w/HT) |
Four-core CPU | 排他 | 排他 | 共有 | 共有 | 中・低 | 8(w/HT) |
マルチスレッドに対応したアプリケーションを使用する場合には、マルチコアを使用するとシングルコアの場合と比較してより高速に処理を行うことができるようになる。
- 1.7 仮想化の将来
- 1.7.1 Intel VT(Virtualization Technology)
これまではCPU上では以下のように動作していた
- Ring3 Applications
- Ping2
- Ring1
- Ring0 OS
それに対して、VTに対応したCPUでは以下のように動作する
- Ring3 Applications
- Ring1/3 Guest OS
- Ring0 Virtualization Layer
-
- 1.7.2 仮想化ソフトウェア
- セキュリティ
- 信頼性