15.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 モニタリングについて を参照してください。
15.2.1. 環境に関するデータの収集 リンクのコピーリンクがクリップボードにコピーされました!
環境に関するデータを収集すると、根本原因の分析および特定に必要な時間が最小限に抑えられます。
前提条件
- Prometheus メトリクスデータの保持期間を最低 7 日間に設定 する。
- 関連するアラートをキャプチャーし、アラート通知を専用のメールボックスに送信するように Alertmanager を設定 して、クラスターの外部でアラートを表示および保持できるようにする。
- 影響を受けるノードおよび仮想マシンの正確な数を記録する。
15.2.2. 仮想マシンに関するデータの収集 リンクのコピーリンクがクリップボードにコピーされました!
仮想マシン (VM) の誤動作に関するデータを収集することで、根本原因の分析および特定に必要な時間を最小限に抑えることができます。
前提条件
- Linux VM: 最新の QEMU ゲストエージェントをインストール します。
Windows 仮想マシン:
- Windows パッチ更新の詳細を記録します。
- 最新の VirtIO ドライバーをインストール します。
- 最新の QEMU ゲストエージェントをインストール します。
- Remote Desktop Protocol (RDP) が有効になっている場合は、デスクトップビューアー を使用して接続し、接続ソフトウェアに問題があるかどうかを確認します。
手順
-
/usr/bin/gatherスクリプトを使用して、VM の必須収集データを収集 します。 - VM を再起動する 前 に、クラッシュした VM のスクリーンショットを収集します。
- 修復を試みる 前 に、VM からメモリーダンプを収集 します。
- 誤動作している仮想マシンに共通する要因を記録します。たとえば、仮想マシンには同じホストまたはネットワークがあります。
15.2.3. OpenShift Virtualization の must-gather ツールの使用 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Virtualization イメージで must-gather コマンドを実行することにより、OpenShift Virtualization リソースに関するデータを収集できます。
デフォルトのデータ収集には、次のリソースに関する情報が含まれています。
- 子オブジェクトを含む OpenShift Virtualization Operator namespace
- すべての OpenShift Virtualization カスタムリソース定義
- 仮想マシンを含むすべての namespace
- 基本的な仮想マシン定義
オプションの環境詳細およびスクリプトを must-gather コマンドに追加し、追加情報を収集できます。これらの環境変数およびスクリプトを使用して、特定の仮想マシン、イメージ、またはインスタンスタイプに関するデータを収集します。
前提条件
-
OpenShift CLI (
oc) がインストールされている。
手順
must-gatherコマンドを実行して、OpenShift Virtualization に関するデータを収集します。oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.1 \ -- /usr/bin/gather
$ oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.1 \ -- /usr/bin/gatherCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記次のコマンドを実行して、クラスター上のすべての Operator および製品の
must-gatherログを収集することもできます。oc adm must-gather --all-images
$ oc adm must-gather --all-imagesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
must-gatherデータを収集する際に並行して実行されているプロセスの数を変更します。oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.1 \ -- PROS=<number> /usr/bin/gather
$ oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.1 \ -- PROS=<number> /usr/bin/gatherCopy to Clipboard Copied! Toggle word wrap Toggle overflow PROSは、データを収集するために実行される並列プロセスの数を定義します。デフォルトのプロセス数は 5 です。プロセスの数を増やすと、データ収集が速くなる可能性がありますが、より多くのリソースを使用します。並列処理の最大数を増やすことは推奨されません。次のコマンドを実行して、特定の namespace 内の特定の仮想マシンに関する詳細情報を収集します。
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.1 \ -- NS=<namespace name> VM=<VM name> /usr/bin/gather --vms_details
$ oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.1 \ -- NS=<namespace name> VM=<VM name> /usr/bin/gather --vms_detailsCopy to Clipboard Copied! Toggle word wrap Toggle overflow NSはnamespaceの環境変数です。VM環境変数を使用する場合は必須です。以下のコマンドを実行して、クラスターから image、image-stream、および image-stream-tags 情報を収集します。
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.1 \ /usr/bin/gather --images
$ oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.1 \ /usr/bin/gather --imagesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、クラスターからインスタンスタイプに関する情報を収集します。
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.1 \ /usr/bin/gather --instancetypes
$ oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.1 \ /usr/bin/gather --instancetypesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.3.1. must-gather ツールオプション リンクのコピーリンクがクリップボードにコピーされました!
オプションのパラメーターを must-gather コマンドに追加して、デフォルトで must-gather が収集するもの以外の追加情報を収集できます。
次のオプションに対して、スクリプトおよび環境変数の組み合わせを指定できます。
- namespace から詳細な仮想マシン (VM) 情報の収集する
- 特定の仮想マシンに関する詳細情報の収集
- image、image-stream、および image-stream-tags 情報の収集
-
must-gatherツールが使用する並列プロセスの最大数の制限
15.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です。重要並列処理が多すぎると、パフォーマンスの問題が発生する可能性があります。並列処理の最大数を増やすことは推奨されません。
15.2.3.1.2. スクリプト リンクのコピーリンクがクリップボードにコピーされました!
各スクリプトは、特定の環境変数の組み合わせとのみ互換性があります。
/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- インスタンスタイプの情報を収集します。この情報は現在、デフォルトでは収集されません。ただし、オプションで収集することもできます。
15.2.3.1.3. 使用方法および例 リンクのコピーリンクがクリップボードにコピーされました!
スクリプトは、単独で実行することも、1 つ以上の互換性のある環境変数を使用して実行することもできます。
オプションパラメーターを使用した must-gather 構文
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.20.1 \ -- <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.1 \
-- <environment_variable_1> <environment_variable_2> <script_name>
| スクリプト | 互換性のある環境変数 |
|---|---|
|
|
* |
|
|
* namespace の場合:
* 仮想マシンの場合:
* |
|
|
* |
15.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