第2章 must-gather を使用したログファイルおよび診断情報のダウンロード
Red Hat OpenShift Data Foundation が問題を自動的に解決できない場合、must-gather
ツールを使用してログファイルと診断情報を収集し、お客様または Red Hat サポートが問題を確認し、解決策を判別できるようにします。
Red Hat OpenShift Data Foundation が外部モードでデプロイされる場合、must-gather
は OpenShift Data Foundation クラスターからのみログを収集し、外部の Red Hat Ceph Storage クラスターからデバッグデータおよびログを収集しません。外部の Red Hat Ceph Storage クラスターからデバッグログを収集するには、Red Hat Ceph Storage の トラブルシューティングガイド を参照するか、Red Hat Ceph Storage の管理者にお問い合わせください。
前提条件
オプション: OpenShift Data Foundation が非接続環境にデプロイされている場合、個別の
must-gather
イメージを非接続環境で利用できるミラーレジストリーにミラーリングするようにしてください。$ oc image mirror registry.redhat.io/odf4/odf-must-gather-rhel9:v4.15 <local-registry>/odf4/odf-must-gather-rhel9:v4.15 [--registry-config=<path-to-the-registry-config>] [--insecure=true]
<local-registry>
- 非接続の OpenShift Container Platform クラスターで利用可能なローカルイメージのミラーレジストリーです。
<path-to-the-registry-config>
-
レジストリー認証情報へのパスで、デフォルトは
~/.docker/config.json
です。 --insecure
- ミラーレジストリーがセキュアでない場合にのみこのフラグを追加します。
詳細は、Red Hat ナレッジベースソリューションを参照してください。
手順
OpenShift Data Foundation クラスターに接続されているクライアントから
must-gather
コマンドを実行します。$ oc adm must-gather --image=registry.redhat.io/odf4/odf-must-gather-rhel9:v4.15 --dest-dir=<directory-name>
<directory-name>
データを書き込むディレクトリーの名前です。
重要非接続環境のデプロイメントの場合は、
--image
パラメーターのイメージをミラーリングされたmust-gather
イメージに置き換えます。$ oc adm must-gather --image=<local-registry>/odf4/odf-must-gather-rhel9:v4.15 --dest-dir=<directory-name>
<local-registry>
- 非接続の OpenShift Container Platform クラスターで利用可能なローカルイメージのミラーレジストリーです。
これにより、指定されたディレクトリーに以下の情報が収集されます。
- すべての Red Hat OpenShift Data Foundation クラスター関連のカスタムリソース (CR) とそれらの namespace。
- すべての Red Hat OpenShift Data Foundation 関連の Pod の Pod ログ。
- ステータス、クラスターの正常性などの一部の標準的な Ceph コマンドの出力。
2.1. must-gather コマンドのバリエーション
状態が Ready ではないマスターノードが 1 つ以上ある場合には、
must-gather
Pod を安全にスケジュールできるように--node-name
を使用して Ready のマスターノードを指定します。$ oc adm must-gather --image=registry.redhat.io/odf4/odf-must-gather-rhel9:v4.15 --dest-dir=_<directory-name>_ --node-name=_<node-name>_
特定の時点から情報を収集する場合は、以下を行います。
たとえば 5 秒以内または 2 日以内に収集されたログの相対的な期間を指定するには、
/usr/bin/gather since=<duration>
を追加します。$ oc adm must-gather --image=registry.redhat.io/odf4/odf-must-gather-rhel9:v4.15 --dest-dir=_<directory-name>_ /usr/bin/gather since=<duration>
その後にログを収集する特定の時間を指定するには、
/usr/bin/gather since-time=<rfc3339-timestamp>
を追加します。$ oc adm must-gather --image=registry.redhat.io/odf4/odf-must-gather-rhel9:v4.15 --dest-dir=_<directory-name>_ /usr/bin/gather since-time=<rfc3339-timestamp>
以下のように、これらのコマンドのサンプルの値を置き換えます。
- <node-name>
-
状態が Ready ではないマスターノードが 1 つ以上ある場合には、このパラメーターを使用して、状態がまだ Ready のマスターノード名を指定します。これにより、
must-gather
Pod が準備状態にないマスターノードにスケジュールされないようにすることで、スケジューリングエラーを回避します。 - <directory-name>
-
must-gather
によって収集される情報を保存するディレクトリー。 - <duration>
-
5h
(5 時間前から開始する) など、相対的な期間として情報を収集する期間 (の開始点) を指定します。 - <rfc3339-timestamp>
-
2020-11-10T04:00:00+00:00
(2020 年 11 月 11 日の 4am UTC から開始する) など、RFC 3339 タイムスタンプとして情報を収集する期間 (の開始点) を指定します。