11.3. ログおよびデバッグツール
このセクションでは、トラブルシューティングに使用できるログおよびデバッグツールを説明します。
11.3.1. 移行計画リソースの表示 リンクのコピーリンクがクリップボードにコピーされました!
MTC の Web コンソールとコマンドラインインターフェイス (CLI) を使用して、移行計画リソースを表示し、実行中の移行を監視したり、失敗した移行のトラブルシューティングを行ったりすることができます。
手順
- MTC Web コンソールで、Migration plans をクリックします。
- 移行計画の横にある Migrations 番号をクリックし、Migrations ページを表示します。
- 移行をクリックして、Migration details を表示します。
Migration resources を展開し、移行リソースとそのステータスをツリービューで表示します。
注記移行の失敗をトラブルシューティングするには、失敗した高レベルのリソースで開始し、リソースツリーでより低い位置にあるリソースまで堀り下げます。
リソースの横にある Options メニュー
をクリックし、以下のオプションのいずれかを選択します。
copy
oc describe
コマンド は、コマンドをクリップボードにコピーします。関連するクラスターにログインしてから、コマンドを実行します。
リソースの条件およびイベントは YAML 形式で表示されます。
Copy
oc logs
コマンド は、コマンドをクリップボードにコピーします。関連するクラスターにログインしてから、コマンドを実行します。
リソースがログフィルターに対応していると、フィルターされたログが表示されます。
JSON ビューは、Web ブラウザーで JSON 形式でリソースデータを表示します。
データは
oc get <resource>
コマンドの出力と同じです。
11.3.2. 移行計画ログの表示 リンクのコピーリンクがクリップボードにコピーされました!
移行計画の集計ログを表示できます。MTC の Web コンソールを使用してコマンドをクリップボードにコピーし、コマンドラインインターフェイス (CLI) からコマンドを実行します。
このコマンドは、以下の Pod に関するフィルターされたログを表示します。
-
Migration Controller
-
Velero
-
Restic
-
Rsync
-
Stunnel
-
Registry
手順
- MTC Web コンソールで、Migration plans をクリックします。
- 移行計画の横にある Migrations 番号をクリックします。
- View logs をクリックします。
-
コピーアイコンをクリックして、
oc logs
コマンドをクリップボードにコピーします。 関連するクラスターにログインし、CLI でコマンドを実行します。
移行契約の集約ログが表示されます。
11.3.3. 移行ログリーダーの使用 リンクのコピーリンクがクリップボードにコピーされました!
移行ログリーダーを使用して、すべての移行ログの単一のフィルタービューを表示できます。
手順
mig-log-reader
Pod を取得します。oc -n openshift-migration get pods | grep log
$ oc -n openshift-migration get pods | grep log
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、単一の移行ログを表示します。
oc -n openshift-migration logs -f <mig-log-reader-pod> -c color
$ oc -n openshift-migration logs -f <mig-log-reader-pod> -c color
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
-c plain
オプションは、色なしでログを表示します。
11.3.4. パフォーマンスメトリックへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
MigrationController
カスタムリソース (CR) はメトリクスを記録し、それらをクラスター上のモニタリングストレージにプルします。Prometheus Query Language (PromQL) を使用してメトリックをクエリーし、移行のパフォーマンス問題を診断できます。すべてのメトリックは、Migration コントローラー Pod の再起動時にリセットされます。
パフォーマンスメトリックにアクセスし、OpenShift Container Platform Web コンソールを使用してクエリーを実行できます。
手順
-
OpenShift Container Platform Web コンソールで、Observe
Metrics をクリックします。 PromQL クエリーを入力し、表示する期間を選択し、Run Queries をクリックします。
Web ブラウザーにすべての結果が表示されない場合は、Prometheus コンソールを使用します。
11.3.4.1. 提供されるメトリック リンクのコピーリンクがクリップボードにコピーされました!
MigrationController
カスタムリソース (CR) は、MigMigration
CR 数およびその API 要求のメトリックを提供します。
11.3.4.1.1. cam_app_workload_migrations リンクのコピーリンクがクリップボードにコピーされました!
このメトリックは、一定期間の MigMigration
CR の数です。mtc_client_request_count
および mtc_client_request_elapsed
メトリックと一緒に表示して、API リクエスト情報を移行ステータスの変更と照合するのに役立ちます。このメトリックは Telemetry に含まれます。
クエリー可能なラベル名 | サンプルラベル値 | ラベルの説明 |
---|---|---|
status |
|
|
type | stage、final |
|
11.3.4.1.2. mtc_client_request_count リンクのコピーリンクがクリップボードにコピーされました!
このメトリックは、MigrationController
が発行する Kubernetes API 要求の累積数です。これは Telemetry に含まれていません。
クエリー可能なラベル名 | サンプルラベル値 | ラベルの説明 |
---|---|---|
cluster |
| 要求が発行されたクラスター |
component |
| 要求を発行したサブコントローラー API |
function |
| 要求が発行された関数 |
kind |
| 要求が発行された Kubernetes の種類 |
11.3.4.1.3. mtc_client_request_elapsed リンクのコピーリンクがクリップボードにコピーされました!
このメトリックは、MigrationController
が発行する Kubernetes API 要求の累積レイテンシー (ミリ秒単位) です。これは Telemetry に含まれていません。
クエリー可能なラベル名 | サンプルラベル値 | ラベルの説明 |
---|---|---|
cluster |
| 要求が発行されたクラスター |
component |
| 要求を発行したサブコントローラー API |
function |
| 要求が発行された関数 |
kind |
| 要求が発行された Kubernetes リソース |
11.3.4.1.4. 有用なクエリー リンクのコピーリンクがクリップボードにコピーされました!
この表には、パフォーマンスの監視に使用できる便利なクエリーが記載されています。
クエリー | 説明 |
---|---|
| 発行した API 要求の数。要求タイプ別でソート |
| 発行された API 要求の合計数 |
| 要求タイプ別にソートされた API 要求のレイテンシー |
| API 要求の合計レイテンシー |
| API 要求の平均レイテンシー |
| 要求タイプ別にソートされた API 要求の平均レイテンシー |
| 実行中の移行の数。要求数とともに簡単に表示できるように 100 で乗算されます。 |
11.3.5. must-gather ツールの使用 リンクのコピーリンクがクリップボードにコピーされました!
must-gather
ツールを使用して、OADP カスタムリソースのログおよび情報を収集できます。
must-gather
データはすべてのカスタマーケースに割り当てられる必要があります。
must-gather
ツールはコンテナーであり、常に実行される訳ではありません。このツールは、must-gather コマンドを実行して起動した後、数分間のみ動作します。
1 時間または 24 時間のデータを収集し、Prometheus コンソールでデータを表示できます。
前提条件
-
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform クラスターにログインしている。 -
OpenShift CLI (
oc
) がインストールされている。
手順
-
must-gather
データを保存するディレクトリーに移動します。 次のデータ収集オプションのいずれかに対して、
oc adm must-gather
コマンドを実行します。過去 24 時間のデータを収集するには、次のコマンドを実行します。
oc adm must-gather --image=registry.redhat.io/rhmtc/openshift-migration-must-gather-rhel8:v1.8
$ oc adm must-gather --image=registry.redhat.io/rhmtc/openshift-migration-must-gather-rhel8:v1.8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、データを
must-gather/must-gather.tar.gz
ファイルとして保存します。このファイルを Red Hat カスタマーポータル で作成したサポートケースにアップロードできます。過去 24 時間のデータを収集するには、次のコマンドを実行します。
oc adm must-gather --image=registry.redhat.io/rhmtc/openshift-migration-must-gather-rhel8:v1.8 -- /usr/bin/gather_metrics_dump
$ oc adm must-gather --image=registry.redhat.io/rhmtc/openshift-migration-must-gather-rhel8:v1.8 -- /usr/bin/gather_metrics_dump
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この操作には長時間かかる場合があります。このコマンドは、データを
must-gather/metrics/prom_data.tar.gz
ファイルとして保存します。
11.3.6. Velero CLI ツールを使用した Velero リソースのデバッグ リンクのコピーリンクがクリップボードにコピーされました!
Velero CLI ツールを使用して、Backup
および Restore
カスタムリソース (CR) をデバッグし、ログを取得できます。
Velero CLI ツールは、OpenShift CLI ツールよりも詳細な情報を提供します。
構文
oc exec
コマンドを使用して、Velero CLI コマンドを実行します。
oc -n openshift-migration exec deployment/velero -c velero -- ./velero \ <backup_restore_cr> <command> <cr_name>
$ oc -n openshift-migration exec deployment/velero -c velero -- ./velero \
<backup_restore_cr> <command> <cr_name>
例
oc -n openshift-migration exec deployment/velero -c velero -- ./velero \ backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql
$ oc -n openshift-migration exec deployment/velero -c velero -- ./velero \
backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql
ヘルプオプション
velero --help
オプションを使用して、すべての Velero CLI コマンドをリスト表示します。
oc -n openshift-migration exec deployment/velero -c velero -- ./velero \ --help
$ oc -n openshift-migration exec deployment/velero -c velero -- ./velero \
--help
describe コマンド
velero describe
コマンドを使用して、Backup
または Restore
CR に関連する警告とエラーの要約を取得します。
oc -n openshift-migration exec deployment/velero -c velero -- ./velero \ <backup_restore_cr> describe <cr_name>
$ oc -n openshift-migration exec deployment/velero -c velero -- ./velero \
<backup_restore_cr> describe <cr_name>
例
oc -n openshift-migration exec deployment/velero -c velero -- ./velero \ backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql
$ oc -n openshift-migration exec deployment/velero -c velero -- ./velero \
backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql
次の種類の復元エラーと警告が、velero describe
リクエストの出力に表示されます。
-
Velero
: Velero 自体の操作に関連するメッセージのリスト (クラウドへの接続、バックアップファイルの読み取りなどに関連するメッセージなど) -
Cluster
: クラスタースコープのリソースのバックアップまたは復元に関連するメッセージのリスト -
Namespaces
: namespace に保存されているリソースのバックアップまたは復元に関連するメッセージのリスト
これらのカテゴリーのいずれかで 1 つ以上のエラーが発生すると、Restore
操作のステータスが PartiallyFailed
になり、Completed
ではなくなります。警告によって完了ステータスが変化することはありません。
-
リソース固有のエラー、つまり
Cluster
およびNamespaces
エラーの場合、restore describe --details
出力に、Velero が復元に成功したすべてのリソースのリストが含まれています。このようなエラーが発生したリソースは、そのリソースが実際にクラスター内に存在するかどうかを確認してください。 describe
コマンドの出力にVelero
エラーがあっても、リソース固有のエラーがない場合は、ワークロードの復元で実際の問題が発生することなく復元が完了した可能性があります。ただし、復元後のアプリケーションを十分に検証してください。たとえば、出力に
PodVolumeRestore
またはノードエージェント関連のエラーが含まれている場合は、PodVolumeRestores
とDataDownloads
のステータスを確認します。これらのいずれも失敗していないか、まだ実行中である場合は、ボリュームデータが完全に復元されている可能性があります。
logs コマンド
velero logs
コマンドを使用して、Backup
または Restore
CR のログを取得します。
oc -n openshift-migration exec deployment/velero -c velero -- ./velero \ <backup_restore_cr> logs <cr_name>
$ oc -n openshift-migration exec deployment/velero -c velero -- ./velero \
<backup_restore_cr> logs <cr_name>
例
oc -n openshift-migration exec deployment/velero -c velero -- ./velero \ restore logs ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf
$ oc -n openshift-migration exec deployment/velero -c velero -- ./velero \
restore logs ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf
11.3.7. 部分的な移行の失敗のデバッグ リンクのコピーリンクがクリップボードにコピーされました!
Velero CLI を使用して Restore
カスタムリソース (CR) ログを確認し、部分的な移行の失敗に関する警告メッセージをデバッグできます。
部分的な障害は、Velero で移行の失敗を生じさせない問題が発生する際に見られます。たとえば、カスタムリソース定義 (CRD) がない場合や、ソースクラスターおよびターゲットクラスターの CRD バージョン間で不一致がある場合、移行は完了しますが、CR はターゲットクラスターで作成されません。
Velero は問題を部分的な障害としてログに記録し、Backup
CR の残りのオブジェクトを処理します。
手順
MigMigration
CR のステータスを確認します。oc get migmigration <migmigration> -o yaml
$ oc get migmigration <migmigration> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Velero
describe
コマンドを使用してRestore
CR のステータスを確認します。$ oc -n {namespace} exec deployment/velero -c velero -- ./velero \ restore describe <restore>
$ oc -n {namespace} exec deployment/velero -c velero -- ./velero \ restore describe <restore>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Velero
logs
コマンドを使用してRestore
CR ログを確認します。$ oc -n {namespace} exec deployment/velero -c velero -- ./velero \ restore logs <restore>
$ oc -n {namespace} exec deployment/velero -c velero -- ./velero \ restore logs <restore>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
time="2021-01-26T20:48:37Z" level=info msg="Attempting to restore migration-example: migration-example" logSource="pkg/restore/restore.go:1107" restore=openshift-migration/ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf time="2021-01-26T20:48:37Z" level=info msg="error restoring migration-example: the server could not find the requested resource" logSource="pkg/restore/restore.go:1170" restore=openshift-migration/ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf
time="2021-01-26T20:48:37Z" level=info msg="Attempting to restore migration-example: migration-example" logSource="pkg/restore/restore.go:1107" restore=openshift-migration/ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf time="2021-01-26T20:48:37Z" level=info msg="error restoring migration-example: the server could not find the requested resource" logSource="pkg/restore/restore.go:1170" restore=openshift-migration/ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restore
CR のログエラーメッセージのthe server could not find the requested resource
は、部分的に失敗した移行の原因を示します。
11.3.8. トラブルシューティング向けの MTC カスタムリソースの使用 リンクのコピーリンクがクリップボードにコピーされました!
以下の Migration Toolkit for Containers (MTC) カスタムリソース (CR) を確認し、失敗した移行のトラブルシューティングを行うことができます。
-
MigCluster
-
MigStorage
-
MigPlan
BackupStorageLocation
BackupStorageLocation
CR には、CR を作成した MTC インスタンスを識別するためのmigrationcontroller
ラベルが含まれます。labels: migrationcontroller: ebe13bee-c803-47d0-a9e9-83f380328b93
labels: migrationcontroller: ebe13bee-c803-47d0-a9e9-83f380328b93
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VolumeSnapshotLocation
VolumeSnapshotLocation
CR には、CR を作成した MTC インスタンスを特定するためのmigrationcontroller
ラベルが含まれます。labels: migrationcontroller: ebe13bee-c803-47d0-a9e9-83f380328b93
labels: migrationcontroller: ebe13bee-c803-47d0-a9e9-83f380328b93
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
MigMigration
Backup
MTC は、移行された永続ボリューム (PV) の回収ポリシーをターゲットクラスターで
Retain
に変更します。Backup
CR には、元の回収ポリシーを示すopenshift.io/orig-reclaim-policy
アノテーションが含まれます。移行した PV の回収ポリシーを手動で復元できます。-
Restore
手順
openshift-migration
namespace のMigMigration
CR をリスト表示します。oc get migmigration -n openshift-migration
$ oc get migmigration -n openshift-migration
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME AGE 88435fe0-c9f8-11e9-85e6-5d593ce65e10 6m42s
NAME AGE 88435fe0-c9f8-11e9-85e6-5d593ce65e10 6m42s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MigMigration
CR を検査します。oc describe migmigration 88435fe0-c9f8-11e9-85e6-5d593ce65e10 -n openshift-migration
$ oc describe migmigration 88435fe0-c9f8-11e9-85e6-5d593ce65e10 -n openshift-migration
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力は以下の例のようになります。
MigMigration
の出力例
PV データを記述する Velero
バックアップ CR #2 の出力例
Kubernetes リソースを記述する Velero
CR #2 の出力例