サーバーの仮想化
- 物理サーバーを集約してリソースの有効活用をはかる
- CPU, I/O, ネットワークバウンドなど色々なワークロードのサーバーを集約することでリソースを無駄なく使う
仮想化の方式
- 仮想マシン方式
- OS仮想化
- パーティショニング方式
仮想マシンの種類
- ホストOS型: Linux 上で仮想化アプリケーションを動作させ、その上で仮想マシンを稼働させる方式
- VMware Server とか
- ハイパーバイザ型: ハードウェア上で直接仮想化ソフトウェアを配置し、すべての OS を仮想化環境で動作させる方式
- ハイパーバイザ型でのデバイスへのアクセスの方式として以下の2つの方針がある
- ハイパーバイザにデバイスドライバを組み込む
- ドライバを一元管理するOSである Dom0 を用意し、仮想マシンは Dom0 のドライバを利用してハードウェアにアクセスする
- ESXi などはハイパーバイザを肥大化させないためにサポートするハードウェアを限定している。Xen, Hyper-V などは Dom0 のドライバーを利用しているためハードウェアへの制約がゆるい
- ハイパーバイザ型でのデバイスへのアクセスの方式として以下の2つの方針がある
ハイパーバイザー型の仮想マシン
- BIOS上で直接仮想化ソフトウェアを動作させ、その上で仮想マシンを稼働させる
- ホストOS型よりパフォーマンスが高い
- 完全仮想化から準仮想化への流れがある
- 完全仮想化はハードウェアを仮想環境上にエミュレートするが、準仮想化は仮想環境に都合の用意仮想ハードウェアをエミュレートすることにより、シンプル化を図るもの
- 準仮想化はスーパーバイザは、ゲストOSのカーネルに変更を加えることによりハードウェアをエミューレトするオーバーヘッドを軽減させている
- I/O以外の処理について、ゲストOSは、ハイパーバイザコールによりハードウェア操作の要求して、ハイパーバイザが直接ハードウェアを操作する
- I/O処理に関してはハイパーバイザコールを呼び出された後、ホストOSが直接ハードウェアをいじる
- 完全仮想化ハイパーバイザ
- VMware ESXi
- Hyper-V
- 準仮想化ハイパーバイザ
- Xen
- 仮想環境を実現するのに都合のよい仮想的なハードウェアをエミュレートする
- 実在のハードウェアを完全には仮想化せず、あくまで扱いやすくするに留めていて、これにより完全仮想化に比べてオーバーヘッドを減らしている
- Domain0 上の Linux カーネルが物理デバイスの制御と Xen の管理を行なっている
- 物理マシン間で仮想マシン環境をマイグレーションできる
- Xen
準仮想化ハイパーバイザ
- 製品例
- Xen
- KVM
アプリケーションに対しOSを仮想化する方法
- 物理パーティショニング: 物理サーバーのリソースを塊として、物理的なブロックで分割する
- PPAR(IBM)
- nPartition(HP)
- 論理パーティショニング: CPU, メモリブロック単位で分割する
- vPar(HP)
- LPAR(IBM)
ネットワークの仮想化
ネットワークまわりについての仮想化について、ベーシックな各技術をまとめておく。
ひとくちにネットワーク仮想化といっても以下のように分類できる
- ネットワーク経路の仮想化: VLAN, VRF, VPN
- ネットワーク機器の仮想化: LB, ブレードサーバー
物理的な配線などを考えずに、仮想化によりネットワーク構成を変更し、コストを減らす、変更に強くする
ネットワーク経路の仮想化
VPN
- パケットをカプセル化し暗号化することにより、仮想的な専用回線によるセキュアな通信を可能にする
- 主に IPSec
VLAN
- 基本的にイーサネットフレームに VLAN タグを付加して宛先の VLAN を指示する(VLAN タギング)仕組み
- 論理ネットワークを構成してブロードキャストドメインとを分割するような使い方をする
- ブロードキャストドメインを分割すると、不要なパケット配信や ARPING を抑制でき、ネットワークやサーバーのコンピューティングパフォーマンスが向上する
- サブネッティングすることにもなるため、アクセスコントロールにも使える
- VLAN のバリエーション
- ポート VLAN: ポートに VLAN 番号を割り当てる
- MAC VLAN: MAC アドレスと VLAN の対応関係を設定することにより、ポートによらず機器に対して VLAN を割り当てられる
- サブネット VLAN: 送信元 IP アドレスに VLAN を関係付ける
- プロトコル VLAN: プロトコルに応じて VLAN をひもづける
- L3 スイッチにより VLAN 間のルーティングを行う
ネットワーク機器の仮想化
ルータ
- VRF(Virtual Routing and Forwarding)
- MPLS(Multi-Protocol Label Switching)
ロードバランサー
いろいろな機能がある(多機能だと高い)
- 個別のサーバーに依存せずに付加を分散する装置
- L4, L7(コンテンツスイッチング)
- ヘルスチェック
- スティッキーセッション
ブレードサーバー
- 仮想化ネットワーク環境
- ブレードサーバーをバーチャルコネクトイーサネットモジュールで束ねる
- MAC アドレスを仮想化できる、故障時にネットワーク接続性を再構成できるようになっている
ストレージの仮想化
- ストレージを集約しリソースの有効活用する
- ひとつのストレージを複数の仮想的なストレージに見せる