16.2. Red Hat サポート用のデータ収集
Red Hat サポートに サポートケース を送信するときは、次のツールを使用して、OpenShift Container Platform および OpenShift Virtualization のデバッグ情報を提供すると役立ちます。
- must-gather ツール
 - 
							
must-gatherツールは、リソース定義やサービスログなどの診断情報を収集します。 - Prometheus
 - Prometheus は時系列データベースであり、メトリクスのルール評価エンジンです。Prometheus は処理のためにアラートを Alertmanager に送信します。
 - Alertmanager
 - Alertmanager サービスは、Prometheus から送信されるアラートを処理します。また、Alertmanager は外部の通知システムにアラートを送信します。OpenShift Container Platform モニタリングスタックの詳細は、OpenShift Container Platform モニタリングについて を参照してください。
 
16.2.1. 環境に関するデータの収集 リンクのコピーリンクがクリップボードにコピーされました!
環境に関するデータを収集すると、根本原因の分析および特定に必要な時間が最小限に抑えられます。
前提条件
- Prometheus メトリクスデータの保持期間を最低 7 日間に設定 する。
 - 関連するアラートをキャプチャーし、アラート通知を専用のメールボックスに送信するように Alertmanager を設定 して、クラスターの外部でアラートを表示および保持できるようにする。
 - 影響を受けるノードおよび仮想マシンの正確な数を記録する。
 
16.2.2. 仮想マシンに関するデータの収集 リンクのコピーリンクがクリップボードにコピーされました!
仮想マシン (VM) の誤動作に関するデータを収集することで、根本原因の分析および特定に必要な時間を最小限に抑えることができます。
前提条件
- Linux VM: 最新の QEMU ゲストエージェントをインストール します。
 Windows 仮想マシン:
- Windows パッチ更新の詳細を記録します。
 - 最新の VirtIO ドライバーをインストール します。
 - 最新の QEMU ゲストエージェントをインストール します。
 - Remote Desktop Protocol (RDP) が有効になっている場合は、デスクトップビューアー を使用して接続し、接続ソフトウェアに問題があるかどうかを確認します。
 
手順
- 
							
/usr/bin/gatherスクリプトを使用して、VM の必須収集データを収集 します。 - VM を再起動する 前 に、クラッシュした VM のスクリーンショットを収集します。
 - 修復を試みる 前 に、VM からメモリーダンプを収集 します。
 - 誤動作している仮想マシンに共通する要因を記録します。たとえば、仮想マシンには同じホストまたはネットワークがあります。
 
16.2.3. OpenShift Virtualization の must-gather ツールの使用 リンクのコピーリンクがクリップボードにコピーされました!
					OpenShift Virtualization イメージで must-gather コマンドを実行することにより、OpenShift Virtualization リソースに関するデータを収集できます。
				
デフォルトのデータ収集には、次のリソースに関する情報が含まれています。
- 子オブジェクトを含む OpenShift Virtualization Operator namespace
 - すべての OpenShift Virtualization カスタムリソース定義
 - 仮想マシンを含むすべての namespace
 - 基本的な仮想マシン定義
 
現在、インスタンスタイプの情報はデフォルトでは収集されません。ただし、オプションでコマンドを実行して収集することもできます。
前提条件
- 
							OpenShift CLI (
oc) がインストールされている。 
手順
以下のコマンドを実行して、OpenShift Virtualization に関するデータを収集します。
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \ -- /usr/bin/gather
$ oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \ -- /usr/bin/gatherCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
16.2.3.1. must-gather ツールオプション リンクのコピーリンクがクリップボードにコピーされました!
						oc adm must-gather コマンドを実行すると、必要なイメージを明示的に指定しなくても、クラスターにデプロイされているすべての Operators および製品の must gather イメージを収集できます。あるいは、次のオプションに対してスクリプトと環境変数の組み合わせを指定することもできます。
					
- namespace から詳細な仮想マシン (VM) 情報の収集する
 - 特定の仮想マシンに関する詳細情報の収集
 - image、image-stream、および image-stream-tags 情報の収集
 - 
								
must-gatherツールが使用する並列プロセスの最大数の制限 
16.2.3.1.1. パラメーター リンクのコピーリンクがクリップボードにコピーされました!
環境変数
互換性のあるスクリプトの環境変数を指定できます。
NS=<namespace_name>- 
										指定した namespace から 
virt-launcherPod の詳細を含む仮想マシン情報を収集します。VirtualMachineおよびVirtualMachineInstanceCR データはすべての namespace で収集されます。 VM=<vm_name>- 
										特定の仮想マシンに関する詳細を収集します。このオプションを使用するには、
NS環境変数を使用して namespace も指定する必要があります。 PROS=<number_of_processes>must-gatherツールが使用する並列処理の最大数を変更します。デフォルト値は5です。重要並列処理が多すぎると、パフォーマンスの問題が発生する可能性があります。並列処理の最大数を増やすことは推奨されません。
スクリプト
各スクリプトは、特定の環境変数の組み合わせとのみ互換性があります。
/usr/bin/gather- 
										デフォルトの 
must-gatherスクリプトを使用します。すべての namespace からクラスターデータが収集され、基本的な仮想マシン情報のみが含まれます。このスクリプトは、PROS変数とのみ互換性があります。 /usr/bin/gather --vms_details- 
										OpenShift Virtualization リソースに属する VM ログファイル、VM 定義、コントロールプレーンログ、および namespace を収集します。namespace の指定には、その子オブジェクトが含まれます。namespace または仮想マシンを指定せずにこのパラメーターを使用する場合、
must-gatherツールはクラスター内のすべての仮想マシンについてこのデータを収集します。このスクリプトはすべての環境変数と互換性がありますが、VM変数を使用する場合は namespace を指定する必要があります。 /usr/bin/gather --images- 
										image、image-stream、および image-stream-tags カスタムリソース情報を収集します。このスクリプトは、
PROS変数とのみ互換性があります。 /usr/bin/gather --instancetypes- インスタンスタイプの情報を収集します。この情報は現在、デフォルトでは収集されません。ただし、オプションで収集することもできます。
 
16.2.3.1.2. 使用方法および例 リンクのコピーリンクがクリップボードにコピーされました!
環境変数はオプションです。スクリプトは、単独で実行することも、1 つ以上の互換性のある環境変数を使用して実行することもできます。
| スクリプト | 互換性のある環境変数 | 
|---|---|
|   
											  |   
											*   | 
|   
											  |   
											* namespace の場合:  
											* 仮想マシンの場合:  
											*   | 
|   
											  |   
											*   | 
構文
								クラスター上のすべての Operator と製品の must-gather ログを 1 回のパスで収集するには、次のコマンドを実行します。
							
oc adm must-gather --all-images
$ oc adm must-gather --all-images
							個々の must-gather イメージに追加のパラメーターを渡す必要がある場合は、次のコマンドを使用します。
						
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \ -- <environment_variable_1> <environment_variable_2> <script_name>
$ oc adm must-gather \
  --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \
  -- <environment_variable_1> <environment_variable_2> <script_name>
デフォルトのデータ収集の並列プロセス
デフォルトでは、5 つのプロセスを並行して実行します。
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \ -- PROS=5 /usr/bin/gather
$ oc adm must-gather \
  --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \
  -- PROS=5 /usr/bin/gather 
- 1
 - デフォルトを変更することで、並列プロセスの数を変更できます。
 
詳細な仮想マシン情報
								次のコマンドは、mynamespace namespace にある my-vm 仮想マシンの詳細な仮想マシン情報を収集します。
							
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \ -- NS=mynamespace VM=my-vm /usr/bin/gather --vms_details
$ oc adm must-gather \
  --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \
  -- NS=mynamespace VM=my-vm /usr/bin/gather --vms_details 
- 1
 VM環境変数を使用する場合、NS環境変数は必須です。
image、image-stream、および image-stream-tags 情報
以下のコマンドは、クラスターからイメージ、image-stream、および image-stream-tags 情報を収集します。
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \ /usr/bin/gather --images
$ oc adm must-gather \
  --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \
  /usr/bin/gather --images
インスタンスタイプの情報
次のコマンドは、クラスターからインスタンスタイプ情報を収集します。
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \ /usr/bin/gather --instancetypes
$ oc adm must-gather \
  --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.0 \
  /usr/bin/gather --instancetypes
16.2.4. 仮想マシンメモリーダンプの生成 リンクのコピーリンクがクリップボードにコピーされました!
					仮想マシン (VM) が予期せず終了した場合は、virtctl memory-dump を使用してメモリーダンプコマンドを生成し、仮想マシンメモリーダンプを出力して永続ボリューム要求 (PVC) に保存できます。その後、メモリーダンプを分析して、仮想マシン上の問題を診断およびトラブルシューティングできます。
				
前提条件
HyperConvergedカスタムリソースでホットプラグフィーチャーゲートが有効化されている。これには以下のコマンドを実行します。oc patch hyperconverged kubevirt-hyperconverged -n openshift-cnv \ --type json -p '[{"op": "add", "path": "/spec/featureGates", \ "value": "HotplugVolumes"}]'$ oc patch hyperconverged kubevirt-hyperconverged -n openshift-cnv \ --type json -p '[{"op": "add", "path": "/spec/featureGates", \ "value": "HotplugVolumes"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: メモリーダンプを保存する既存の PVC がある。
- 
									PVC ボリュームモードは 
FileSystemである必要があります。 PVC は、メモリーダンプを格納するのに十分な大きさである必要があります。
PVC サイズの計算式は
(VMMemorySize + 100Mi) * FileSystemOverheadです。ここで、100Miはメモリーダンプのオーバーヘッドで、FileSystemOverheadはHCOオブジェクトで定義されています。
- 
									PVC ボリュームモードは 
 
手順
必要な仮想マシンのメモリーダンプを作成します。
メモリーダンプを保存する既存の PVC を選択している場合:
virtctl memory-dump get <vm_name> --claim-name=<pvc_name>
$ virtctl memory-dump get <vm_name> --claim-name=<pvc_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow メモリーダンプ用に新しい PVC を作成する場合:
virtctl memory-dump get <vm_name> --claim-name=<new_pvc_name> --create-claim
$ virtctl memory-dump get <vm_name> --claim-name=<new_pvc_name> --create-claimCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
メモリーダンプをダウンロードします。
virtctl memory-dump download <vm_name> --output=<output_file>
$ virtctl memory-dump download <vm_name> --output=<output_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow メモリーダンプを Red Hat サポートケースに添付します。
または、たとえば volatility3 ツール を使用して、メモリーダンプを検査することもできます。
オプション: メモリーダンプを削除します。
virtctl memory-dump remove <vm_name>
$ virtctl memory-dump remove <vm_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow