Avamar:孤立したHyper-V vmgroupの手動クリーンアップ
Summary: KB記事では、さまざまな方法を使用して孤立したHyper-V vmgroupを削除する詳細な手順について説明します。
Instructions
孤立した状態が原因でHyper-Vバックアップが失敗することがある vmgroups 次のようなメッセージが表示されます。
avhypervvss Info <0000>: Exception! WMI API returned error: 'The method call failed.' avhypervvss Info <0000>: WMI API RemoveMember returned Error! Exception in removing VMGroup Memeber 'PPDM01' from VM Group AvamarBackup_HYPERV10-app-20240301180052-0 and error message is 'The method call failed.'. avhypervvss Info <0000>: Exception in Removing VM 'PPDM01' from group 'AvamarBackup_HYPERV10-app-20240301180052-0' with error 'The method call failed.'. avhypervvss Info <0000>: Failed to RemoveVMGroupMember for groupname AvamarBackup_HYPERV10-app-20240301180052-0.
avhypervvss Info < 43394 >: Checking for Stale entries from previous backup. avhypervvss Error < 43417 >: Failed to cleanup Stale checkpoint entries for the targets
孤立したレジリエントな変更追跡(RCT)エクステントとバックアップの失敗は、バックアップ中に仮想マシン(VM)を別のクラスター ノードにLive Migrateすると発生する可能性があります。
Hyper-V 仮想マシン (VM) が特定のクラスター ノードに存在する場合、そのノードの仮想マシン グループ (vmgroup)をバックアップ中に実行します。バックアップ中にVM Live Migrateが別のクラスター ノードに移行された場合でも、ソース ノード上にvmgroupメンバーとして存在します。バックアップが終了する前に、Windowsオペレーティング システムは vmgroups すべてのクラスター ノード上。
以前にライブ マイグレーションされたVMが元のソース ノードで実行されていない場合、Windowsオペレーティング システムはvmgroupの削除に失敗します。この孤立した vmgroup 結果として、後続のHyper-Vバックアップが失敗する可能性があります。
手動クリーンアップ手順を実行する前に、以下のMicrosoft URLを確認してください。次のKB記事では、環境要因によるLive Migrationの失敗に対処する可能性のあるソリューションについて説明します。
- https://learn.microsoft.com/en-us/troubleshoot/windows-server/virtualization/troubleshoot-live-migration-issues (外部リンク)
get-vmgroup
孤立を確認するには vmgroup すべてのクラスター ノードで同時に、PowerShellで次のコマンドを実行します(管理者として実行)。
Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup }
孤立した vmgroupsの場合、出力は次のようになります。
PS C:\> get-vmgroup
Name : AvamarBackup_Win2019-H4-crash-20240311112148-0
InstanceId : 416dd21c-e8b7-4f9e-8359-c78068cc0c69
GroupType : VMCollectionType
VMMembers : {win7-cl2}
VMGroupMembers :
CimSession : CimSession: .
ComputerName : WIN2019-H1
IsDeleted : False
Name : AvamarBackup_Win2019-H2-crash-20240311112148-0
InstanceId : 88c419c0-ceb8-46d2-af17-6560c55e0d06
GroupType : VMCollectionType
VMMembers : {}
VMGroupMembers :
CimSession : CimSession: .
ComputerName : WIN2019-H1
IsDeleted : False
I. 標準の vmgroup 削除手順
孤立したものをすべて削除するには vmgroups スタンドアロンHyper-V Serverで、PowerShellで次のコマンドを実行します(管理者として実行)。
Get-VMGroup | remove-vmgroup Get-VMGroup | remove-vmgroup -Force
vmgroups すべてのHyper-Vクラスター ノードで、PowerShellで次のコマンドを実行します(管理者として実行)。
Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup | remove-vmgroup }
Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup | remove-vmgroup -Force }
上記のコマンドが失敗した場合は、次の PowerShell スクリプト (VMGrpCln.ps1)を使用して自動化します vmgroup すべてのクラスター ノードからの削除:
スクリプトのダウンロード:
スクリプトの検索とダウンロードについては、次の記事を参照してください:Avamar:Dell Central AvamarページからAvamarスクリプトとツールを検索してダウンロードする方法
- PowerShellスクリプトを次のようなディレクトリーにダウンロードします。
"C:\temp"クラスター内のいずれかのノードで。 - PowerShellプロンプトを開き(管理者として実行)、PowerShell (PS)スクリプトを含むディレクトリーに変更します。
- PowerShellで次のコマンドを入力して、WindowsサーバーでPSスクリプトの実行が許可されていることを確認します(管理者として実行)。
Get-ExecutionPolicy
出力に "Restricted" または "Allsigned," 次に、次の PowerShell コマンド (管理者として実行) を実行して、現在のセッションで PS スクリプトの実行を一時的に許可します。
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
4.PSスクリプトが置かれているディレクトリーからPSスクリプトを実行します。
これらのコマンドまたはスクリプトで孤立した vmgroupsの場合、次のステップは孤立したグループを手動で削除することです。
II vmgroupの手動削除手順
vmgroups は、各クラスタノードのローカルディレクトリにあります(C:\ProgramData\Microsoft\Windows\Hyper-V\Groups)を提供する必要があります。
Avamar:Hyper-V VSSプラグイン - バージョン19.4以降の最新の累積ホットフィックスの構成とインストール
「共有ストレージ パス」パラメーターが構成されているHyper-Vクラスターの場合、これらの手順は適用されません。さらにトラブルシューティングを行う場合は、カスタマー サポートにお問い合わせください
ステップ# 1: 各Hyper-Vクラスター ノードで次のコマンドを実行します。
get-VMGroup
または、次のコマンドを実行して、 vmgroups 各クラスター ノードから:
Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup }
ステップ#2a: VMMembersフィールドが入力されている場合は、各クラスター ノードで次のコマンドを実行します。
Get-VMGroup | % {Remove-VMGroupMember -VMGroup $_ -VM (Get-VM)}
ステップ#2b: VMMembersが設定されていない場合:
- 次の場所にアクセスします。
C:\ProgramData\Microsoft\Windows\Hyper-V\Groupsフォルダーに含まれます。Windowsエクスプローラーで場所を手動で入力するか、隠しファイルと隠しフォルダーを表示するオプションを変更します。 - 仮想マシン構成ファイルの編集
"*.vmcx"VMグループのInstanceIDが、NotepadやNotepad++などのテキスト エディターと一致します。メニューバーの[表示]をクリックし、読みやすくするために[ワードラップ]オプションを選択します。 - 仮想マシン(VM)のグローバル一意識別子(GUID)をテキスト エディターにコピーします。彼らは次の通りです。
'GUID H'テキスト*.vmcxファイルで定義)を使用することが重要です。 - テキスト エディターで、[編集]をクリックし、[置換]をクリックします。次に、
'Find what'フィールドで、キーボードのスペースバーを押してから、 'Replace All.'このクリーンアップにより、以前のクラスター ノードにライブ マイグレーションして戻す必要がある、問題のあるVM GUIDの一覧が表示されます。 - 次の PowerShell コマンドを実行して、これらの GUID に関連付けられている VM と、それをホストしているクラスター ノードを検索します。
Invoke-Command -ComputerName (Get-ClusterNode).Name -ScriptBlock { Get-VM | ? VMID -eq "VM GUID Previously Collected" }
たとえば、次のコマンド構文を使用して、次のGUIDに割り当てられている仮想マシン(VM)名を検索します。
Invoke-Command -ComputerName (Get-ClusterNode).Name -ScriptBlock { Get-VM | ? VMID -eq "A6209559-F08F-440E-9AAE-21AEF4AF7E9D" }
コマンドの出力には、VM名と、それが実行されているクラスター ノードが含まれている必要があります。出力が空白の場合、GUIDは存在しなくなり、無視しても問題ありません。
6.フェールオーバー クラスター マネージャー ツールを使用して、古いVMグループを持つホストにVMをライブ移行します。
で特定された各VMについて、手順を繰り返します vmgroup's "*.vmcx" ファイルで定義)を使用することが重要です。
7.次の PowerShell コマンドを実行して、孤立した各 vmgroup の [VMMembers] フィールドから VM を削除します。
Get-VMGroup | % {Remove-VMGroupMember -VMGroup $_ -VM (Get-VM)}
'vmmembers' フィールドを vmgroups 各クラスター ノードで次のコマンドを実行して空白にします。
get-vmgroup
または、次のコマンドを実行して、すべての「vmmembers」フィールドが空白であることを確認します vmgroups すべてのノードで、次の手順を実行します。
Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup }
確認したら、ステップ#3に進みます。
ステップ#3: 次の PowerShell コマンドを実行して、孤立した vmgroups クラスター ノードまたはスタンドアロンHyper-V Serverで、次の手順を実行します。
get-VMGroup | Remove-VMGroup
孤立した他のクラスター ノードについても同じ手順を繰り返します vmgroups.
または、次のコマンドを使用して、すべてのクラスター ノード上の孤立した vmgroup を同時に削除します。
Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup | remove-vmgroup }
すべてのノードが完了したら、すべての孤立したノードを確認します vmgroups 削除されました:
Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup }
「 "remove-vmgroupmember" と "remove-vmgroup" 最初のクラスター ノードでコマンドが失敗し、次のようなエラーが発生することがあります。
Remove-VMGroup : The operation cannot be performed while the object is in its current state
その場合は、残りのクラスター ノードでコマンドを試します。手順が正常に完了した場合は、最初のノードに戻り、PowerShellコマンドを再試行します。
上記のコマンドがすべてのクラスター ノードで失敗した場合は、影響を受けるノードでHyper-V Virtual Machine Managementサービスを再起動します。または、各Hyper-Vクラスター ノードを再起動します。完了したら、PowerShellコマンドを再試行してVMメンバーと vmgroups.
標準または手動の手順で孤立した vmgroups、最後のオプションは、 vmgroup ファイル自体。
Additional Information
参照:
回復チェックポイントの結果として、ホスト間のHyper-V Live Migrationが失敗する可能性があります。
Avamar Hyper-V増分RCTバックアップが「ディスク ファイルのRCTエクステントの取得に失敗しました」または「仮想マシンの参照ポイントの作成に失敗しました」というエラーで失敗する