VxRail: VxRailアップグレード前のVxVerifyに関する問題のトラブルシューティング
Summary: VxVerifyを実行してDell VxRailアップグレードを事前チェックする際に発生する可能性のある一般的な問題の解決策。
Symptoms
このKB記事では、VxVerifyの正常な実行を妨げる問題のトラブルシューティングについて説明します。
このナレッジベース記事は、関連する応答(警告、失敗、重大など)の対象となる記事がないテストから参照されます。この例としては、クエリから予期しない応答を返すクエリがあります。
VxVerifyは、VxRailのアップグレード中に複雑な問題や障害を引き起こす可能性のある問題を検出するように設計されています。VxVerifyは、ミニオンと呼ばれるPythonプログラムを作成し、これをVxRailノードに送信します。以下は、予想される一般的なテスト結果です vxverify_tests.json:
| テスト結果 | 結果コード | 推奨する処置 |
|---|---|---|
| 合格 | 0 | このヘルス チェック カテゴリーのすべてのテストに合格:
アクションは必要ありません。 |
| Warning | 1 | ヘルス チェックで、アップグレードを開始する前に考慮する必要がある問題が検出されました
関連するナレッジベース記事に従って、警告に対処します(記事番号は警告の一部として一覧表示されます)。 |
| 失敗 | 2 | アップグレード前に対処する必要があります。
このイベントから返されたメッセージを確認し、vxv.logとミニオンのログを確認します。 |
| 重要 | 3 | 重大なエラーが発生したため、VxVerifyは関連するテストを実行できませんでした。
これにより、追加のテストが実行されなくなる可能性があります このイベントから返されたメッセージを確認し、vxv.logとミニオンのログを確認します。以下の「追加情報 」セクションの例を参照してください。 |
| Py_Crash | 3 または 9 | このイベントは、テストの実行時に未処理の Python エラーが発生した場合に発生します。
このイベントから返されたメッセージを確認し、vxv.logとミニオンのログを確認します(メモ1を参照)。 |
偽陽性のテスト結果が検出された場合は、VxVerifyログを収集し、Dellサポートと連携して、VxRailエンジニアリングでJira VXVチケットを開きます。
Cause
VxVerifyが正常に実行されない原因は複数あります。
- 障害の最も一般的な原因は、 Python スクリプトの有効期限が切れていることです。各VxVerifyバージョンは、公開日から2週間のみ有効となるように設定されています。これは、VxVerifyがVxRailヘルスチェック フレームワークへのプラグイン(VxVerify機能を変更する)として実行される場合には該当しません。
- その他の理由としては、VxRail Managerの 権限の問題 やホストとの 通信の問題 が考えられます。
- イベントの原因が不明な場合は、Dellサポートに連絡して、VxRailエンジニアリングでVXVチケットを開きます。
Resolution
以下のセクションでは、ログを収集し、VxVerifyが正常に実行されていない場合のトラブルシューティングを行う方法について説明します。
サポートエンゲージメントのためのログ収集
VxVerify関連の問題についてサポートを受ける場合は、アーカイブされたすべての をアップロードする vxv フォルダー 分析用、または vxverify ログ .zip ファイルは提供しません。現在のスタンドアロンVxVerifyバージョンでは、アーカイブされたファイルを /tmpには、分析に必要なすべての結果とログがあります。
例: /tmp/vxverify-c9.zip
これに加えて、 .zip VxVerifyの最新の実行のファイル、最大5セットの以前のログも /tmp フォルダー。名前には、ファイル属性でこれらが実行された日時があります。
vxv_previous_01.zip
または、次のコマンドを実行して、関連するすべてのファイルをアーカイブします。
tar cvzf vxverify-2020-12-31.tgz /tmp/vxv/
トラブルシューティング
VxVerify 2を実行する場合の一般的なトラブルシューティング手順(VxRail 4.5、4.7、7.0.000の場合)
- VxVerifyではPythonを実行する必要があり、それを実行するコマンド ラインは次のとおりです。
python /tmp/vxv/vxverify.pyc
- マジック ナンバー エラーが発生した場合、これは通常、VxRM上のPythonバージョンに誤ったバージョンのVxVerifyが使用されていることを意味します。たとえば、7.0.320でVxVerify 2を実行すると、次のエラーが発生します。
RuntimeError: Bad magic number in .pyc file
- VxVerifyの正しいバージョンが使用されていることを確認するには、次の記事を参照してください(以下のリンクには、Dellサポート ポータルへの認証が必要です)。
- VxRail: VxRail Verifyツールを実行する方法(VxVerifyリリース セクション)
- VxVerifyは、minionと呼ばれるプログラムを作成します。このプログラムは、次のコマンドを使用して送信、実行、取得されます。
SSH。プロファイルエディタでSSHまだ有効になっていない場合でも、VxVerifyがオンになりますSSH実行するコマンドのホストごと。ホストがロックダウンされている場合は、SSHcannot run、minionを実行できず、ホスト テストは結果コード2(失敗)または3(重大)を返します。このような場合は、SSH権限を管理者に付与します。 - VxVerify2は、Python 2.7上で実行するように設計されています。これはVxRM VM上に存在する必要があり、通常は使用可能な唯一のPythonバージョンです。Python のバージョンがさらにある場合は、次のコマンドを実行してテストします (これには
-hオプションです。--helpを使用):
python2.7 vxverify.pyc -h
VxVerifyはログと出力ファイルを /tmp/vxv/。十分な権限がない場合は、実行できません。次のコマンドを使用して、フォルダーのアクセス許可を確認します。すべてのユーザーに読み取り/書き込み権限がない場合は、 chmod (root権限が必要な場合があります):
$ ls -lad /tmp/vxv drwxrwxrwx 3 mystic users 4096 Oct 1 07:42 vxv
- VxVerifyで権限エラー が続く場合(例:「以前のログを削除するために権限が拒否されました」)、
vxvフォルダーに次のコマンドを入力します(rootパスワードはsudoアクセス)。この削除コマンドを実行した後、mystic権限のみを使用してVxVerifyを再度インストールする必要があります。
sudo rm -r -d /tmp/vxv
- もう1つのオプションとして、VxVerify出力ファイルを新しいフォルダーに保存します。VxVerifyは、ツリーが存在しない場合は、を使用してツリーを作成します。
-lまたは--logオプションに続けて、ログを保存するパスを指定します。例:
python vxverify.pyc -l /tmp/vx1
VxVerify2とVxVerify 3のトラブルシューティングの違い(VxRail 7.0.010+の場合)
VxRail 7.0.010以降では、VxRMの根本的な変更により、VxVerify 3を使用する必要があります。
VxVerify2と同じトラブルシューティング手順がVxVerify3にも適用されます。ただし、 次の点が異なります。
- Python for VxVerify3のバージョンは3.6です。
- VxVerifyで変更が必要なサイト パッケージの場所は、以下のいずれかの場所にあります。
/mystic/telemetry/DCManager/venv/lib/python3.6/site-packages/mystic/radar/venv/lib/python3.6/site-packages
- これらのフォルダーの両方がmysticユーザーからアクセスできない場合、VxVerifyプログラムはサイト パッケージに関するエラー メッセージを表示して終了します。
- 回避策は、rootユーザーを使用することです。
タイムアウト
ミニオンが完了するまでに20分以上かかる場合、VxVerifyはサマリー テーブルでタイムアウト イベントを提供する必要があります。
| Node-name |Critical 66460| minion: Maximum run time for minion exceeded
- 対応する
vxv.logこのエントリーは次のとおりです。
2022-10-06 06:42:51-WARNING Creating a fault json for missing minion 2022-10-06 06:42:51-WARNING [fail_minion] Producing result file for lab-esx22, due to: Maximum run time for minion exceeded. See minion logs in /tmp/vxv
- これを確認するには、そのホストのミニオン ログを調べて、ミニオンが停止する原因となるエラーが発生したか、テストがゆっくりと続行されていて完了までの時間がなくなったかを確認する必要があります。
- ミニオンが正常に完了した場合、ログの最後の行は次のようになります。
2022-10-06 06:39:30 INFO Writing to JSON: /tmp/xc882-61f1f3b9-7cb2-130a-35b0-minion.json 2022-10-06 06:39:30 INFO JSON save: os.stat_result(st_mode=33206, st_ino=47144, st_dev=1, st_nlink=1, st_uid=0, st_gid=0, st_size=499562, st_atime=1665038370, st_mtime=1665038370, st_ctime=1665038370) 2022-10-06 06:39:30 DEBUG ESXi minion's work is done.
JSONファイル転送が機能しない
SCPまたはSFTPを使用してホストminionの結果をVxRMに転送できない場合は、出力テーブルに次のように表示されます。
| Node-name |Critical 66460| minion: No JSON downloaded from node via SSH
- 対応する
vxv.logこのエントリーは次のとおりです。
2022-10-06 06:42:51-WARNING Creating a fault json for missing minion 2022-10-06 06:42:51-WARNING [fail_minion] Producing result file for lab-esx22, due to: No JSON downloaded from node via SSH. See minion logs in /tmp/vxv
- これを確認するには、そのホストのミニオン ログを調べて、ミニオンが停止する原因となるエラーが発生したかどうか、またはJSONファイルが生成されたが、
SSH。 - ミニオンが正常に完了した場合は、次の行がログの最後の行になり、JSON が
/tmpノードのフォルダー:
2022-10-06 06:39:30 INFO Writing to JSON: /tmp/xc882-61f1f3b9-7cb2-130a-35b0-minion.json 2022-10-06 06:39:30 INFO JSON save: os.stat_result(st_mode=33206, st_ino=47144, st_dev=1, st_nlink=1, st_uid=0, st_gid=0, st_size=499562, st_atime=1665038370, st_mtime=1665038370, st_ctime=1665038370) 2022-10-06 06:39:30 DEBUG ESXi minion's work is done.
上記のトラブルシューティングに推奨される手順は次のとおりです。
- VxVerify3を使用している場合は、
--fixflagは、代替のSSHメカニズム。これにより、一部のSSH権限の問題。 - 以下を使用して新しいパスを指定します。
-1(フォルダーを最初に作成する必要はありません)。これは、VxRM権限エラーによってファイル転送が妨げられている場合に役立ちます。 - たとえば、次のとおりです。
> python vxv2.pyc -l \tmp\vxv0 - それでも上記が機能しない場合は、VxRMのスナップショットを作成してから、不要なファイルとフォルダーをクリーンアップします。
/tmpおよび/home/mystic(以前にVxVerifyで使用されていたものなど)。 - VxRM (VxRail Manager)を再起動します。
VxVerifyでエラーが発生し、前述の手順で修正できない場合は、前述のようにvxvログ バンドルを保存し、 Dellサポートに問題をエスカレーションします。
VxVerify2およびVxVerify3でのログインおよび認証情報エラー
- VxRM (VxRail Manager)とVxRailノードでテストを実行するために、VxVerifyに認証情報は必要ありません。VxVerifyは、VxRMデータベースから暗号化された認証情報に直接アクセスし、使用する前に復号化します。VC管理認証情報にアクセスできない場合があり、その場合は、これらの認証情報をVxVerifyコマンド ラインで指定できます。
python vxverify.py --verbose -u vxrailmgmt@localos -p ChangeMe1!
- vCenterで許可されている 一部の特殊文字を使用すると、VxRail Managerで問題が発生する可能性があります(特にLinuxシェルを使用するコマンドの場合)。vCenterまたはESXiホストのパスワードに次の文字が使用されていないことを確認します。
` $ % / \
- 管理に使用されているユーザー名について不明な点がある場合は、
vxv.log。例:
... - DEBUG Users from runtime & settings records: vxrailmgmt@localos & vxrailmgmt@localos
- SSHを使用したvCenterのテストには、rootユーザー名とパスワードが必要です。これは、
-rおよび-wオプションをそれぞれ選択します。vCenterテストは、これらが指定されている場合にのみ実行されます(ただし、rootユーザーがroot(デフォルト)の場合、rootパスワードのみを指定する必要があります)。例:
python vxverify.py --verbose -w R00tPassword!
Additional Information
重大なテスト失敗の例
これは重大なエラーが原因であり、その先のテストの実行を妨げる可能性があります。たとえば、VxRMに保存されているvCenter管理ユーザー名とパスワードが最新でない場合、VC APIへのすべてのクエリーは失敗し、それ以上のテストは実行できません。この例は次のとおりです。
#========================#======#=========#====================================================================#==============# | Hostname / Category |Status Dell_KB | Warnings or Failures, unless tests Passed | Product S.N. | #========================#======#=========#====================================================================#==============# | VxRM | Critical 66460 | vc_external: VC MOB API connection failed .| <- Stored vCenter password rejected | VxRail | Critical 66460 | vxtii_err: Internal DO host query failed. See vxv.log for details in /tmp/vxv .| <- ESXi node data cannot be retrieved from the VxRM config service | _cluster | Critical 66460 | esx_vers: No valid ESXi test results found .| <- No ESXi tests could be run
VxVerifyファイル
VxVerifyは、次のファイルを /tmp/vxv/ または /var/log/mystic/vxv/ (別のログフォルダが -l 引数)。 これらのファイルはすべて、次の 1 つのアーカイブ ファイルに保存されます。 /tmpなど /tmp/vxverify-569ae010.zip または /tmp/vxv_previous_01.zip.
VxVerifyスクリプトが完全に完了していない場合でも、これらのファイルを手動でチェックすると、クラスター上の問題を見つけるのに役立つ場合があります。
-
vxv.log- (VxVerifyスクリプトのログ ファイル) -
minion_hostname.log- (各ホストで実行されているミニオン スクリプトのリモート ログ) -
minion_hostname.txt- (各ミニオンのリモートテキスト出力、進行中のテスト番号を示す) -
/json/host_uid.json- (各ミニオンによって生成されたテスト結果を含むファイルで、後で他のホスト データとマージされてから削除されます) -
vxverify_tests.json- (すべてのテストの結合出力で、手動で確認してすべてのテスト結果を確認できます) -
vxtii.json- (iDRACハードウェア インベントリーなどのクエリに対するホストからの応答の組み合わせ) -
vxtii.txt- (各ノードのiDRACおよびESXi情報をまとめたレポート) -
vxverify.txt(VxVerifyがクワイエット モードで実行されていない場合は、画面にも表示されます) -
vxverify.html- (HTML形式のVxVerifyレポートとVxTiiレポートの組み合わせ)(VxRail Managerヘルスチェックに埋め込まれるのではなく、VxVerifyを直接実行する場合にのみ存在)