TechEd2008_T1-407_EffectiveHyper-V

104

Transcript of TechEd2008_T1-407_EffectiveHyper-V

Page 1: TechEd2008_T1-407_EffectiveHyper-V
Page 2: TechEd2008_T1-407_EffectiveHyper-V

2

Effective Hyper-Vアーキテクチャ解説とパフォーマンス Tips

佐々木邦暢 <[email protected]>

マイクロソフト株式会社

Session Code: T1-407

Page 3: TechEd2008_T1-407_EffectiveHyper-V

3

本日の内容アーキテクチャ解説

Virtual Server との比較ペアレント / チャイルドパーティションハイパーバイザの正体ストレージの仕組みと推奨構成

主要な機能スナップショットクラスタリング

その他性能測定Hyper-V 上での Microsoft 製品

Page 4: TechEd2008_T1-407_EffectiveHyper-V

4

Hyper-V アーキテクチャ

Hyper-VArchitecture

Page 5: TechEd2008_T1-407_EffectiveHyper-V

5

仮想化ソフトウェアの分類ホスト OS 型 ハイパーバイザ型

ホスト OS

仮想化ソフト

ゲスト OS

ハードウェア

仮想化ソフト

ゲスト OS

ハードウェア

管理OS

ホスト OS 上の1 アプリケーション

として動作

CPU 等のハードウェア資源

を直接制御

Page 6: TechEd2008_T1-407_EffectiveHyper-V

6

具体的には、ホスト OS 型 ハイパーバイザ型

MicrosoftVirtual Server

VMware Server

Microsoft Virtual

PC

VMware Workstation

VMware ESX

XenServer OracleVM

Solaris xVMXen 系

Microsoft Hyper-V

Page 7: TechEd2008_T1-407_EffectiveHyper-V

7

ホスト OS 型Virtual Server か

Page 8: TechEd2008_T1-407_EffectiveHyper-V

8

ハイパーバイザ型Hyper-V へ

Page 9: TechEd2008_T1-407_EffectiveHyper-V

9

その進化を解説

Page 10: TechEd2008_T1-407_EffectiveHyper-V

10

アーキテクチャの違い

Page 11: TechEd2008_T1-407_EffectiveHyper-V

11

ハイパーバイザ

ホスト OS カーネル

仮想マシン(VM)

ペアレントパーティショ

チャイルドパーティショ

ンアプリ

ケーション

アプリケーション

Hyper-V関連サービス

ゲスト OSカーネル

ゲスト OSカーネル

ペアレント OSカーネル

カーネルモード

ユーザーモード

VirtualServerサービス

VMM カーネル

ハードウェア

Page 12: TechEd2008_T1-407_EffectiveHyper-V

12

機能の違い

Page 13: TechEd2008_T1-407_EffectiveHyper-V

13

Virtual Server vs. Hyper-V

機能Virtual Server

2005 R2Hyper-V

32-bit VM ○ ○64-bit VM × ○

VM の SMP サポート × 最大 4CPU

VM の最大メモリ 3.6 GB 64 GB

スナップショット作成 × ○

Page 14: TechEd2008_T1-407_EffectiveHyper-V

14

機能・性能比較

Virtual Server 2005vs. Hyper-V

demo

Page 15: TechEd2008_T1-407_EffectiveHyper-V

15

1CPU VM 同士での比較

CPU -

Inte

ger M

ath

CPU -

Floa

ting

Poin

t Mat

h

CPU -

Imag

e Rot

atio

n

105252.2

598.7

116.2

301.0

611.5

演算能力の比較

Virtual Server (1CPU) Hyper-V (1CPU)

Page 16: TechEd2008_T1-407_EffectiveHyper-V

16

「全力」勝負

CPU -

Inte

ger M

ath

CPU -

Floa

ting

Poin

t Mat

h

CPU -

Imag

e Rot

atio

n

105 252.2598.7461.5

1238

2444

演算能力の比較

Virtual Server (1CPU) Hyper-V (4CPU)

Page 17: TechEd2008_T1-407_EffectiveHyper-V

17

ディスクアクセス性能の比較

スループットはほぼ同じだが、Hyper-V は CPU 使用率が格段に低い

CPU 使用率 (%)0.0

5.0

10.0

15.0

20.0

25.0

Virtual Server

Hyper-V

転送量 (MB/s)0.0

10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0

100.0

Virtual Server

Hyper-V

Page 18: TechEd2008_T1-407_EffectiveHyper-V

18

性能はなんとなく

わかったので

Page 19: TechEd2008_T1-407_EffectiveHyper-V

19

あらためてアーキテクチャ

解説

Page 20: TechEd2008_T1-407_EffectiveHyper-V

20

その他一般の OS

ハードウェア

Windows Server 2008

ペアレントパーティション チャイルド パーティション

カーネルVSP

Xen 対応Linux

ハイパーバイザデバイスドライバ

仮想マシン管理サービス

エミュレート

されたデバイス

アプリケーション

アプリケーション

Hyper-V 対応Windows

VSC

Hyper-V 対応

カーネル

アプリケーション

Xen 対応カーネル

VSC

VMBus

VMBus

Page 21: TechEd2008_T1-407_EffectiveHyper-V

21

ペアレントとチャイルド

Partitions

Page 22: TechEd2008_T1-407_EffectiveHyper-V

22

ペアレント パーティションディスク、 NIC 等のデバイスを所有

デバイスドライバはハイパーバイザではなくペアレント パーティションにあるXen の Domain-0 に相当

リモート管理のインタフェースWMI プロバイダRDP 接続の受け入れ

単一障害点となるので留意が必要

余計なソフトを動かさないserver core 構成も検討するクラスタ化 (MSCS)

Page 23: TechEd2008_T1-407_EffectiveHyper-V

23

チャイルドパーティション (VM)

完全仮想化の 64-bit 仮想マシンHyper-V 上での実行を考慮されていない OS も、無修正で実行できる ( サポータビリティはまた別の問題・・・ )

準仮想化の要素もあるカーネルの最適化

Hypercall の活用Windows Vista SP1

Windows Server 2008

準仮想化ドライバ“ 統合サービスコンポーネント”“VMBus” デバイスXen の ” HVM ドメイン+ 準仮想化ドライバ” 構成に近い

Page 24: TechEd2008_T1-407_EffectiveHyper-V

24

統合 I/O アーキテクチャ

Synthetic I/O

Page 25: TechEd2008_T1-407_EffectiveHyper-V

25

Hyper-V 2 種類の I/O デバイス

統合デバイス

ゲスト OS に「統合サービスコンポーネント」がインストールされている場合に利用可能いわゆる準仮想化デバイスであり、オーバヘッドが少ない

エミュレートデバイス

「統合サービスコンポーネント」が用意されていない OS をゲストとして動かす場合は、こちらのモードになる

Virtual Server と同様に、実際のハードウェアを完全にエミュレートしたデバイスで、エミューションのオーバヘッドの分、CPU に負荷がかかる

Page 26: TechEd2008_T1-407_EffectiveHyper-V

26

統合サービスコンポーネントIntegration Services Component

統合デバイスを利用するには、ゲスト OS に「統合サービスコンポーネント (IC) 」のインストールが必要「サポートされた」 OS は IC が用意されている

Windows Server 2008

Windows Vista SP1

Windows Server 2003 SP2

Windows XP SP2 / SP3

Windows 2000 Server SP4

SUSE Linux Enterprise Server 10 SP1 / SP2

Red Hat Enterprise Linux も対応予定

Page 27: TechEd2008_T1-407_EffectiveHyper-V

27

VSP, VSC, VMBus

「統合デバイス」の構成要素VSP (Virtualization Service Provider)

ペアレント パーティションで動作する、いわゆるバックエンドドライバストレージ VSP, ネットワーク VSP 等が存在

VSC (Virtualization Service Client)いわゆるフロントエンドドライバ

VMBusVSP と VSC の通信経路実体は共有メモリ

Page 28: TechEd2008_T1-407_EffectiveHyper-V

28ハードウェア

ペアレントパーティション

ハイパーバイザデバイスドライバ

ワーカープロセス

チャイルドパーティション

アプリケーション

エミュレートデバイスの I/Oチャイルド パーティションのデバイスドライバの動きをハイパーバイザがハンドリング

ペアレント パーティションのユーザーモードプロセスも介在

モード遷移が多い

ファイルシステム

デバイスドライバ

Page 29: TechEd2008_T1-407_EffectiveHyper-V

29ハードウェア

ペアレントパーティション

ハイパーバイザデバイスドライバ

ワーカープロセス

チャイルドパーティション

アプリケーション

VMBus

統合デバイスの I/O例えばディスクへの書き込み要求は、 VSC→VMBus→VSP とカーネルモードだけで完結

チャイルド パーティション内でのデバイスエミュレーション処理がないので、オーバヘッドが少ない

ファイルシステム

VSP VSC

Page 30: TechEd2008_T1-407_EffectiveHyper-V

30

ハイパーバイザの正体とHyper-V の起動シーケンス

Hypervisor

Page 31: TechEd2008_T1-407_EffectiveHyper-V

31

ハイパーバイザの正体

実は .exe ファイル%systemroot%\System32 に存在

ちなみに、サイズは 800 キロバイト弱

hvix64.exe Intel プロセッサ用

hvax64.exe AMD プロセッサ

Page 32: TechEd2008_T1-407_EffectiveHyper-V

32

ハイパーバイザ?

ここで疑問が・・・Windows の下で動いているはずのハイパーバイザが、なぜWindows 上のファイルなのか?ペアレント パーティションというのも結局ホスト OSだったのか?

Page 33: TechEd2008_T1-407_EffectiveHyper-V

33ハードウェア

Windows Server 2008

Windowsカーネル

Hyper-V 起動シーケンス (1)

電源投入、 Windows 起動

この時点ではまだ、ハイパーバイザは動いていない通常の物理 Windows マシンとして起動する

Page 34: TechEd2008_T1-407_EffectiveHyper-V

34ハードウェア

Windowsカーネル

Hyper-V 起動シーケンス (2)

HVBoot.sysハイパーバイザをロードするためのデバイスドライバHyper-V ロール追加時に有効化される

Windows 起動直後に、このデバイスドライバも開始される

HVBoot.sys

Windows Server 2008

Page 35: TechEd2008_T1-407_EffectiveHyper-V

35ハードウェア

Windows Server 2008

Windowsカーネル

Hyper-V 起動シーケンス (3)

HVBoot.sys の動きハイパーバイザの存在チェックプラットフォームの判別CPU の仮想化支援機構が有効になっているか、チェックハイパーバイザを起動HVBoot.sys

ハイパーバイザあるかな?

Intel?AMD?

VTや AMD-V は使えるかな?

ハイパーバイザ起動!

Page 36: TechEd2008_T1-407_EffectiveHyper-V

36ハードウェア

Hyper-V 起動シーケンス (4)ハイパーバイザの動き

CPU の仮想化支援機構を活用し、 Windowsカーネルの下に潜り込む「ペアレント パーティション」を形成し、その中で Windows の起動を続行仮想マシン管理サービスなどが起動され、 Hyper-V 起動完了

Windows Server 2008

ペアレントパーティション

Windowsカーネル

HVBoot.sys

ハイパーバイザ

仮想マシン管理サービス

Page 37: TechEd2008_T1-407_EffectiveHyper-V

37

仮想化支援機構?

Page 38: TechEd2008_T1-407_EffectiveHyper-V

38

CPU の仮想化支援機構

ハイパーバイザの実装を助けるプロセッサ側の機構

Intel VT-x

AMD AMD-V

Hyper-V の実行には必須

Page 39: TechEd2008_T1-407_EffectiveHyper-V

39

x86 系の CPU には4つの「特権レベル」

リング 0~3リング 0 が最強

Windowsや Unix 系OS では、普通 0 と 3 をカーネルモード、ユーザーモードに使用

CPU の特権レベル実行環境

ユーザープログラム( リング 3)

OS カーネル ( リング 0)

ハードウェア

Page 40: TechEd2008_T1-407_EffectiveHyper-V

40

ハイパーバイザは、ゲスト OS の動きを完全に制御できなければならない

ゲスト OS のカーネルが動く「リング 0 」より下に潜り込む必要がある

ゲスト OS を支配せよ

ハイパーバイザ

実行環境

ユーザープログラム( リング 3)

OS カーネル ( リング 0)

ハードウェア

Page 41: TechEd2008_T1-407_EffectiveHyper-V

41

ハイ

パー

バイ

ペア

レン

パー

ティ

ショ

ンチ

ャイ

ルド

パー

ティ

ショ

アプ

リケ

ーシ

ョン

Hyper-V

関連

サー

ビス

ゲス

ト OS

カー

ネル

カー

ネル

モー

ド(リ

ング0)

ユー

ザー

モー

ド(リ

ング3)

ペア

レン

トOS

カー

ネル

仮想マシンモード

ハイパーバイザモード

ハイパーバイザの動作モード通常の”リング 0~3” の特権レベルとは別の切り口で動作モードが追加されている

「仮想マシンモード」「ハイパーバイザモード」

Page 42: TechEd2008_T1-407_EffectiveHyper-V

42

ハイ

パー

バイ

ペア

レン

パー

ティ

ショ

ンチ

ャイ

ルド

パー

ティ

ショ

アプ

リケ

ーシ

ョン

Hyper-V

関連

サー

ビス

ゲス

ト OS

カー

ネル

カー

ネル

モー

ド(リ

ング0)

ユー

ザー

モー

ド(リ

ング3)

ペア

レン

トOS

カー

ネル

仮想マシンモード

ハイパーバイザモード

CPU の仮想化支援機構とはハイパーバイザは「仮想マシンモード」で実行されるプログラムを完全に制御できる。「ハイパーバイザが Windowsより下で動いている」というのはこのことを指している。

Page 43: TechEd2008_T1-407_EffectiveHyper-V

43

「仮想マシンモード」や「ハイパーバイザモード」は正式な用語ではありません

Intel VT と AMD-Vそれぞれで呼び方が異なるため、便宜的に

こう表記しております。

Page 44: TechEd2008_T1-407_EffectiveHyper-V

44

ハイパーバイザ起動の仕掛けが判明しました。

Page 45: TechEd2008_T1-407_EffectiveHyper-V

45

次に、ハイパーバイザがどのように CPUを管理しているの

Page 46: TechEd2008_T1-407_EffectiveHyper-V

46

簡単に図解

Page 47: TechEd2008_T1-407_EffectiveHyper-V

47

LP 3LP 1LP 0 LP 2

チャイルド 3(4CPU)

チャイルド 1(2CPU)

ペアレントパーティション

チャイルド 2(2CPU)

ハイパーバイザの CPU 管理

ハイパーバイザ

ソケット 0 ソケット 1コア 1コア 1コア 0 コア 0

VP 1 VP 3

Root VP 3

VP 1 VP 1

Root VP 1Root VP 0

VP 0 VP 0

Root VP 2

VP 0 VP 2

Page 48: TechEd2008_T1-407_EffectiveHyper-V

48

ここで重要

なのは

Page 49: TechEd2008_T1-407_EffectiveHyper-V

49

ペアレントのCPU も Virtualだということ

Page 50: TechEd2008_T1-407_EffectiveHyper-V

50

CPU に関する注意点

CPU はハイパーバイザが掌握している

ペアレント パーティションから見えているCPU も、 Virtual Processor である

ペアレント パーティションの CPU を見ても、マシン全体の CPU 使用率はわからない!

Page 51: TechEd2008_T1-407_EffectiveHyper-V

51

マシン全体の CPU 使用率

ペアレント パーティションのパフォーマンス カウンタ"Hyper-V Hypervisor Logical Processor“オブジェクト他のカウンタについては後ほど

Page 52: TechEd2008_T1-407_EffectiveHyper-V

52

まとめ : Hyper-V の構造ハイパーバイザ

CPU の仮想化支援機構を活用し仮想マシンを掌握

ペアレント パーティションディスクや NIC 等のデバイスを管理する

チャイルド パーティション完全仮想化と準仮想化、双方の長所をあわせ持つ「完全仮想化 VM + 準仮想デバイス」

統合 I/Oオーバヘッドの少ない I/O の秘密は「統合サービスコンポーネント」によって導入される準仮想デバイス

Page 53: TechEd2008_T1-407_EffectiveHyper-V

53

ストレージ

Hyper-VStorage

Page 54: TechEd2008_T1-407_EffectiveHyper-V

54

ストレージ重要

Page 55: TechEd2008_T1-407_EffectiveHyper-V

55

一般的に

Page 56: TechEd2008_T1-407_EffectiveHyper-V

56

CPU の能力は

あまり気味

Page 57: TechEd2008_T1-407_EffectiveHyper-V

57

ディスクは結構忙しい

Page 58: TechEd2008_T1-407_EffectiveHyper-V

58

二つの観点から

仮想マシンのストレージ仮想ハードディスクの種類パススルー ディスクの使用接続形態 (IDE/SCSI)

ホストのストレージ物理ディスク構成

Page 59: TechEd2008_T1-407_EffectiveHyper-V

59

仮想マシンのディスク種別

仮想ハードディスクホスト上のファイル (.vhd) を VM に割り当て

パススルーディスクホストのディスクを VM に直結

ペアレント パーティション

ボリューム

VM

X:\VHDs\VM1.vhd C:

ペアレント パーティション

ボリューム

VM

C:

Page 60: TechEd2008_T1-407_EffectiveHyper-V

60

仮想ハードディスクの種類

固定サイズ可変サイズ差分ディスク

Page 61: TechEd2008_T1-407_EffectiveHyper-V

61

固定サイズ VHD

ディスクサイズ≒ VHD ファイルのサイズ

速度物理ディスクとの速度差は概ね 10%以内パススルーにはやや劣るが十分に高速

ペアレント パーティション

ボリューム

VM

X:\VHDs\VM1.vhd C:

ディスク容量ファイルサイズ ≒

Page 62: TechEd2008_T1-407_EffectiveHyper-V

62

可変サイズ VHD

ファイルサイズゲスト OS 上でディスクへの書き込みが行われると動的に拡張される速度読み込みは固定サイズ VHD と同等書き込みは、 VHD ファイル拡張のオーバヘッドで遅くなる

Page 63: TechEd2008_T1-407_EffectiveHyper-V

63

可変 VHD の構造と注意点VHD の内部はデータブロックが並んでいる

可変ディスクのデータブロックは、先頭にセクタビットマップを持つ

ビットの値が” 0” なら、

対応セクタはオール 0

データブロック 1

セクタの並び (1 セクタ=512bytes)

ビットマップ 0

0 1 01 1 01

1 2 3 4 5 6 7

データブロック n

BAT (Block Allocation Table)

ヘッダ

フッタ

0

データブロック 2

セクタの並びビットマップ 0

11

1 2 3 4 5 6 71 0 10 10

Page 64: TechEd2008_T1-407_EffectiveHyper-V

64

可変 VHD の構造と注意点読み込み時の動作

まずビットマップを検査ビットが 0 なら実際にセクタから読み込むことなく、セクタサイズ分の 0 を返す

テスト時に注意ベンチマークツールは、テスト用ファイルを 0埋めで作成することが多いこのようなファイルの読み込みは「幻の速さ」を示す 可変 VHD 固定 VHD

0

50

100

150

200

250

300

350

400Read

Write

Page 65: TechEd2008_T1-407_EffectiveHyper-V

65

差分 VHD

既存の VHD を「親」として作成された、「子」 VHD親 VHD は読み取り専用書き込みはすべて子 VHD へ親ディスクは複数の差分 VHD で共有可能差分 VHD は多段連結可能

親 .vhd

子 2.vhd

孫 2.vhd

ひ孫 1.vhd

子 1.vhd

孫 1.vhd

Page 66: TechEd2008_T1-407_EffectiveHyper-V

66

マスターイメージをコピーすることなく仮想マシンを複製可能時間とディスク領域の節約

ペアレントパーティション

VM2

ハイパーバイザ

VM1 VM3

親 VHDsysprep済みOS イメージ

子 VHD C:

子 VHD C:

子 VHD C:

差分 VHD 利用イメージ

Page 67: TechEd2008_T1-407_EffectiveHyper-V

67

差分 VHD の注意点

パフォーマンス劣化差分ディスク (子ディスク ) は、必ず可変サイズ VHD になる

可変ディスクのオーバヘッドによる性能低下

あまり多段階の接続を行うと、チェインをたぐるオーバヘッドが無視できなくなる

Page 68: TechEd2008_T1-407_EffectiveHyper-V

68

VHD の使い分け

「本番固定、開発可変」が原則本番環境では、固定サイズの速度を優先開発環境では、可変サイズの柔軟性を生かす

ただし、原則はあくまで原則例えば、フロントエンドの Web サーバのように「ステートレスな」サーバは、可変サイズVHD も選択肢の一つ ※ MSDN, TechNet の本番Web サーバは、250GB の可変 VHD を使っています

Page 69: TechEd2008_T1-407_EffectiveHyper-V

69

VHD はフラグメントに注意

仮想環境では起きうる箇所が増える

V:\VHDs\

VM01.vhdホスト上の.vhd ファイル

HEAD

FOOT

BAT

仮想ハードディスクのブロック配置

C:\data.mdf仮想マシン

内のファイル仮想マシン内で

デフラグ

管理ツールで「ディスクの最適化」

ホスト上でデフラグ

Page 70: TechEd2008_T1-407_EffectiveHyper-V

70

パススルーディスク物理ディスクを仮想マシンに直結

接続の単位は、物理ディスク全体パーティション単位ではない

速度は物理ディスクとほぼ同等制限事項

スナップショットがとれないエクスポート・インポートできない「物理マシン」と「 OS の稼働環境」を切り離すことができるという、仮想化の主要なメリットを失う

Page 71: TechEd2008_T1-407_EffectiveHyper-V

71

固定サイズ VHD vs. パススルー

パススルー 固定サイズ0

5

10

15

20

25

30

35

40

45

50

5%程度の差

※ あくまでも参考値です

Page 72: TechEd2008_T1-407_EffectiveHyper-V

72

IDE か? SCSI か?VM へのディスク接続方式

仮想 IDE と仮想 SCSI の 2 種類

OS を起動できるのは IDE のみお奨めは、「起動 IDE 」「データ SCSI 」両者に性能差はほぼ無いが、監視のしやすさに差がある

SCSI はディスク毎にカウンタがあるIDE はコントローラ単位全体で一つのカウンタにまとめられてしまっている

しかも現在はバグのため、 IC ありだと機能しない

Page 73: TechEd2008_T1-407_EffectiveHyper-V

73

IDE と SCSI – カウンタの違い

SCSI は、ディスク毎に

個別インスタンス

IDE は VM 全体で1 インスタンス

Page 74: TechEd2008_T1-407_EffectiveHyper-V

74

ホストのストレージ

構成の原則システムドライブと VM配置ドライブは分ける

システムドライブの構成RAID1 ( ミラーリング ) 構成を推奨

ペアレント パーティションをハードウェア障害から保護

システムドライブ VM配置ドライブ

VHD VHD VHD

VHD VHD VHD

Page 75: TechEd2008_T1-407_EffectiveHyper-V

75

ホストのストレージ ( 続き )

VM配置ドライブの構成ディスク台数

本番環境では、“仮想マシン 1台あたり 1 スピンドル”を下回らない台数が必要

ディスクは別々に使わず、束ねる複数のディスクをストライピングし、一つに束ねる (RAID1+0 等 )編成を推奨ただし、 RAID5 はお奨めしない ( 書き込みが遅い )

クラスタサイズを大きめにVMボリュームとしての普通サイズは 16KB

ヘビーな書き込みが行われるなら 64KB でも良い

Page 76: TechEd2008_T1-407_EffectiveHyper-V

76

システム(RAID 1) 仮想マシン配置ドライブ (RAID 50)

ストレージ構成の例VM1

C: D:

SCSIIDE

VM2

C: D:

SCSI

VM3

C: D:

SCSIIDE

VM4

C: D:

SCSIIDE

VM5

C: D:

SCSIIDE

VHD VHD VHD VHD VHD

VHD VHD VHD VHD VHD

IDE

Page 77: TechEd2008_T1-407_EffectiveHyper-V

77

まとめ : Hyper-V ストレージ

仮想マシンのディスク構成本番 : 固定 VHD

開発、テスト : 可変 VHD

パススルーは慎重に起動ドライブ以外は SCSI 接続

ホストのディスク構成システムと、 VM配置ドライブは分けるVM配置ドライブはストライピングせよクラスタサイズは大きめに

Page 78: TechEd2008_T1-407_EffectiveHyper-V

78

スナップショット

Hyper-VSnapshots

Page 79: TechEd2008_T1-407_EffectiveHyper-V

79

スナップショット

仮想マシンの一時点での状態を保存し、いつでもその状態に戻すことができる

VM が実行中でも停止中でも作成できる仮想マシン毎に 50個までシステムに重大な変更を加える前等に作成しておくと、変更前の状態へ簡単に戻せるため便利

Page 80: TechEd2008_T1-407_EffectiveHyper-V

80

スナップショットの仕組みVM新規作成 初期状態

仮想ディスク(.vhd)

状態情報(.vsv)

構成情報(.xml)

メモリ情報(.bin)

スナップショット①作成後

差分ディスク(.avhd)

状態情報(.vsv)

構成情報(.xml)

メモリ情報(.bin)

スナップショット②作成後

差分ディスク(.avhd)

状態情報(.vsv)

構成情報(.xml)

メモリ情報(.bin)

仮想マシンは 4 種類のファイルから構成される

スナップショット①

VM の構成ファイルをコピーするVHD は大きすぎるのでコピーせず差分ディスクを作る

スナップショット②

スナップショットを作成する度に差分ディスクの連鎖が長くなっていく

Page 81: TechEd2008_T1-407_EffectiveHyper-V

81

スナップショットの注意点

性能面差分ディスクなので、ディスクの連鎖をたぐるオーバヘッドがある差分ディスクは可変サイズディスクなので、書込時にファイル拡張のオーバヘッドがある

分散システムの整合性過去や未来を簡単に往復できるので、複数サーバが連携するシステムでの使用は注意が必要

Page 82: TechEd2008_T1-407_EffectiveHyper-V

82

スナップショットの注意点

推奨されない使い方基本的に本番環境では非推奨

ソフトウェア開発・テスト環境や、更新プログラムの検証環境での仕様を想定

ドメインコントローラのスナップショット作成

イメージバックアップからのリストアと同じ問題

MOSSや Exchange Server のように、ロールの異なる複数のマシンから構成されるシステムでのスナップショット作成

Page 83: TechEd2008_T1-407_EffectiveHyper-V

83

Hyper-V をクラスタリング

ClusteredHyper-V

Page 84: TechEd2008_T1-407_EffectiveHyper-V

84

Hyper-V のクラスタ化

Hyper-V のホストマシン同士を、Windows Server 2008 のフェールオーバー クラスタ機能でクラスタ化

最大ノード数は 16

仮想マシンは共有ストレージに配置SAN (FC/iSCSI) が基本だが、 NAS も使用可能

Page 85: TechEd2008_T1-407_EffectiveHyper-V

85

Hyper-V ホストクラスタリング

VHD VHD VHDVHD VHD VHDVHD VHD VHD

Page 86: TechEd2008_T1-407_EffectiveHyper-V

86

仮想マシンをクラスタへ登録

Windows Server 2008 のフェールオーバークラスタリングは、 Hyper-V の仮想マシンを認識

Page 87: TechEd2008_T1-407_EffectiveHyper-V

87

仮想マシンをクラスタへ登録

一覧から選択するだけで、仮想マシンをクラスタに登録

Page 88: TechEd2008_T1-407_EffectiveHyper-V

88

Quick Migration

クラスタに登録された仮想マシンは、クラスタノード間を移動可能になる計画停止、非計画停止の両方を想定

計画停止時は、 VM のメモリ内容をいったんファイルへ保存し、移動先のノードで復元する非計画停止時は、移動先ノードで VM が再起動される

Page 89: TechEd2008_T1-407_EffectiveHyper-V

89

Quick Migration 概念図

ノード 1 ノード 2共有ストレージ

VM1 用LUN

VM1.vhd

VM1.xml

VM1.bin

VM2 用LUN

VM2.vhd

VM2.xml

VM2.binVM2

VM1

Page 90: TechEd2008_T1-407_EffectiveHyper-V

90

Quick Migration の留意点

フェールオーバの単位仮想マシンの移動 == 物理ディスクのフェールオーバフェールオーバは LUN 単位なので、 1つのLUN に複数の仮想マシンを配置すると、それらは個別に移動できず、常にまとまって移動することになるVM毎に専用の LUN を割り当てることになり、管理が煩雑になる可能性がある

Page 91: TechEd2008_T1-407_EffectiveHyper-V

91

単一 LUN, 複数 VM の問題点

単一 LUN に複数 VM を押し込むと、個別に移動でき なくなる

ノード 1 ノード 2

単一 LUN

VM2.vhd

VM2.xml

VM2.binVM2

VM1

共有ストレージ

VM1.vhd

VM1.xml

VM1.bin

Page 92: TechEd2008_T1-407_EffectiveHyper-V

92

性能測定

Measuring Performance

Page 93: TechEd2008_T1-407_EffectiveHyper-V

93

仮想環境の性能測定

性能測定は二段構え仮想マシン内の性能測定

通常の物理マシンと同じように測定する実際に利用するアプリケーションを計測対象とするのが望ましい

ペアレント パーティションでの性能測定ゲスト OS 内から測定できるのは、仮想マシン単体の状況のみペアレント パーティションには Hyper-V固有のパフォーマンスカウンタが存在個々の仮想マシンの性能マシン全体としての性能

Page 94: TechEd2008_T1-407_EffectiveHyper-V

94

Hyper-V パフォーマンスカウンタ

ペアレント パーティションで取得可能用途 カウンタ名

マシン全体の CPU 使用率 Hyper-V Hypervisor Logical Processor

ペアレント パーティションのCPU 使用率

Hyper-V Hypervisor Root Virtual Processor

仮想マシンの CPU 使用率 Hyper-V Hypervisor Virtual Processor

仮想マシンのディスク(IDE)

Hyper-V Virtual IDE Controller

仮想マシンのディスク(SCSI)

Hyper-V Virtual Storage Device

仮想 NIC の使用状況 Hyper-V Virtual Network Adapter

Page 95: TechEd2008_T1-407_EffectiveHyper-V

95ハードウェア

ペアレントパーティション

仮想マシンその 2

ハイパーバイザ

Hyper-Vパフォーマンス

カウンタ

仮想マシンその 1

性能測定対象アプリケーショ

性能測定 : 概念図

性能測定対象アプリケーショ

仮想マシンの単体性能を

測定

仮想マシンの単体性能を

測定

マシン全体の性能を測定

仮想マシンその 3

性能測定対象アプリケーショ

仮想マシンの単体性能を

測定

Page 96: TechEd2008_T1-407_EffectiveHyper-V

96

マシン全体の状況を把握するには対象 オブジェクト カウンタ 備考

CPU Hyper-V Hypervisor Logical Processor

% Total Run Time ※ “Processor” オブジェクトはマシン全体の CPU 使用率を示さないことに注意!

メモリ Memory Pages/sec

Physical Disk Disk Transfers/sec ページファイルのあるドライブの値を取得Pages/sec がこの値の20% に達するようであれば、メモリが足りない

ディスク Physical Disk Avg. Disk sec / ReadAvg. Disk sec / WriteAvg. Disk Read Queue LengthAvg. Disk Write Queue Length

VHD ファイルの配置ドライブの値を取得Queue Length はディスクのスピンドル数の 1.5倍以内程度に収まるのが目安

Page 97: TechEd2008_T1-407_EffectiveHyper-V

97

Hyper-V とマイクロソフト製品

MicrosoftProductson Hyper-V

Page 98: TechEd2008_T1-407_EffectiveHyper-V

98

サーバー製品の仮想化対応情報

2008/8/19 KB公開“Microsoft server software and supported virtualization environments”http://support.microsoft.com/kb/957006/en-us

31 種類のサーバー製品について、Hyper-V 上での動作についての情報を公開

さらに、” 90 日ルール”の一部撤廃を発表Quick Migrationや VMotion の活用に対応

Page 99: TechEd2008_T1-407_EffectiveHyper-V

99

BizTalk Server on Hyper-V

BizTalk Server 2004, 2006, 2006 R2 は完全サポートMSDN に「 Hyper-V Guide 」公開

BizTalk Server 2006 R2 Hyper-V Guidehttp://msdn.microsoft.com/en-us/library/cc768518.aspx

パフォーマンス測定結果も公開シナリオ 1: 単一 VM + 物理 SQL Server

シナリオ 2: 複数 VM + 物理 SQL Server

シナリオ 3: 複数 VM + 仮想 SQL Server

シナリオ 4: 複数 VM + 仮想 SQL Server 単一筐体集約

Page 100: TechEd2008_T1-407_EffectiveHyper-V

100

Exchange Server on Hyper-Vサポートされるバージョン

Windows Server 2008 上での Exchange Server 2007 SP1

サーバー ロールユニファイド メッセージング (UM) 以外はすべてサポート

プロセッサVP:LP 比率は 2:1 まで

仮想ハードディスク本番環境では、固定サイズ VHD だけをサポート可変サイズおよび差分ディスクの使用は非サポート→ 必然的にスナップショットも非サポート

Exchange DB とログは、 VM自体とは別スピンドルのディスクに配置することをお奨めMicrosoft Support Policies and Recommendations for Exchange Servers in Hardware Virtualization Environments

http://technet.microsoft.com/en-us/library/cc794548.aspx

Page 101: TechEd2008_T1-407_EffectiveHyper-V

101

SQL Server on Hyper-V

SQL Server 2005, 2008( ほぼ ) 完全にサポートただし、仮想マシン同士でのフェールオーバー クラスタリングは非サポート

データベースミラーリングはサポート

詳細は、こちらの技術情報をご参照ください「ハードウェア仮想化環境で Microsoft SQL Server 製品を実行する場合のサポート ポリシー」http://support.microsoft.com/kb/956893/ja

Page 102: TechEd2008_T1-407_EffectiveHyper-V

102

関連セッション

T4-311System Center & Dynamic IT バード ビュー

8 月 27 日(水) 13:40 - 14:55

T4-310System Center Virtual Machine Manager を利用した Windows Server 2008 Hyper-V管理のベスト プラクティス

8 月 29 日(金) 13:40 - 14:55

Page 103: TechEd2008_T1-407_EffectiveHyper-V

103

参考資料Performance Tuning Guidelines for Windows Server 2008http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv.mspx

Hyper-V: Integration Components and Enlightenmentshttp://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx

Hyper-V: How to make sure you are getting the best performance when doing performance comparisonshttp://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx

Hyper-V Performance Countershttp://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx

Storage options for Windows Server 2008 Hyper-Vhttp://blogs.technet.com/josebda/archive/2008/02/14/storage-options-for-windows-server-2008-s-hyper-v.aspx

Microsoft.com Operations Virtualizes MSDN and TechNet on Hyper-Vhttp://download.microsoft.com/download/6/C/5/6C559B56-8556-4097-8C81-2D4E762CD48E/MSCOM_Virtualizes_MSDN_TechNet_on_Hyper-V.docx

Page 104: TechEd2008_T1-407_EffectiveHyper-V

104

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED

OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.