トップ回答者
Windows Server 2012 Hyper-V レプリカの失敗について

質問
-
<環境>
レプリカ元:Windows Server 2012 R2 Standard x64
レプリカ先: 同上以下 レプリカ元を「サーバ1」、レプリカ先を「サーバ2」とします
<状況>
1)「サーバ1」⇒「サーバ2」へ仮想マシンのHyper-V レプリケーションを実施したい2)Hyper-V レプリケーションは 「証明書ベースの認証 (HTTPS)」を採用
3)以下のサイトに沿って、証明書の設定を実施
サイト:http://www.compnet.jp/index.php/archives/3262
<サーバ1の作業>
①「makecert.exe」の取得
②「makecert.exe」の実行からCAファイルの作成
③「makecert.exe」の実行から証明書ファイルの公開鍵の作成
※FQDNには、「サーバ1」のPC名を指定
(ワークグループのため、ドメイン名などは付加していない)
④レジストリエディタから失効確認の無効化
⑤Windows ファイアウォールは無効化
<サーバ2の作業>
①「makecert.exe」の取得
②「サーバ1」で作成したCAファイルをコピー
③「makecert.exe」からCAファイルを証明書ストアに登録
④Windows ファイアウォールは無効化4)「サーバ1」、「サーバ2」にて、「Hyper-V」マネージャから
レプリケーションの構成を有効化5)「サーバ1」上で仮想マシンを選択して、「レプリケーションの有効化」
①レプリカサーバ: 「サーバ2」のPC名を指定
②「証明書ベースの認証」を選択 ⇒ 証明書に「サーバ1」PC名の証明書を選択
③レプリカ先のハードディスクの場所を指定
④レプリカ間隔:5分
⑤「最新の回復ポイントだけを保持する」を選択
⑥「初期コピーをネットワーク経由で送信する」、「すぐにレプリケーションを開始する」を選択⇒ 上記を実行するとレプリケーションが一瞬有効になって、
すぐにエラーで停止するイベントログの情報は以下の通り
情報 : Hyper-V は、プライマリ仮想マシン 'XXXX(=仮想マシン名)' のレプリケーションの有効化に成功しました
エラー: 'XXXX(=仮想マシン名)' は、チェックポイントに必要な記憶域をディスク C:\VM\Virtual Hard Disks\XXXX.vhdx を使用して作成できません: エラー: 一般のアクセスが拒否されました (0x80070005)。
エラー: 'XXXX(=仮想マシン名)' に対するチェックポイント操作が失敗しました。
エラー: 仮想マシン 'XXXX(=仮想マシン名)' のレプリケーション操作が失敗しました: エラー: 一般のアクセスが拒否されました (0x80070005)。
エラー: Hyper-V は、'XXXX(=仮想マシン名)' の初期レプリカを生成できませんでした: エラー: 一般のアクセスが拒否されました (0x80070005)。
エラー: 仮想マシン 'XXXX(=仮想マシン名)' のレプリケーション操作が失敗しました。
エラー: Hyper-V は、回復不可能なエラーにより、仮想マシン 'XXXX(=仮想マシン名)' のレプリケーションを中断しました。エラーを修正してからレプリケーションを再開してください。<質問>
正常にHyper-V のレプリカを行うには、どのように対応すればよいでしょうか?
回答
-
返信ありがとうございます。
色々試していたら、現象が改善したので報告いたします。
※以下の内容は予測も含まれてます。<レプリケーションの失敗原因>
レプリケーション時の初期段階にレプリケーション元でチェックポイントの作成を行っている模様
上記のチェックポイント作成でエラーになり、レプリケーションに失敗していた模様
⇒ そのため、レプリケーションを行うためにチェックポイント作成のエラー対応を実施
<前提条件>
サーバのドライブ情報)
ドライブ1 C:
ドライブ2 C:\VM\Virtual Hard Disks ← ドライブ マウントをしている。少し特殊かもHyper-Vの設定)
仮想HDの場所 C:\VM\Virtual Hard Disks
構成ファイルの場所 C:\VM
(仮想マシンの初期値)
チェックポイントファイルの場所 C:\VM
スマートページングファイルの場所 C:\VM
※「チェックポイントファイルの場所」が今回のレプリケーションエラー、
チェックポイント作成エラーに関連している設定箇所
<最終的な対応方法>
1)適当な 仮想マシンを作成2)該当仮想マシンの チェックポイント ファイルの場所 を以下のように変更
変更前)C:\VM
変更後)C:\VM\Virtual Hard Disks
⇒「チェックポイント」を実行すると正常に実行される
3)1)で作成した仮想マシンを削除
4)別の仮想マシンを作成
⇒ 該当のチェックポイント ファイルの場所は「C:\VM」だが、
正常にチェックポイントが作成される
<チェックポイント作成エラー 補足>
1)初期状態にて、
仮想HDの場所 → ドライブ マウントされている所
チェックポイントファイルの場所 → ドライブ マウントされていない所
上記の設定だと、チェック ポイント作成でエラーになる模様2)チェックポイント作成を行うために、一度、適当な仮想マシンで以下の設定にする
仮想HDの場所 → ドライブ マウントされている所
チェックポイントファイルの場所 → ドライブ マウントされている所
⇒ チェックポイント作成が正常に実行可能になる3)一度、該当ホストのいずれかの仮想マシンでチェックポイント作成が成功すると、
他の仮想マシンなどで以下の設定でもチェックポイント作成が正常実行可能になる
※理由はよくわからない
仮想HDの場所 → ドライブ マウントされている所
チェックポイントファイルの場所 → ドライブ マウントされていない所
<最後に>
上記から、ドライブ マウントをしていて、該当パスをHyper-Vの
いずれかの設定で使用しているときには、注意が必要なのかもしれません。
以上、ご返信ありがとうございました。- 回答としてマーク hiroshimaAAA 2014年4月2日 1:32
すべての返信
-
hyper-V レプリカ関連のサービスアカウントの SPN が正常に登録されているか、またイベントに記録されたフォルダ、ファイルへサービスアカウントのアクセス権が付与されているかどうか、などか気になります。
-
返信ありがとうございます。
色々試していたら、現象が改善したので報告いたします。
※以下の内容は予測も含まれてます。<レプリケーションの失敗原因>
レプリケーション時の初期段階にレプリケーション元でチェックポイントの作成を行っている模様
上記のチェックポイント作成でエラーになり、レプリケーションに失敗していた模様
⇒ そのため、レプリケーションを行うためにチェックポイント作成のエラー対応を実施
<前提条件>
サーバのドライブ情報)
ドライブ1 C:
ドライブ2 C:\VM\Virtual Hard Disks ← ドライブ マウントをしている。少し特殊かもHyper-Vの設定)
仮想HDの場所 C:\VM\Virtual Hard Disks
構成ファイルの場所 C:\VM
(仮想マシンの初期値)
チェックポイントファイルの場所 C:\VM
スマートページングファイルの場所 C:\VM
※「チェックポイントファイルの場所」が今回のレプリケーションエラー、
チェックポイント作成エラーに関連している設定箇所
<最終的な対応方法>
1)適当な 仮想マシンを作成2)該当仮想マシンの チェックポイント ファイルの場所 を以下のように変更
変更前)C:\VM
変更後)C:\VM\Virtual Hard Disks
⇒「チェックポイント」を実行すると正常に実行される
3)1)で作成した仮想マシンを削除
4)別の仮想マシンを作成
⇒ 該当のチェックポイント ファイルの場所は「C:\VM」だが、
正常にチェックポイントが作成される
<チェックポイント作成エラー 補足>
1)初期状態にて、
仮想HDの場所 → ドライブ マウントされている所
チェックポイントファイルの場所 → ドライブ マウントされていない所
上記の設定だと、チェック ポイント作成でエラーになる模様2)チェックポイント作成を行うために、一度、適当な仮想マシンで以下の設定にする
仮想HDの場所 → ドライブ マウントされている所
チェックポイントファイルの場所 → ドライブ マウントされている所
⇒ チェックポイント作成が正常に実行可能になる3)一度、該当ホストのいずれかの仮想マシンでチェックポイント作成が成功すると、
他の仮想マシンなどで以下の設定でもチェックポイント作成が正常実行可能になる
※理由はよくわからない
仮想HDの場所 → ドライブ マウントされている所
チェックポイントファイルの場所 → ドライブ マウントされていない所
<最後に>
上記から、ドライブ マウントをしていて、該当パスをHyper-Vの
いずれかの設定で使用しているときには、注意が必要なのかもしれません。
以上、ご返信ありがとうございました。- 回答としてマーク hiroshimaAAA 2014年4月2日 1:32