Azure Migrate を使用した Hyper-V VM の Azure Stack HCI への移行に関する問題のトラブルシューティング (プレビュー)
適用対象: Azure Stack HCI バージョン 23H2
この記事では、Azure Migrate を使用して Hyper-V VM を Azure Stack HCI に移行するときに発生する可能性のある問題をトラブルシューティングする方法について説明します。
重要
現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
必要なサービスが実行されているかどうかを確認する
次のサービスが実行されていることを確認して、ソース アプライアンス VM とターゲット アプライアンス VM に正常な構成があることを確認します。
管理者として PowerShell を開き、ソース アプライアンスとターゲット アプライアンスのかっこで囲まれた各サービスに対して次のコマンドを実行して、それらが実行されていることを確認します。
Get-Service -Name <name_of_service>
ソース アプライアンス VM で、次の操作を行います。
- Microsoft Azure Gateway Service (asrgwy)
- Microsoft Azure Hyper-V Discovery Service (amhvdiscoverysvc)
- Azure Site Recovery 管理サービス (asrmgmtsvc)
ターゲット アプライアンス VM で、次の操作を行います。
- Microsoft Azure Gateway Service (asrgwy)
- Azure Site Recovery 管理サービス (asrmgmtsvc)
構成データは C:\ProgramData\Microsoft Azure\Config にあります。
ログと情報を収集する
問題が発生した場合は、サポート チケットを開く前に、問題に関する次の情報を収集し、分析のためにMicrosoft サポート チームと共有してください。
- Azure Migrate アプライアンスからのログ
- 問題またはフィードバックの説明
- サブスクリプション ID
- テナント ID
- Azure Migrate プロジェクトの名前
- Azure Migrate プロジェクトのリージョンまたは地域
- レプリケーションと移行に関する問題の VM 名
- デプロイまたはジョブ ID の関連付け ID
次のセクションでは、操作または問題の種類に基づいてこの情報を収集する方法について説明します。
Azure portalからのユーザーによってトリガーされた操作の場合
ユーザーによってトリガーされた操作のトラブルシューティングを行うには、関連付け ID またはジョブ ID が必要です。
デプロイの関連付け ID を取得する
移行プロジェクトの作成または削除、アプライアンス成果物、エンティティ、ストレージ アカウントの作成などの操作の失敗は、移行プロジェクト リソース グループの [デプロイ] セクションにエラーとして表示されます。 各デプロイ操作には、トラブルシューティングに役立つ 関連付け ID もあります。
さらに、セッションで失敗した操作は、通知として、または古い履歴のアクティビティ ログに表示されます。
次の手順に従って、Azure portalでデプロイの関連付け ID を特定します。
Azure Migrate プロジェクトのリソース グループに移動し、[ 概要] に移動します。 右側のウィンドウで、失敗したデプロイと成功したデプロイを示すハイパーリンクを選択します。
関連付け ID が必要なデプロイを特定し、デプロイ名を選択します。
関連付け ID を見つけます。
レプリケーションまたは移行のジョブ ID を取得する
保護された項目の作成と削除 (レプリケーションの作成と削除とも呼ばれます) や計画フェールオーバー (移行とも呼ばれます) などの操作は、ポータルの Azure Stack HCI 移行セクションにも [ジョブ] と表示されます。
このような場合は、 ジョブ ID も 収集する必要があります。
ジョブ ID を取得するには、次の手順に従います。
Azure portalの Azure Migrate プロジェクトで、[移行ツール] の [概要] に移動します。
左側のウィンドウで、 Azure Stack HCI 移行 > ジョブに移動します。
ジョブ ID が必要なジョブを特定し、ジョブ名を選択します。
ジョブ ID を見つけます。
スケジュールされたレプリケーション操作の場合
時間単位のレプリケーション サイクルエラーなどのスケジュールされた操作の失敗は、ポータルの Azure Stack HCI 移行セクションの [ イベント ] として一覧表示されます。
レプリケーションの問題をトラブルシューティングするには、次の情報を収集します。
- Time、Error ID、Error message、VM ID を含むイベントに表示されるエラーの詳細。
- 可能な場合はAzure portalのスクリーンショット。
ポータルでの UX の問題の場合
ポータルで UX の問題をトラブルシューティングするには、次の情報を収集します。
- Azure portalのスクリーンショット。
- ブラウザー開発者モードで操作を記録します。 HAR ファイルをエクスポートして共有します。
アプライアンス登録の問題について
アプライアンス登録の問題のトラブルシューティングを行うには、次の情報を収集します。
- アプライアンスで使用可能なすべてのログ (C:\ProgramData\MicrosoftAzure\Logs)。
検出の問題の場合
検出の問題をトラブルシューティングするには、次の情報を収集します。
- ソース アプライアンスのすべての使用可能なログ (C:\ProgramData\MicrosoftAzure\Logs\HyperV\Discovery)。
詳細については、「検出の トラブルシューティング」を参照してください。
特別な問題の場合
必要に応じて、Microsoft サポートはコンポーネント イベント ビューアー ログ、または Hyper-V ログや SMB ログなどのシステム イベント ログを要求することもできます。
よくある問題と解決策
Azure Migrate プロジェクトの作成が失敗する
根本原因
Azure サブスクリプションが Azure Migrate に登録されていない場合、またはユーザーがプロジェクトを作成するために必要なアクセス許可を持っていない場合、Azure Migrate プロジェクトの作成は失敗します。
推奨される解決策
次の点を確認します。
- Azure AD テナントに 対するアプリケーション管理者 ロールがあることを確認します。
- Azure サブスクリプションに 共同作成者 ロールと ユーザー アクセス管理者 ロールがあることを確認します。
- Azure Migrate プロジェクトの作成でサポートされているリージョンのいずれかを選択していることを確認します。 サポートされているリージョンの一覧については、「 サポートされている地域」を参照してください。
ソース アプライアンス Configuration Managerからターゲット クラスター情報を削除または変更することはできません。
根本原因ソース アプライアンス Configuration Managerで情報を指定する場合、一度入力するとターゲット クラスター名を変更することはできません。
推奨される解決策ソース アプライアンス Configuration Managerからターゲット クラスターを削除または変更するには、次の手順に従います。
ソース アプライアンスで、エクスプローラーを開きます。 C:\ProgramData\Microsoft Azure\CredStore に移動し、TargetClusterCredentials.jsonを削除します。
アプライアンス Configuration Managerを再読み込みすると、ターゲット クラスターの新しい値を入力できます。
注意
レプリケーションを開始した場合、この回避策はお勧めしません。
この回避策は、アプライアンスが登録されていない場合にのみ使用できます。 アプライアンスが登録されている場合は、プロジェクトからアプライアンスを削除する必要があります。 その後、新しいプロジェクト キーを生成し、アプライアンスを再インストールする必要があります。
ターゲット アプライアンスの登録が失敗する
根本原因
ターゲット アプライアンス登録が失敗します。
推奨される解決策
ページを更新して、もう一度登録してみてください。
アプライアンスの問題を対象とする
根本原因
場合によっては、プロジェクトからターゲット アプライアンスを削除することが必要になる場合があります。 たとえば、アプライアンスを別のサブスクリプションまたはリージョンに移動する場合です。 そのためには、ターゲット アプライアンスを削除し、新しいサブスクリプションまたはリージョンに新しいものを作成する必要があります。
推奨される解決策
プロジェクトからターゲット アプライアンスを削除するには、次の手順に従います。
PowerShell を管理者として実行します。
次のコマンドを実行して、アプライアンスを削除します。
.\AzureMigrateInstaller.ps1 -RemoveAzMigrate
VM レプリケーションが失敗する
根本原因
VM のレプリケーションは、次の 1 つ以上の理由で失敗する可能性があります。
- クラスター共有ボリュームまたはストレージ コンテナーがいっぱいです。
- VM の可用性は高くありません。 レプリケーションと移行のために検出するには、すべての VM が高可用性クラスター化されている必要があります。 VM が高可用性でない場合、これらは一覧に表示されず、移行のために除外されます。
推奨される解決策
レプリケーションと移行を有効にするには、クラスター共有ボリュームまたはストレージ コンテナーに十分な領域があることを確認します。
また、HA 以外の VM を移行するには、次の手順に従います。
- まず、VM を高可用性にする必要があります。 詳細については、「 Hyper-V VM を高可用性にする」を参照してください。
- 検出エージェントがデータを同期するまで待ちます。
または、Azure Migrate に移動し、[ 更新 ] を選択して サーバー、データベース、Web アプリ を手動で更新し、検出エージェントの同期を迅速化します。
レプリケーションまたは移行が失敗し、エラー値を null にすることはできません
根本原因
レプリケーションまたは移行が失敗し、次のエラー メッセージが表示されます。
値を null にすることはできません。 パラメーター名: FetchingHyperVDiskPropertiesFailed
。
コンポーネントは、ソース Hyper-V ホストからディスク のプロパティをフェッチできません。 これは、基になるクラスター仮想ディスクがオフラインの場合、またはディスクが正常な状態でない場合に発生する可能性があります。
推奨される解決策
クラスター ディスクが動作していることを確認し、ディスク のプロパティをフェッチできることを確認します。
ソース アプライアンスで、管理者として PowerShell を実行します。 のコンテンツを実際の値に置き換えた後、 {} 次の手順を実行します。
$ImageMgmtService = Get-WmiObject -Class "Msvm_ImageManagementService" -Namespace "root\virtualization\v2" -ComputerName "{HyperVHostOwningTheVM}" -Credential {$CredentialsToHyperVHost} $ImageMgmtService.GetVirtualHardDiskSettingData("{DiskPathShownInTheMessage}").
返される出力で、プロパティと
ParentPath
XML 内のSettingData
がMaxInternalSize
適切であることを確認します。
移行された VM 上のディスクがオフラインである
根本原因
移行された Windows VM 上のディスクがオンラインでない可能性があります。
移行によって新しい VHD/VHDX が作成され、移行された VM 上の Windows OS 用の新しいディスクが作成されます。 OS はこれを新しいドライブと見なし、SAN ポリシーを適用します。 OS は共有ディスクと見なされるため、ディスクをオンラインにしません。
推奨される解決策
この問題を回避するには、次のいずれかのオプションを選択します。
移行された Windows VM の場合は、SAN ポリシーを として
OnlineAll
設定します。 VM を再起動します。 これにより、すべてのディスクがオンラインになります。 詳細な手順については、ディスクを オンラインにする SAN ポリシーを構成する方法に関するページを参照してください。移行された VM でドライブを手動でオンラインにします。
移行が失敗し、スナップショットエラーを削除できない
根本原因
次のエラーが原因で移行できません。
エラー: ID を持つスナップショットを削除できませんでした
システムでの Hyper-V VM の手動操作が同じエラーで失敗し、このサーバーで VM に対する手動操作を実行できませんでした。
推奨される解決策
このエラーを軽減するには、VM が動作していることを確認します。
ソース アプライアンスに接続し、移行がスムーズになるように次の手順を試してください。
エラー情報で VM ID を取得します。
$VmId= '146a690f-2e88-4c54-a662-c4e7da70b5e9'
get-VM が正常に動作し、ソース アプライアンスから情報が返されていることを確認します。
Get-VM -Id $VmId
get-VHD が正常に動作し、正しい情報が返されていることを確認します。
Get-VHD -VMId $VmId
スナップショット作成操作が失敗する場合は、VM で手動スナップショットの作成が正常に動作していることを確認します。
Get-VM -Id $VmId | Checkpoint-VM
スナップショット削除操作が失敗した場合は、VM で手動スナップショット削除が正常に動作していることを確認します。
Get-VMCheckpoint -Id "TemporarilyCreatedCheckpointIdGuid" | Remove-VMSnapshot
Hyper-V ホストで VM をオフにできない
根本原因
計画フェールオーバー中に、WMI 呼び出しを介してソース Hyper-V ホストで VM がオフになります。 エラー ID: 1000001またはエラー メッセージが表示されます。 内部エラーが発生しました。
推奨される解決策
PowerShell を使用して、ソース Hyper-V ホストで VM を手動でオフにすることができます。
# Replace Guid '146..' In below command with actual VM ID.
$Vm = Get-WmiObject -Namespace root\virtualization\v2 -Query "Select * From Msvm_ComputerSystem Where Name ='146a690f-2e88-4c54-a662-c4e7da70b5ef'"
$ShutdownIC = Get-WmiObject -Namespace root\virtualization\v2 -Query "Associators of {$Vm} Where AssocClass=Msvm_SystemDevice ResultClass=Msvm_ShutdownComponent"
$ShutdownIC.InitiateShutdown("TRUE", "Need to shutdown")
次の手順
移行のフェーズによっては、次のいずれかの記事を確認して問題のトラブルシューティングを行う必要があります。