teched2009_t1-402_effectivehyper-v

126
マイクロソフト株式会社 コンサルティングサービス統括本部 佐々木邦暢 <[email protected]>

Upload: kuninobu-sasaki

Post on 05-Jul-2015

874 views

Category:

Technology


3 download

DESCRIPTION

2009年のTechEd Yokohama T1-402セッションで使った資料です。R2の新機能Live Migrationとそれを支えるCSVのご紹介。

TRANSCRIPT

Page 1: TechEd2009_T1-402_EffectiveHyper-V

マイクロソフト株式会社コンサルティングサービス統括本部

佐々木邦暢 <[email protected]>

Page 2: TechEd2009_T1-402_EffectiveHyper-V

2

本日のテーマ

Page 3: TechEd2009_T1-402_EffectiveHyper-V

3

仮想化と

クラスタ化

Page 4: TechEd2009_T1-402_EffectiveHyper-V

4

Page 5: TechEd2009_T1-402_EffectiveHyper-V

5

仮想化とクラスタ化

仮想化一つのマシンを、複数に見せかける

クラスタ化複数のマシンを、一つに見せかける

Page 6: TechEd2009_T1-402_EffectiveHyper-V

6

一見、逆のテクノロジ

Page 7: TechEd2009_T1-402_EffectiveHyper-V

7

しかし両者に密接な関係

Page 8: TechEd2009_T1-402_EffectiveHyper-V

8

Hyper-Vとクラスタの関係

Page 9: TechEd2009_T1-402_EffectiveHyper-V

9

簡単に説明します

Page 10: TechEd2009_T1-402_EffectiveHyper-V

10

Hyper-V ホストのクラスタ化

Windows Server 2008 R2 Hyper-V

クラスタ化 ホスト サーバー

Page 11: TechEd2009_T1-402_EffectiveHyper-V

11

Hyper-V

ホストサーバー束ねると

Page 12: TechEd2009_T1-402_EffectiveHyper-V

12

仮想マシンは物理マシン間を往来可能に

Page 13: TechEd2009_T1-402_EffectiveHyper-V

13

そのメリット

Page 14: TechEd2009_T1-402_EffectiveHyper-V

14

例えばホスト停止時の可用性

Page 15: TechEd2009_T1-402_EffectiveHyper-V

15

Hyper-V ホストの停止時

Windows Server 2008 R2 Hyper-V

クラスタ化 ホスト サーバー

Page 16: TechEd2009_T1-402_EffectiveHyper-V

16

あるいは負荷に応じた

再配置

Page 17: TechEd2009_T1-402_EffectiveHyper-V

17

負荷に応じた再配置

Windows Server 2008 R2 Hyper-V

クラスタ化 ホスト サーバー

Page 18: TechEd2009_T1-402_EffectiveHyper-V

18

いやちょっとまった

Page 19: TechEd2009_T1-402_EffectiveHyper-V

19

この話去年も聞いた

Page 20: TechEd2009_T1-402_EffectiveHyper-V

20

Hyper-V 1.0 のクラスタ対応

クラスタ化はHyper-V 1.0で既に実現

Windows Server 2008のフェールオーバー クラスタは、仮想マシンを認識します

仮想マシンを別のノードに移行する「Quick Migration」機能もありました

去年のスライド

Page 21: TechEd2009_T1-402_EffectiveHyper-V

21

課題1Quick Migrationの

停止時間

仮想マシンのメモリ内容を共有ディスクへ書き込み、移行先ノードで読み込みます

仮想マシンのメモリ容量に比例したダウンタイムが発生します

Page 22: TechEd2009_T1-402_EffectiveHyper-V

22

共有ディスク

Quick Migrationの動き

メモリ内容をディスクへ書き込む

Quick Migration 開始

この間がダウンタイム

移行先ノード移行元ノード

メモリ内容をディスクから

読み込む

Quick Migration 完了

ディスクの所有権を

切り替える

Hyper-V 1.0ではこれが限界でした

Page 23: TechEd2009_T1-402_EffectiveHyper-V

23

課題2ストレージ管理の

複雑化

単一のLUNに複数の仮想マシンを格納すると、それらの仮想マシンは個別に移行することができませんでした

仮想マシン1台ごとに専用のLUNを割り当てることになり、LUN管理が複雑になりがちでした

Page 24: TechEd2009_T1-402_EffectiveHyper-V

24

複数VM/LUNの問題点

単一のLUN

1号機 2号機ストレージ

VM1を構成するファイル

VM2を構成するファイル

LUN所有権

VM1

VM2

いわゆる「一LUN托生」問題

Page 25: TechEd2009_T1-402_EffectiveHyper-V

25

VM2LUN2

VM1 LUN1

VM3 LUN3

LUN5VM5

LUN4 VM4

LUN6 VM6

VM7 LUN7

VM8LUN8

VM9 LUN9

LUN10 VM10

1号機 2号機ストレージ

結果として「LUN爆発」

Page 26: TechEd2009_T1-402_EffectiveHyper-V

26

Hyper-V 2.0 の進化

Hyper-V 1.0 Hyper-V 2.0

Quick Migration時のダウンタイム

(メモリ容量に比例して増大)

1LUN托生問題

Live Migrationでダウンタイム削減

Cluster Shared Volumes

複数VM/LUN配置個別にVM移動可能

Page 27: TechEd2009_T1-402_EffectiveHyper-V

27

百聞は一見に如かず

Page 28: TechEd2009_T1-402_EffectiveHyper-V

28

本日はHyper-V R2

4ノードクラスタを

Page 29: TechEd2009_T1-402_EffectiveHyper-V

29

ここに持ってきました

Page 30: TechEd2009_T1-402_EffectiveHyper-V

30Hyper-V 5号機

本セッションのデモ環境

Microsoft iSCSI Software Target

Hyper-V

1号機Hyper-V

2号機Hyper-V

3号機Hyper-V

4号機

Hyper-V 4ノード クラスタ

CSV用LUN

80GB80GB

通常のLUN監視ディスク

1GB

ドメインコントローラ

32GB 32GB

Page 31: TechEd2009_T1-402_EffectiveHyper-V

狂熱のライヴ

- The VM Remains the Same -

マイグレーション

Page 32: TechEd2009_T1-402_EffectiveHyper-V

32

Tech Ed会場でのデモの内容

今回のデモは、Live Migrationの一般的な紹介だけでなく、「実際の現場での利用例」がイメージできるように、以下の三本立てで実施しました。

ライブ マイグレーション基本編今回のデモ環境のシステム構成の紹介

クラスタ化仮想マシンの管理ツールの紹介(クラスタの管理ツール)

ライブ マイグレーションの基本的な動きの紹介

Dynamics CRM編Dynamics CRMの使われ方の紹介

営業担当員の実際の入力業務のデモンストレーションそのデモ中に、入力業務端末(仮想マシン)をライブ マイグレーション!

Windows HPC Server編Windows HPC Serverの紹介

実際の並列計算ジョブのデモンストレーションそのデモ中に、HPC Server仮想マシンをライブ マイグレーション!

Page 33: TechEd2009_T1-402_EffectiveHyper-V

ライヴマイグレーション基本編

Page 34: TechEd2009_T1-402_EffectiveHyper-V

Dynamicsが止まらない

コンサルティングサービス統括本部 並木 知己

Page 35: TechEd2009_T1-402_EffectiveHyper-V

35

営業担当の1日

営業担当者は、

朝チームでの打ち合わせの後、顧客折衝用の資料を準備し、1日に3~4件のお客様を訪問します

帰社後に、訪問結果を記録し、翌日または翌週の訪問計画を立てます

訪問計画

報告

客先訪問④

客先訪問③

客先訪問②

客先訪問①

外出準備

朝会昼食

8:50 10:00 13:00 17:00 18:00

資料準備

Page 36: TechEd2009_T1-402_EffectiveHyper-V

36

営業担当の1日客先訪問④

客先訪問③

客先訪問②

昼食

訪問計画報告

19:00

客先訪問①

外出準備

朝会

資料準備

お客様への訪問が終わって帰社するのはだいたいいつも19時くらい

早く帰りたいのにここからが大変なんです(それなのに情シスは、システム止めるなんていいっちゃってるし・・・ふざけんなよっ)、と心の声

(実態)

Page 37: TechEd2009_T1-402_EffectiveHyper-V

37

報告・計画業務を効率的に!

しかし

が導入されてから、効率的に業務が行えるようになりました。

客先訪問④

客先訪問③

客先訪問②

客先訪問①

外出準備

朝会昼食

資料準備

19:00

訪問計画

報告

Page 38: TechEd2009_T1-402_EffectiveHyper-V

38

報告・計画業務を効率的に!

訪問計画

報告

客先訪問④

客先訪問③

客先訪問②

客先訪問①

外出準備

朝会昼食

8:50 10:00 13:00 19:00 21:00

顧客情報の確認

• 訪問予定である顧客情報の確認・印刷

• 提案資料の準備

日報作成

• 各訪問ごと会話内容・案件確度などを登録

• 上司宛に結果を報告

訪問計画策定

• 翌日・翌週の訪問予定を登録

• 新規顧客の登録

資料準備

訪問計画

報告

外出準備

資料準備

Page 39: TechEd2009_T1-402_EffectiveHyper-V

39

これから行う業務内容@19:00

訪問結果を報告します本日の訪問したお客様との折衝記録を登録

新しいお客様を登録します本日訪問したお客様から別のお客様(子会社)をご紹介いただいたので、新規顧客登録を実施

次週の予定を登録しますDynamicsCRMから次週の訪問予定を登録

Ourlook予定表にも更新されていることを確認

Page 40: TechEd2009_T1-402_EffectiveHyper-V

シミュレーションだって止まらない

システムテクノロジー統括本部 柴田直樹

Page 41: TechEd2009_T1-402_EffectiveHyper-V

41

研究開発者の仕事(HPCな人のお仕事内容とは・・)

1分でも早く他社よりも新製品を出す為にサーバの性能を100%振り絞って計算計算

メモリもCPUもフル稼働!!(Disk I/Oも。)

やっている計算はシミュレーション!!

構造解析、流体解析 (自動車設計でおなじみ)

金融派生製品の開発 (ハイリスクな金融商品)

気象予報 (1時間後の気象は1時間以下で計算)

デジタルコンテンツクリエーション

Page 42: TechEd2009_T1-402_EffectiveHyper-V

42

Windows HPC Server 2008

主に並列計算用クラスタを構築するために必要なものをパッケージ化した製品

OS (Windows Server 2008 HPC Edition)

並列計算向けメッセージ通信ミドルウェア(MS-MPI)

計算ノードのデプロイ機能(OSの自動配信)

システムリソースのリアルタイム監視機能(HeatMap)

Page 43: TechEd2009_T1-402_EffectiveHyper-V

Windows HPC Server 2008管理ツール-数百台の計算用サーバを一括監視 -

クラスタ構成ウィザード

WDSで高速なOS配信

ヒートマップで視覚的な状態管理

各種診断ツール

レポーティング機能

Page 44: TechEd2009_T1-402_EffectiveHyper-V

44

HPCクラスタで行う「MPIによる並列計算」とは

MyMPI.exe

ヘッドノード MyMPIapp.exe MyMPIapp.exe MyMPIapp.exe

Page 45: TechEd2009_T1-402_EffectiveHyper-V

45

並列計算時に計算サーバが落ちたら・・・

MyMPI.exe

ヘッドノード MyMPIapp.exe MyMPIapp.exe MyMPIapp.exe

これが、10時間かかる計算で9時間目のおきたら。。。。 悪夢です。。

Page 46: TechEd2009_T1-402_EffectiveHyper-V
Page 47: TechEd2009_T1-402_EffectiveHyper-V

47

本セッションはもちろん

Hyper-Vが主題

Page 48: TechEd2009_T1-402_EffectiveHyper-V

48

しかしながら

Page 49: TechEd2009_T1-402_EffectiveHyper-V

49

Hyper-Vとフェールオーバ

クラスタ

Page 50: TechEd2009_T1-402_EffectiveHyper-V

50

非常に親密な関係

Page 51: TechEd2009_T1-402_EffectiveHyper-V

51

そこでいまさらではありますが

Page 52: TechEd2009_T1-402_EffectiveHyper-V

52

クラスタの基本用語を再確認

Page 53: TechEd2009_T1-402_EffectiveHyper-V

53

フェールオーバクラスタ

Windows Server Enterprise以上に標準装備のクラスタミドルウェア

いわゆる「MSCS」というやつです

最近は、MSFC (Microsoft Failover Clustering),

WSFC (Windows Server Failover Clustering)

などと呼ぶようです

NT 4.0時代の1997年登場

コードネーム "Wolfpack"

既に10年以上の歴史があります

Page 54: TechEd2009_T1-402_EffectiveHyper-V

54

ノード (マシン)

クラスタサービスclussvc.exe

ノード (マシン)

クラスタの構成要素リソース ホスト

モニタRHS.exe

リソースDLL

(clusres.dll)

クラスタサービスclussvc.exe

クラスタ ディスク ドライバ(clusdisk.sys)

リソースグループ

ホスト名を表す“r2cluster” 等

IPアドレスを表す“192.0.2.100” 等

共有ディスクのLUを表す

“ドライブQ:” 等

共有ディスク

clusdisk.sys

netft.sysクラスタネットワークドライバ

(netft.sys)

クラスタ内部通信

制御・監視

所有権調停

カーネルモード

ユーザーモード

リソースをまとめフェールオーバの

単位となる

ネットワーク名リソース

IPアドレスリソース

物理ディスクリソース

制御・

監視

Page 55: TechEd2009_T1-402_EffectiveHyper-V

55

ノード (マシン)ノード (マシン)

クラスタと仮想マシンリソース

ホスト モニタRHS.exe

リソースDLL

(clusres.dll)

クラスタサービスclussvc.exe

仮想マシン管理サービスvmms.exe

仮想マシンリソースDLL

(vmclusres.dll)

クラスタ ディスク ドライバ(clusdisk.sys)

共有ディスク

clusdisk.sys

netft.sysクラスタネットワークドライバ

(netft.sys)

クラスタ内部通信

所有権調停

リソースグループ

制御・

監視

仮想マシンを表す

仮想マシンの構成情報を表す

1仮想マシン/1リソースグループ

仮想マシンリソース

仮想マシン構成リソース

仮想マシンが物理マシン間を移動するというのは、クラスタ的には

リソースグループの移動です

Page 56: TechEd2009_T1-402_EffectiveHyper-V

56

クラスタのおさらい終了

Page 57: TechEd2009_T1-402_EffectiveHyper-V

57

では、あらためて

Page 58: TechEd2009_T1-402_EffectiveHyper-V
Page 59: TechEd2009_T1-402_EffectiveHyper-V

59

Live Migrationの動き(概略)

VMメモリ転送移行開始

移行先ノード移行元ノード

後片付け

移行準備

ブラックアウト期間

VM

状態転送

移行完了

Page 60: TechEd2009_T1-402_EffectiveHyper-V

60

Live Migrationの各フェーズについてもう少し詳しく

移行準備フェーズ

VMメモリ転送フェーズ

VM状態転送フェーズ

後片付けフェーズ

Page 61: TechEd2009_T1-402_EffectiveHyper-V

61

移行元ノード

移行準備フェーズリソースモニタresrcmon.exe

クラスタサービス(ClusSvc)

仮想マシン管理サービス (VMMS)

仮想マシンリソースDLL

(vmclusres.dll)

クラスタネットワークドライバ (netft.sys)

移行元VM

移行先ノード

クラスタネットワークドライバ (netft.sys)

仮想マシンワーカープロセス

(vmwp.exe)

クラスタディスクドライバ (clusdisk.sys) 共有

ディスク

クラスタディスクドライバ (clusdisk.sys)

リソースモニタresrcmon.exe

クラスタサービス(ClusSvc)

仮想マシン管理サービス (VMMS)

仮想マシンリソースDLL

(vmclusres.dll)

移行先VM

仮想マシンワーカープロセス

(vmwp.exe)

Page 62: TechEd2009_T1-402_EffectiveHyper-V

62

※まめ知識

この時、ライブマイグレーション用に使用されるネットワークは、仮想マシンリソースのプロパティで指定できます

Page 63: TechEd2009_T1-402_EffectiveHyper-V

63

移行元ノード

VMメモリ転送フェーズ

移行元VM

移行先ノード

移行先VM

仮想マシンワーカープロセス

(vmwp.exe)

仮想マシンワーカープロセス

(vmwp.exe)

ダーティページは再転送の必要あり

ワーカープロセス間で仮想マシンのメモリを転送

ダーティページが十分少なくなったところで、次のフェーズへ進む

Page 64: TechEd2009_T1-402_EffectiveHyper-V

64

メモリ転送フェーズのポイント

メモリ転送中もVMは稼働し続けます

転送済みのページが再度変更された場合は、変更されたページのリストを管理しておき、メモリ転送が一巡した後、再度転送します

このフェーズまでは、Live Migrationのキャンセルが可能です

キャンセルした場合、VMは移行元ホストでダウンタイムなしに稼働し続けます

Page 65: TechEd2009_T1-402_EffectiveHyper-V

65

移行元ノード

VM状態転送フェーズ

移行元VM

移行先ノード

移行先VM仮想マシンの状態情報

仮想マシンのVRAM

CPUのレジスタデバイスのキャッシュ等

仮想マシンを一時停止

最後まで残ったダーティページ

これですべての情報が移行されました

Page 66: TechEd2009_T1-402_EffectiveHyper-V

66

状態転送フェーズのポイント

このフェーズの間、移行元の仮想マシンは短時間ですが、停止しています

「ブラックアウト期間」と呼びます

Microsoft-Windows-Hyper-V-Worker/Adminログに結果が記録されます

ちょっとブラックアウトが長くなっているのは、

100BASEのネットワークを使ったからです

Page 67: TechEd2009_T1-402_EffectiveHyper-V

67

移行元ノード

後片付けフェーズリソースモニタresrcmon.exe

クラスタサービス(ClusSvc)

仮想マシン管理サービス (VMMS)

仮想マシンリソースDLL

(vmclusres.dll)

クラスタネットワークドライバ (netft.sys)

移行先ノード

クラスタネットワークドライバ (netft.sys)

仮想マシンワーカープロセス

(vmwp.exe)

クラスタディスクドライバ (clusdisk.sys) 共有

ディスク

クラスタディスクドライバ (clusdisk.sys)

リソースモニタresrcmon.exe

クラスタサービス(ClusSvc)

仮想マシン管理サービス (VMMS)

仮想マシンリソースDLL

(vmclusres.dll)

移行先VM

仮想マシンワーカープロセス

(vmwp.exe)

移行元VM

Page 68: TechEd2009_T1-402_EffectiveHyper-V

68

Live Migrationに関する注意点

「所要時間」短縮の肝はネットワーク「Live Migration専用」のギガビットネットワークが理想

「ダウンタイム(ブラックアウト期間)」削減のために仮想マシンはCluster Shared Volume (CSV)に配置することをお勧めします

CSVは必ずしも必須ではありませんが、CSVではない通常の共有ディスクにVMを配置した場合、Live Migration時のブラックアウト期間は若干増大します

Hyper-VおよびVMの設定仮想ネットワークの名前は全ノードで一致させておく

名前がずれていると、Live Migrationに失敗します

ISOイメージの場所に注意

ノードローカルなフォルダに置いてあるISOイメージをマウントしたままのVMは、Live Migrationに失敗します

Page 69: TechEd2009_T1-402_EffectiveHyper-V

69

次にフェールオーバクラスタの新兵器

Page 70: TechEd2009_T1-402_EffectiveHyper-V

Codename: "Centipede"

Page 71: TechEd2009_T1-402_EffectiveHyper-V

71

そもそもなぜ必要?

Page 72: TechEd2009_T1-402_EffectiveHyper-V

72

SANストレージ (Fibre Channel or iSCSI)

VM配置用ディスクボリューム

これでなぜダメ?

Hyper-V

1号機Hyper-V

2号機Hyper-V

3号機Hyper-V

4号機

VM1 VM2 VM3 VM4

VHD VHD VHDVHD

Page 73: TechEd2009_T1-402_EffectiveHyper-V

73

共有ディスクにつなぐだけ

確かに、SANストレージに接続さえしてしまえば、ボリュームをクラスタに登録しなくとも、全てのノードでディスクが同時に認識されます

例えば、本日のデモ機(4台)に、新しい共有ディスクボリューム「ディスク5」を接続すると、次ページのように見えます

Page 74: TechEd2009_T1-402_EffectiveHyper-V

74

同じディスクが4台から見える1号機 2号機

3号機 4号機

ID:216F23E5

ID:216F23E5

ID:216F23E5

ID:216F23E5

Page 75: TechEd2009_T1-402_EffectiveHyper-V

75

NTFSはクラスタファイルシステム

Page 76: TechEd2009_T1-402_EffectiveHyper-V

76

か?

Page 77: TechEd2009_T1-402_EffectiveHyper-V

77

いいえ、NTFSはクラスタファイルシステム

ではありません

何の制御も無しに複数のノードから同時アクセスすると、壊れてしまいます

何らかの形で、同時アクセスの調停を行う必要があります

Page 78: TechEd2009_T1-402_EffectiveHyper-V

78

SANストレージ (Fibre Channel or iSCSI)

通常のクラスタディスクHyper-V クラスタ

Hyper-V

1号機Hyper-V

2号機Hyper-V

3号機Hyper-V

4号機

LUN3

I:

LUN4

J:

LUN1

G:

LUN2

H:

予約 予約予約予約

VM2 VM3 VM4

VM1 VM2 VM3 VM4

VM1

Page 79: TechEd2009_T1-402_EffectiveHyper-V

79

SANストレージ (Fibre Channel or iSCSI)

VMの移動=LUN所有権の移動Hyper-V クラスタ

Hyper-V

1号機Hyper-V

2号機Hyper-V

3号機Hyper-V

4号機

LUN3

I:

LUN4

J:

LUN1

G:

LUN2

H:

予約 予約予約予約

VM2 VM3 VM4

VM1 VM2 VM3 VM4

VM1

Page 80: TechEd2009_T1-402_EffectiveHyper-V

80

SANストレージ (Fibre Channel or iSCSI)

CSVの場合

Hyper-V

1号機Hyper-V

2号機Hyper-V

3号機Hyper-V

4号機

LUN1

VM1 VM2 VM3 VM4

全ノードから同時かつ直接にアクセス可能

VM1 VM2 VM3 VM4

Page 81: TechEd2009_T1-402_EffectiveHyper-V

81

SANストレージ (Fibre Channel or iSCSI)

ノード間の移動も自由自在

Hyper-V

1号機Hyper-V

2号機Hyper-V

3号機Hyper-V

4号機

LUN1

VM1 VM2 VM3 VM4

全ノードから同時かつ直接にアクセス可能

VM2 VM3 VM4VM1

Page 82: TechEd2009_T1-402_EffectiveHyper-V

82

CSVはどうやって同時アクセスを実現しているのか

新しいファイルシステムを作ったのか?

NO!NTFSを大幅に機能拡張したのか?

NO!

Page 83: TechEd2009_T1-402_EffectiveHyper-V

83

そんなタイヘンなことはしていません

NTFSは10年以上の歴史を持つ、枯れた(安定した)ファイルシステムです

ファイルシステムとして必要な機能は揃っています

クラスタ対応のために全て作り直すなど、

Page 84: TechEd2009_T1-402_EffectiveHyper-V

84

車輪の再発明

Page 85: TechEd2009_T1-402_EffectiveHyper-V

85

NTFSをそのまま利用しつつ

同時アクセスを実現

ファイルシステム ミニフィルタ ドライバ

"CSVFilter.sys"

Page 86: TechEd2009_T1-402_EffectiveHyper-V

86

ミニフィルタドライバ

Page 87: TechEd2009_T1-402_EffectiveHyper-V

87

I/Oマネージャ

ファイルシステムドライバ (ntfs.sys)

Windowsストレージスタックの概観アプリケーション

プログラム

フィルタマネージャ

ミニフィルタ ドライバ 1

ストレージドライバディスククラス

ドライバ (disk.sys)

ポートドライバ

ミニポートドライバ ディスク装置

ユーザーモード

カーネルモード

ミニフィルタ ドライバ 2

ミニフィルタ ドライバ 3

Page 88: TechEd2009_T1-402_EffectiveHyper-V

88

ファイルシステムドライバ(ntfs.sys)

ミニフィルタドライバと「高度」

フィルタマネージャ

I/O

マネージャ 400000

409999

320000

329999

140000

149999

40000

49999

CSVFilter (404900)

グループ: FSFilter Top

グループ: FSFilter Anti-Virus

グループ: FSFilter Encryption

グループ: FSFilter Bottom

※ グループはたくさんあるので、上の図ではかなり省略してあります

低Superfetch (45000)

eraser.sys (329010)

prvflder.sys (148000)

Page 89: TechEd2009_T1-402_EffectiveHyper-V

89

CSVFilter が位置している

高度404900とは

現存するほぼ全てのミニフィルタより上

I/Oリクエストを真っ先に横取りします

横取りして、何をどうしているのか??

Page 90: TechEd2009_T1-402_EffectiveHyper-V

90

話がややこしくなってきたので

Page 91: TechEd2009_T1-402_EffectiveHyper-V

91

CSVの構成方法から

Page 92: TechEd2009_T1-402_EffectiveHyper-V

92

CSVの構成

CSVを利用するためには、「CSVの有効化」

「物理ディスクをCSVとして登録」

の2段階の手続きを踏みます

CSVの有効化「フェールオーバー クラスターマネージャー」を使ってGUIから

Power Shellを使ってコマンドラインから

Page 93: TechEd2009_T1-402_EffectiveHyper-V

93

CSVの有効化GUIで

「フェールオーバークラスター マネージャー」から有効化

Page 94: TechEd2009_T1-402_EffectiveHyper-V

94

こんなのが出てきます

Page 95: TechEd2009_T1-402_EffectiveHyper-V

95

CSVの有効化PowerShellで

(Get-Cluster).EnableSharedVolumes=“enabled/noticeread”

単に”enabled”ではなく、“noticeread”をつける必要があります。

Page 96: TechEd2009_T1-402_EffectiveHyper-V

96

CSVへのディスク追加

GUIで

Page 97: TechEd2009_T1-402_EffectiveHyper-V

97

CSVへのディスク追加PowerShellで

Add-ClusterSharedVolume

“物理ディスクリソース名"

Page 98: TechEd2009_T1-402_EffectiveHyper-V

98

利用可能になったCSV

Page 99: TechEd2009_T1-402_EffectiveHyper-V

99

CSVの特徴その1

アクセスポイント

CSVはドライブレターを持ちません

C:\ClusterStorage配下にマウントされます

ドライブレターの枯渇問題や、ボリュームGUIDの扱いにくさから解放されます

Page 100: TechEd2009_T1-402_EffectiveHyper-V

100

CSVの特徴その2

所有者

CSVの実体は、普通の”物理ディスクリソース”

です

他のクラスタリソースと同様に、「所有者」となるノードがいます

Page 101: TechEd2009_T1-402_EffectiveHyper-V

101

所有者?

Page 102: TechEd2009_T1-402_EffectiveHyper-V

102

全ノードから同時アクセスできるのに所有者?

Page 103: TechEd2009_T1-402_EffectiveHyper-V

103

「コーディネータ」ノード

C:\ClusterStorage\Volume1

CSVFilter

クラスタディスクドライバ

Hyper-V

1号機VM1

NTFS

I/Oマネージャ

フィルタマネージャ

Hyper-V

2号機VM2

VM1 VM2

ストレージ ドライバ

NTFS

I/Oマネージャ

フィルタマネージャ

ストレージ ドライバ

クラスタディスクドライバ

CSVFilter

予約

ディスクの所有権を持つノードが

CSVボリュームの「コーディネータ」

Page 104: TechEd2009_T1-402_EffectiveHyper-V

104

ボリュームをマウントしているのはコーディネータだけ

他のノードは、ボリュームをマウントしていないので、通常の方式ではボリュームにアクセスできません

「ダイレクトモード I/O」(後述)という方式でアクセスします

コーディネータノードでは、「ダイレクトモード I/O」 に備え、VHDファイルを「移動不能ファイル」に設定します

Page 105: TechEd2009_T1-402_EffectiveHyper-V

105

コーディネータノードのI/O

コーディネータノードでのI/Oは、通常通り

コーディネータノードは普通にボリュームをマウントしているので、特殊な処理は必要ない

C:\ClusterStorage\Volume1

VM1 VM2

CSVFilter

クラスタディスクドライバ

Hyper-V

1号機VM1

ストレージ ドライバ

NTFS

I/Oマネージャ

フィルタマネージャ

予約

Page 106: TechEd2009_T1-402_EffectiveHyper-V

106

非コーディネータノードのI/O

仮想マシンの動作に伴い、CSV上のVHDファイルなどへのI/O要求が発生

CSVFilterはこのアクセスを全てキャッチ

I/O要求の種類によって、次の動作が決まります

C:\ClusterStorage\Volume1

VM1 VM2

NTFS

I/Oマネージャ

フィルタマネージャ

Hyper-V

2号機VM2

ストレージ ドライバ1号機がコーディネータ

CSVFilter

予約

Page 107: TechEd2009_T1-402_EffectiveHyper-V

107

I/O要求の種類とは?

ファイルの実データへのアクセスか

要するに、ファイルの中身に対する読み書き

あるいはNTFSメタデータへのアクセスか

ファイルの新規作成

ファイル名の変更

などなど、ファイルシステムの属性情報に対する変更が発生する操作

これによってCSVFilterの振る舞いが変わってきます

Page 108: TechEd2009_T1-402_EffectiveHyper-V

108

実データへのアクセスは「ダイレクトモード」

CSVFilterによって、VHDファイルは移動不能と指

定され、ディスク上のブロック位置が固定されます

これにより、ボリュームをマウントしていない非コーディネータノードからも、コーディネータノードに頼らない直接アクセスが実現できます

Page 109: TechEd2009_T1-402_EffectiveHyper-V

109

C:\ClusterStorage\Volume1

VM1 VM2

NTFS

I/Oマネージャ

フィルタマネージャ

Hyper-V

2号機VM2

ストレージ ドライバ

CSVFilter

実データへのアクセス

この場合、CSVFilterは自分より低いミニフィルタをスキップ

NTFSのドライバすらスキップ!

直接ストレージドライバへI/O要求を送信

これが「ダイレクト モード」コーディネータノードでのI/Oと同等の性能

1号機がコーディネータ

予約

Page 110: TechEd2009_T1-402_EffectiveHyper-V

110

メタデータへのアクセスは「リダイレクトモード」

メタデータの変更が競合するとファイルシステムの整合性が失われる可能性があります

そのため、コーディネータノードがこれを調停することになります

ノード間の通信には、クラスタ用ネットワークが使用されます

Page 111: TechEd2009_T1-402_EffectiveHyper-V

111

メタデータへのアクセス

C:\ClusterStorage\Volume1

CSVFilter

Hyper-V

1号機VM1

NTFS

I/Oマネージャ

フィルタマネージャ

Hyper-V

2号機VM2

VM2 VM1

ストレージ ドライバ

NTFS

I/Oマネージャ

フィルタマネージャ

ストレージ ドライバ

CSVFilter

netft.sys netft.sys

Serverサービス

SMBリダイレクタ

こちらでメタデータI/Oが発生

CreateFile()

1号機がコーディネータ

予約

Page 112: TechEd2009_T1-402_EffectiveHyper-V

112

CSV共有

コーディネーターノードには、リダイレクトモードのアクセスを受け付けるためのファイル共有が自動的に作成されます

共有名は、CSVのボリュームIDです

Page 113: TechEd2009_T1-402_EffectiveHyper-V

113

CSVネットワーク要件

CSV共有へのアクセスのため以下の機能を有効にしておく必要があります

「Microsoft ネットワーク用クライアント」

「Microsoft ネットワーク用ファイルとプリンター共有」

Page 114: TechEd2009_T1-402_EffectiveHyper-V

114

SANストレージ (Fibre Channel or iSCSI)

CSVの障害ポイント

Hyper-V

1号機Hyper-V

2号機Hyper-V

3号機Hyper-V

4号機

LUN1

VM1 VM2 VM3 VM4

コーディネータ

予約

ネットワーク障害

ノード障害 ストレージ経路障害

Page 115: TechEd2009_T1-402_EffectiveHyper-V

115

ネットワーク障害

複数のネットワークをクラスタに登録しておくことで、自動的に障害経路を迂回

優先度の高いネットワークが回復した時は、自動復帰

Hyper-V

1号機Hyper-V

2号機Hyper-V

3号機Hyper-V

4号機

ネットワーク2

ネットワーク1

Page 116: TechEd2009_T1-402_EffectiveHyper-V

116

SANストレージ (Fibre Channel or iSCSI)

コーディネータノード障害

Hyper-V

1号機Hyper-V

2号機Hyper-V

3号機Hyper-V

4号機

LUN1

VM1 VM2 VM3 VM4予約

予約

コーディネータ

CSVのリソースグループがフェールオーバー

CSVのフェールオーバー中も、他ノードのVMには無影響

障害ノード上のVMもフェールオーバー

Page 117: TechEd2009_T1-402_EffectiveHyper-V

117

SANストレージ (Fibre Channel or iSCSI)

ストレージ経路障害

Hyper-V

1号機Hyper-V

2号機Hyper-V

3号機Hyper-V

4号機

LUN1

VM1 VM2 VM3 VM4

コーディネータ

予約

DATA

Page 118: TechEd2009_T1-402_EffectiveHyper-V

118

CSVとディスクメンテナンス

CSVの特性

CSVは複数のノードから同時並行的に読み書きされます

CSVFilterによってVHDファイルが移動不可にされる → デフラグできません

chkdskやデフラグの考慮点

ボリュームを「メンテナンスモード」に切替え、コーディネーターノードからメンテナンスを実施する必要があります

Page 119: TechEd2009_T1-402_EffectiveHyper-V

119

PowerShellコマンドレット

CSVのメンテナンス用のcmdletがあります"Repair-ClusterSharedVolume"

-ChkDskオプションでchkdsk

-Defragオプションでデフラグ

Page 120: TechEd2009_T1-402_EffectiveHyper-V

120

CSVとバックアップ(VSSとの関係)

要注意!ポイントが二つあります

バックアップ製品側の対応状況

VSSプロバイダの種類によるCSVの動作の違い

Page 121: TechEd2009_T1-402_EffectiveHyper-V

121

CSVとVSS

注意点その1

バックアップ製品の対応状況

CSVをVSSでバックアップするには、リクエスタがCSVのAPI

“ClusterPrepareSharedVolumeForBackup” を呼び出して準備をする必要があります

つまり、バックアップ製品側にCSV対応が必要です

※ Windows Server Backupは未対応です

Page 122: TechEd2009_T1-402_EffectiveHyper-V

122

CSVとVSS

注意点その2

VSSプロバイダによるCSV動作の違い

CSVが対応するVSSプロバイダは、2種類システムプロバイダ (Windows標準)

ハードウェアプロバイダ (ストレージ製品に付属)

※ サードパーティ製のソフトウェアプロバイダは未サポート

プロバイダの種類によって、バックアップ時の動作に違いが出ます

Page 123: TechEd2009_T1-402_EffectiveHyper-V

123

VSSプロバイダによる違い

バックアップ開始

スナップショット作成

バックアップ実行バックアップ完了

バックアップ開始

スナップショット作成

バックアップ実行バックアップ完了

システム プロバイダの場合

ハードウェア プロバイダの場合

バックアップ実行中はメンテナンスモード

スナップショット作成時のみメンテナンスモード

Page 124: TechEd2009_T1-402_EffectiveHyper-V

124

まとめ

Hyper-V 2.0はフェールオーバークラスタとの連携がさらに強化されました

新しく登場した"Live Migration"機能と、"クラスター共有ボリューム"を組み合わせると、ほとんどダウンタイム無しに、仮想マシンを別のHyper-Vノードに移行することができます

また、クラスター共有ボリューム(CSV)の登場により、単一のLUNに数多くの仮想マシンを格納

することができるようになり、ストレージ管理が効率化されます

Page 125: TechEd2009_T1-402_EffectiveHyper-V

125

関連セッション

T1-307: Hyper-V 2.0 設計と構築のポイント8/27(木) 9:20 - 10:30

T1-308: 仮想デスクトップ インフラストラクチャ(VDI)のアーキテクチャと運用管理手法の解説

8/28 (金) 10:55 - 12:05

T5-201: あらためて System Center Virtual

Machine Manager 2008 R2 機能概要8/27 (木) 15:15 - 16:25

T6-202: Dynamic IT

~自社運用もクラウドも方向性は同じ~8/28 (金) 16:50 - 18:00

Page 126: TechEd2009_T1-402_EffectiveHyper-V

126

© 2009 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.