hyper-v replica
TRANSCRIPT
Windows Server 2012 Hyper-V レプリカの運用
阿部直樹(NAOKI ABE)
MICROSOFT MVP – VIRTUAL MACHINE
自己紹介
阿部直樹( Naoki ABE )
マイクロソフト認定トレーナー
エディフィストラーニング株式会社所属
主な担当分野
Windows Server (AD,Network,Security,Cluster)
System Center
Lync
Microsoft MVP – Virtual Machine( Apr.2010 - Mar.2014 )
Blog : MCTの憂鬱<http://naonao71.wordpress.com/>
アジェンダ
Part1 Disaster Recovery
Part2 Hyper-V Replica Initial Configration
Part3 Hyper-V Replica Configration
Part4 Hyper-V Replica Topology
Part5 Hyper-V Replica Maintaining
Part6 Summary
Part1 DISASTER RECOVERY
Disaster Recovery
ウィキペディアより出典
ディザスタリカバリ(英語:disaster recovery)とは、災害などによる被害からの回復措置、あるいは被害を最小限の抑えるための予防措置のこと。主にコンピュータシステムやネットワークなどIT関連で用いられることが多い用語である。
ディザスタリカバリでいう災害の範囲は厳密なものではなく、建物単体での火災などの小規模なものから風水害、地震などの自然災害や不正侵入、テロなどの人為的なものなど比較的大きなものまで原因、規模にかかわらず広範囲である。
一例としてコンピュータのデータ保護について述べる。ハードディスクの故障によるデータ消失トラブルに対する一般的な保護策としては外部メディアへのバックアップがある。さらに複数のディスクにデータを冗長に持たせるRAIDシステムも用いられる。しかし建物そのものが被災し装置全体が破損されたりバックアップしたメディアも一緒に破損するような災害には無力である。そういった場合でも破損したディスクから特殊な手段でデータ読み出せる場合があり、その措置をディザスタリカバリという。また、より根本的な対策として地理的に離れた場所にデータのコピーを置いておく方法がある。こういう予防措置もディザスタリカバリという。
Microsoft が提供する DR テクノロジー
マルチサイトクラスター
クラスター上で稼働しているアプリケーションを異なるサイトに自動でフェールオーバーする
Hyper-V レプリカ
仮想マシン単位で異なるサイトにレプリカ設定を行い、手動でフェールオーバーする
マルチサイトクラスター
Windows Server 2008 よりマルチサイトクラスターに対応
共有ディスクを持たないので、複製ソリューションが必要
現実問題として、マルチサイトクラスターに対応しているのは、Exchange Server 2010 以降(DAG)と SQL Server 2012 (AlwaysOn)
マルチサイトクラスターを構成するには 3 サイト存在することが推奨
メインサイト
サブサイト
監視サイト
マルチサイトクラスター考慮点
ドメイン環境必須
同一ドメインに全ノード(全てのサイト)が所属している必要がある
DNS の名前解決(DNS リゾルバキャッシュ)
フェールオーバー時、クライアントにはプライマリサイトで稼働中のサーバー情報(DNS リゾルバキャッシュ)が残っているため、ユーザー自らキャッシュをクリアするか、TTL 満了まで新たなサイトのサーバーにアクセスできない。
クラスター管理アカウント
各クラスターサーバーの Administrators グループに含まれる Domain Users アカウントを使用できる。また、Domain Admins 以外のアカウントの場合、このアカウント (またはアカウントが所属するグループ) に対し、ドメイン内で “コンピューターオブジェクト作成”のアクセス許可を委任する必要がある。
WAN 環境を考慮したクラスター各種設定
CrossSubnetDelayCrossSubnetThreshold
Hyper-V レプリカ
Windows Server 2012 より導入されたソリューション
Hyper-Vホスト間で仮想マシンを複製することで仮想マシンの可用性を向上させる機能
Hyper-V ホスト Hyper-V ホスト
仮想マシン
プライマリサーバー
レプリカサーバー
仮想マシンレプリケーション
(参考)基本用語確認
•Hyper-V Replication Logfile の略称。Hyper-Vレプリカのレプリケーションにおいてネットワーク上を流れるログファイル。
HRL
•複製元の拠点
プライマリサイト
•複製先の拠点
レプリカサイト
•複製元のHyper-Vホスト
プライマリサーバー
•複製先のHyper-Vホスト
レプリカサーバー
Hyper-V レプリカの特徴
専用の通信経路や特別なハードウェアを使用することなくVMのレプリケーション可能
プライマリサイトとレプリカサイトのハードウェア構成を同一にする必要はない
プライマリサイトの仮想マシンをオンライン状態でレプリケーション可能
レプリカサイトの仮想マシンはオフライン状態になる
ワークグループ環境での使用可能
レプリケーションの認証方法は証明書ベースの HTTPS に限定される
プライマリサーバーとレプリカサーバーで互いの FQDN の名前解決ができることが前提
Part2HYPER-V REPLICA
INITIAL CONFIGRATION
Hyper-V の設定
レプリケーションの構成にて、「レプリカサーバーとしてこのコンピューターを有効にする」にチェック
認証とポート
Kerberos を使用する(HTTP)
証明書ベースの認証を使用する(HTTPS)
承認と記憶域
認証されたすべてのサーバーからのレプリケーションを許可する
指定したサーバーからのレプリケーションを許可する
認証とポート
Kerberos 認証(HTTP)
プライマリサーバーとレプリカサーバーを AD に参加させる
HTTP トラフィックによりレプリケーションされ、暗号化はされない
証明書ベースの認証(HTTPS)
ワークグループの場合は必須の認証方法
プライマリサーバーにクライアント証明書、レプリカサーバーにはサーバー証明書をインストールする
Windows CAの既存のコンピューター証明書はデフォルトでクライアント証明とサーバー証明がサポート
証明書にはDNS名を別途入力する
自己署名証明書を使用する場合は、makecert.exe を使用する
”
“DEMO
HYPER-V レプリカの証明書作成
(参考)自己署名証明書
MakeCart の入手方法
Windows 8 用 Windows ソフトウェア開発キット (SDK)http://msdn.microsoft.com/ja-JP/windows/hardware/hh852363
Windows SDK for Windows 8 をダウンロードし、インストールする
自己署名証明書の作成ポイント
自己署名をするためのルート証明書を作成する
作成したルート証明書で署名されたサーバー証明とクライアント証明を持つ証明書を作成する
プライマリサーバーで作成したルート証明書をレプリカサーバーの信頼された証明機関にインストールする
自己署名証明書は証明書の失効確認が使えないので、レジストリを修正して失効確認しないように修正する
参考サイト:COMPNET
Hyper-V 3.0 で Hyper-V レプリカを構成する準備http://www.compnet.jp/index.php/archives/3262
Firewall 設定
セキュリティが強化された Windows ファイアウォールの受信許可
Active Directory 環境で kerberos を使用したレプリケーション
Hyper-V レプリカ HTTP リスナー(TCP 受信)
証明書ベースの認証を使用したレプリケーション
Hyper-V レプリカ HTTPS リスナー(TCP 受信)
Tips
プライマリサイトとレプリカサイトにおいて、プライマリサイト障害時はレプリカサイトでVMが稼働する
プライマリサイト復旧時、レプリカサイトがプライマリサイトに、プライマリサイトがレプリカサイトに変更することが想定できる
両サイトにおいて、プライマリサイト、レプリカサイト両方の役割が機能するよう構成することが推奨される
証明書構成
FW構成
レプリカ構成
Part3HYPER-V REPLICACONFIGRATION
”
“DEMO
HYPER-V レプリカの構成
レプリケーションの種類
初期レプリケーション
Hyper-V レプリカの構成後に最初に行うレプリケーションで、プライマリサイトからレプリカサイトに仮想マシン全体をコピーする。
差分レプリケーション
初期レプリケーション完了後に実行されるレプリケーションで、仮想マシンの差分データを 5 分間隔で転送するレプリケーション。
初期レプリケーション
ネットワーク経由
初期レプリケーションをネットワーク経由で行う。
エクスポート/インポート方式
初期レプリケーションを外部媒体経由で行う。
プライマリサイトーレプリカサイト間のWANにおいて、十分な帯域が確保されない場合に使用
プライマリサイト レプリカサイト
VM VM
ネットワーク経由
レプリカサーバーに対してVMをネットワーク経由でコピーする
十分な帯域が確保されていることを確認する
初期レプリケーションのスケジュールの活用
エクスポート/インポート方式
初期レプリケーション方式において「初期コピーを外部メディアを使用して送信する」を選択し、場所を指定する
外部メディアをレプリカサイトにオフラインで運ぶ
レプリカサーバー上にVMのコピーが存在するので、VMのレプリケーション>初期レプリカのインポートを選択
外部メディアを指定し、「初期レプリケーションの完了」をクリックする
差分レプリケーションの概要
初期レプリケーション後の仮想マシンの同期プロセス。
5分間隔で仮想マシン(vhdx)の変更点をログファイル(.hrl)に蓄積する。この間隔を変更することはできない。
ログファイルは圧縮した状態でレプリカサーバーに転送し、複製される仮想マシンと同じ場所に格納され、差分ディスクとして展開される。
プライマリサイト レプリカサイト
VM VM
HRL
接続パラメーターの指定
レプリカサーバーとの認証において使用する認証方法を指定する
レプリケーションの構成において証明書ベース認証を許可すると、VM認証で証明書ベースの認証が選択可能
デフォルトで、HRL の圧縮設定が ON
差分レプリケーション
最新の回復ポイント
レプリケーションした仮想マシンの回復ポイントに関する設定。最新の状態のみを回復することができる。
追加の回復ポイント
レプリケーションした仮想マシンの回復ポイントに関する設定。最新の状態に加えて、過去のコピーの履歴を保持する。
標準レプリカ過去のコピーの履歴を、パフォーマンスを重視したコピー方法で取得する。
アプリケーションと整合性のあるレプリカ過去のコピーの履歴を、仮想マシン内のアプリケーションとの整合性を重視したコピー方法で取得する。
追加の回復ポイント
標準レプリカ
プライマリ仮想マシンのクラッシュコンシステントレプリカ
クラッシュコンシステントとは、変更を保存していなかったり開いているファイルを回復できない状態のこと
アプリケーションと整合性のあるレプリカ
アプリケーションの視点から整合性がとれている過去の特定時点への回復
これを実現するために、ボリュームシャドウコピーサービスが(VSS)が使用される
仮想マシン上のアプリケーションが VSS に対応していれば、アプリケーションの整合性を保持することができる
標準レプリカと比べ、負荷が高い
回復の履歴の構成
回復ポイントの設定はレプリカサイトにおいてレプリケーションデータの保存世代数を設定する項目のこと。
最新の回復ポイント(デフォルト設定)
常に最新の回復ポイントのみを保存する設定。この設定では過去のデータは保存しない。
追加の回復ポイント
レプリケーションされた仮想マシンの履歴を保存する設定。1 時間に 1 回のタイミングでレプリケーションデータを履歴として保存することができる。
レプリカサイト側で仮想マシンのスナップショット機能を利用して最大 15 世代分の履歴が保持される。
VM スナップショット
回復ポイントの動作
図の設定の場合、4時間毎にアプリケーションと整合性のあるレプリカが実施される。(5×12×4回目のHRLが相当する)
回復ポイント#5:整合性レプリカ
回復ポイント#4:標準レプリカ
回復ポイント#3:標準レプリカ
回復ポイント#2:標準レプリカ
回復ポイント#1:標準レプリカ 初回
1時間後
2時間後
3時間後
4時間後
消去
レプリケーション処理
プライマリサイト レプリカサイト
VM VM
HRL HRL.tmp HRL avhd
①②
③
⑤
④1. 5分間隔でHRL
生成2. HRL.tmpとし
て送信(圧縮)
3. HRLファイルに変換
4. Avhdに結合5. 結合処理完了
通知
レプリケーション間隔
通常運用
単発負荷
連続負荷
0:05 0:10 0:15 0:20 0:25 0:30 0:35
レプリケーショントラフィック
Capacity Planner for Hyper-V Replica
マイクロソフト提供のツール
英語環境でのみ動作する
日本語環境の場合は、言語パックをインストールして英語環境に変更する必要あり
プライマリサーバーおよびレプリカサーバーともに英語環境する
Hyper-V レプリカの Capacity Planner
利用ガイド(日本語訳提供)
http://technet.microsoft.com/ja-
jp/virtualization/dd297510#tool03
Part4HYPER-V REPLICA TOPOLOGY
Hyper-V と Hyper-V
各サイトにおいて、VMの冗長性を考慮しないシンプルな構成
安価にDRを構築可能
レプリカブローカー
クラスター構成で Hyper-V レプリカに対応する
Hyper-V レプリカの設定は、Hyper-V 設定ではなく作成したレプリカブローカーで構成
レプリカブローカーサーバー経由でアクセス
各ノード上でFW設定を行う必要がある
レプリカブローカーと Hyper-V
プライマリサイトは冗長性を考慮したクラスター構成
レプリカサイトは冗長性を考慮しない
安価にDRを構築可能
レプリカブローカーとレプリカブローカー
プライマリサイトおよびレプリカサイトともに冗長性を確保
サイト内でのライブマイグレーション可能
コスト面での考慮
Part5HYPER-V REPLICA MAINTAINING
IPアドレス設定
プライマリサーバー及びレプリカサーバー上のVMに対して、IPアドレスを設定する
ネットワークアダプターのみ可能(レプリカ設定を行うと「フェールオーバーのTCP/IP」が現れる)
VM起動時に割り当てられる(OS内で設定されたIPアドレスは上書きされる)
Hyper-V レプリカ
プライマリサーバー レプリカサーバー
レプリケーション状態の確認
レプリケーションの正常性の表示より実行
プライマリサーバーおよびレプリカサーバーより実行可能
レプリケーションの正常性確認
VMの現在のプライマリサーバーとレプリカサーバーの確認
フェールオーバー
フェールオーバーの種類 実行する状況 操作するサーバー
データ損失の可能性
テストフェールオーバー レプリカサーバー上の仮想マシンの動作確認 レプリカサーバー
無
計画フェールオーバー 計画されていたメンテナンス作業や障害の発生を事前に察知した場合などに、プライマリサーバーとレプリカサーバーの役割を入れ替える
プライマリサーバー
無
フェールオーバー 予期しない災害や障害が発生した場合に、レプリカサーバーの VM を起動する
レプリカサーバー
有
フェールオーバー時の回復ポイント
回復ポイントの設定をしている場合は、使用する回復ポイントを選択する
標準回復ポイントとアプリケーションの整合性の回復ポイントが選択可能
テストフェールオーバー
プライマリサーバー レプリカサーバー
テストフェールオーバー
1. レプリカサーバーのHyper-Vマネージャーで、仮想マシンを右クリックし、[レプリケーション]-[テストフェールオーバー] とクリックする
2. フェールオーバーのテスト用仮想マシンを作成する際の回復ポイントを指定し、[テストフェールオーバー]をクリックする
3. 仮想マシン名の後ろに “-テスト” という文言の付いた仮想マシンが作成される。この仮想マシンを起動し、動作を確認する
4. 動作の確認が終わったら、[テストフェールオーバーの中止]をクリックすることにより、“-テスト” という文言の付いた仮想マシンは削除される
”
“DEMO
テストフェールオーバー
計画フェールオーバー
プライマリサーバー レプリカサーバー
プライマリサーバーレプリカサーバー
計画フェールオーバー
1. プライマリサーバーの Hyper-V マネージャーで、仮想マシンをシャットダウンする※計画フェールオーバーでは仮想マシンがオフであることが必須(「保存」は不可)
2. オフになった仮想マシンを右クリックし、[レプリケーション]-[計画フェールオーバー]-[フェールオーバー] とクリックする
3. 最新の情報をコピーしてから、レプリカ側の仮想マシンが自動的に起動する。また、この操作により、プライマリ-レプリカの立場が逆転し、レプリカ側がプライマリ、プライマリ側がレプリカとなる※立場が逆転したことは、Hyper-V マネージャーの中央ペインの下方にある [レプリケーション] タブで確認できる
4. その後、メンテナンス作業が終わり、仮想マシンを再び以前のプライマリ側で実行したい場合は、現在のプライマリサーバーで [計画フェールオーバー] を行い、以前のプライマリサーバーに仮想マシンの制御を戻すことができる
”
“DEMO
計画フェールオーバー
フェールオーバー
プライマリサーバー レプリカサーバー
フェールオーバー
1. プライマリ側で障害があったと想定するため、プライマリサーバーの仮想マシンをシャットダウンする
2. レプリカサーバーのHyper-Vマネージャーで、仮想マシンを右クリックし、[レプリケーション]-[フェールオーバー] をクリックする
3. 使用する回復ポイントを選択し、[フェールオーバー] をクリックする
4. これにより仮想マシンの制御が強制的にレプリカサーバーに移る。レプリカ側の仮想マシンが起動し、レプリカサイトで仮想マシンの運用を継続できる
Hyper-V Replica Replica Broker
プライマリサイトが復旧した後の操作
プライマリサーバー レプリカサーバー
プライマリサーバーレプリカサーバー
プライマリサイトが復旧した後の操作
1. レプリカサーバーのHyper-V マネージャーで、仮想マシンを右クリックし、[レプリケーション]-[レプリケーションの反転]をクリックする。[レプリケーションの反転ウィザード] が開始する
2. [レプリカサーバーの指定] ページで、複製を行いたいサーバーとして、プライマリサーバーを指定する
3. [接続パラメーターの指定] ページは、既定のまま[次へ]をクリックする
4. [回数の履歴の構成] ページで、保存する回復ポイントの数を指定する
5. [初期レプリケーションの方法の選択] ページで、[初期レプリケーション方式] と [初期レプリケーションのスケジュール] を指定する。今回は、初期レプリケーション方式は「ネットワーク経由」を選択し、初期レプリケーションのスケジュールは「すぐに開始する」を選択する
6. ウィザードが終了すると、レプリカ側で行った更新が復旧したプライマリ側に複製される。また、この操作により、プライマリ-レプリカの立場が逆転し、レプリカ側がプライマリ、プライマリ側がレプリカとなる
7. 初期複製を行っている間は、Hyper-Vマネージャーに"初期レプリカの送信中"と表示される
8. その後、プライマリ-レプリカの立場を元に戻したい場合は、現在のプライマリ側で [計画フェールオーバー] を行い、以前のプライマリサーバーに仮想マシンの制御を戻す
”
“DEMO
フェールオーバー
テストフェールオーバーの活用
テストフェールオーバーを使用することにより、本番環境と同等のテスト環境が構築可能
起動時にテスト用ネットワークを接続
テスト環境を独自に作らなくてもよい(機材などの用意が必要ない)
本番環境のデータをそのまま利用可能
トラブルシューティング
アプリケーションテスト
サービスパック等の事前導入テスト
Part6 SUMMARY
まとめ
OS 標準の機能である Hyper-V Replica を使用することにより、容易に DR の構築が可能
Http or Https を使用するので、通信における接続性が高い
運用中の VM に対して導入可能
DR 以外の利用目的(テスト環境など)での使用が可能
設計におけるポイントは次の通り
HRL のレプリケーションは 5 分以内に完了(ネットワークの帯域確保)
プライマリサーバーでは「アプリケーションと整合性のあるレプリカ」において HRL 生成負荷を考慮
レプリカサーバーでは HRL の結合負荷を考慮
Q&A
ご清聴ありがとうございました