Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
vCenterの「no healthy upstream」エラーは再起動直後やメンテナンス作業後に発生することが多く、ほぼ必ず「503 Service Unavailable」のレスポンスを伴います。
このエラーの本質は、Envoyプロキシがvpxd、vsphere‑ui、vapi‑endpointといったバックエンドサービスに接続できない状態を指します。主な原因は大きく2つ、ディスク容量の枯渇または証明書の有効期限切れです。
本ガイドでは5つのトラブルシューティング手法を紹介し、根本原因を特定してvSphere環境を迅速に復旧させる手順を解説します。
vCenterのno healthy upstreamエラーの代表的な技術的原因を以下に記載します。
証明書の有効期限切れが本エラーの最頻出要因です。VCSA内部通信において特に重要な2種類の証明書が存在します。
VCSAの各パーティションはストレージ容量の制限に敏感です。パーティションが100%に達すると、サービスはログや一時ファイルを書き込めなくなり即座に異常終了します。代表的な箇所は下記です。
vpxdサービスの障害を引き起こすケースが多いです。「upstream」とはリクエストを処理する内部サービスのことです。これらが停止またはハングアップすると、プロキシは通信先を失います。
VCSA、特にアップグレード後は厳密なRAM確保が必要です。
vCenterはFQDN(完全修飾ドメイン名)で自身のエンドポイントを特定するため、正常なDNS動作が必須です。
vCenterのno healthy upstreamの根本要因を把握したら、体系的な手順でサービスを修復できます。このエラーは基本的にEnvoyプロキシがリクエストの転送先となる正常なバックエンドサービスを見つけられない状態を示します。
再起動後あるいは通常運用中に本エラーが発生した場合でも、下記の技術手順に従うことで障害の特定と解消が可能です。
各種設定を変更する前に、VCSAがプロセス実行に必要な空き領域を確保できているか確認してください。ディスク枯渇はサービス起動失敗の主要因です。
df -h
確認ポイント:出力結果から100%に達しているパーティションがないか確認します。VCSA環境では/storage/logと/storage/coreが問題になるケースが最も多いです。
対処方法:/storage/logが満杯の場合、古い圧縮ログを手動で削除する必要があります。環境が現在のディスク割り当てを超えて成長している場合はESXi側の設定で仮想ディスクを拡張してください。その後下記コマンドで内部のリサイズ処理とサービスのリフレッシュを実行します。
service-control --stop --all && service-control --start --all
証明書の期限切れはvCenter no healthy upstreamメッセージを引き起こす代表的な技術障害です。Security Token Service(STS)またはMachine SSL証明書が無効だと、サービス同士が相互認証を行えません。
証明書をリセットする前には必ずファイルベースのバックアップまたはVMスナップショットを取得してください。より安全かつ効率的なバックアップソリューションとしてi2Backupの活用をご検討ください。
下記コマンドを実行し、VCSA内の各ストアにある証明書の有効期限を確認します。
for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo "STORE: $i"; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $i --text | grep -ie "Not After"; done
対処方法:期限切れの証明書が存在する場合、VMware Certificate Managerユーティリティを起動します。
/usr/lib/vmware-vmca/bin/certificate-manager
証明書の不具合が原因の大半の「No Healthy Upstream」事案では、オプション8(Reset all Certificates:すべての証明書をリセット)が完全復旧に最も有効な選択肢となります。
ディスクに空きがあり証明書も有効な場合、「upstream」側のサービス自体が停止またはクラッシュしている可能性があります。
どのサービスが異常な状態か特定するため下記を実行します。
service-control --status --all
確認ポイント:vsphere‑ui(HTML5クライアント)またはvpxd(vCenterコアサービス)が「Stopped」停止状態になっていないか確認します。
対処方法:重要なサービスが停止している場合、サービススタック全体を手動でクリーンに再起動します。
service-control --stop --all
service-control --start --all
vSphereの各サービスは正確な時刻と名前解決に強く依存します。VCSAが自身を名前解決できない、または時刻がずれているとトークンが拒否されます。
nslookup <vcenter‑fqdn>
date
対処方法:時刻が数分以上ずれているとSecurity Token Serviceが認証リクエストを拒否し、upstreamエラーが発生します。vCenter Management Interface(VAMI)またはdateコマンドで時刻を修正し、NTP同期を有効にしてください。
service‑control上ではサービスが起動しているように見えても「no healthy upstream」エラーが出る場合、vSphere ClientのJavaランタイム側に問題がある可能性が高いです。サービスプロセスは起動していても完全に初期化に失敗している場合、ヒントはwrapperログに残ります。
シェルにアクセスし、vSphere Clientのログを末尾から表示します。
tail -n 100 /var/log/vmware/vsphere-ui/logs/vsphere_client_virgo.log
確認ポイント:
lang.OutOfMemoryError:VCSAにUIサービスが必要とするJavaヒープサイズを支えるだけの物理RAMが割り当てられていないことを示します。アップグレード後の再起動時に本エラーが出る代表的な原因です。lang.NullPointerException:プラグインの破損、またはルックアップサービスとの通信失敗を示すことが多いです。対処方法:OutOfMemoryErrorが検出された場合はVCSAをシャットダウンし、vSphere設定にてメモリ割り当て量を増やしてください。
プラグイン関連の例外が発生している場合はSerenityデータベースのクリア、もしくはManaged Object Browser(MOB)を使用して古くなった拡張機能の登録解除を実施する必要があります。
Q1:サービスを再起動してもvCenterで「no healthy upstream」が表示されるのはなぜですか?
A:根本的な原因(証明書期限切れ、RAM不足、DNSの問題)が解消されていない可能性が高いです。ログを確認するか、上記の簡易トラブルシューティングコマンドを実行し問題箇所を特定してください。
Q2:SSHアクセスなしでvCenter no healthy upstreamを修復できますか?
A:可能です。ESXi DCUIを使用しVCSAシェルにアクセスするか、VAMIから時刻・DNSの問題を修正できます。証明書リセットにはSSHが便利ですが必須ではありません。
Q3:VMスナップショットを使用してエラーを修復することは安全ですか?
A:スナップショットのロールバックは一時的な回避策になり得ますが、長期的な解決策としては推奨されません。ロールバック実行前には必ずファイルベースのバックアップを取得し、事後的に根本原因(例:証明書期限切れ)を解消してください。
Q4:df‑hでディスク容量は正常に見えるのにエラーが発生するのはなぜですか?
A:DNS、時刻同期、もしくはサービスのデッドロックが原因の可能性が高いです。まずDNS解決と時刻を確認し、そのあと全サービスを再起動してください。
Q5:vCenter 8.0でEnvoyプロキシが起動しているか確認する方法は?
A:コマンド service-control --status envoyproxy を実行します。停止している場合は service-control --start envoyproxy で再起動します。
Q6:証明書を修正したあとvCenterの再起動は必要ですか?
A:必要です。証明書リセット後は service-control --stop --all && service-control --start --all で全サービスを再起動し変更を適用してください。
Q7:vCenterアップグレード後にだけエラーが発生するのはなぜですか?
A:アップグレードにより必要なRAM量が増加したり、証明書が自動更新されなかったりすることが要因です。まずメモリ割り当てと証明書の有効期限を確認してください。
Q8:プラグインの問題がvCenter no healthy upstreamを引き起こすことはありますか?
A:あります。破損または古いプラグインによりvsphere‑uiサービスがクラッシュします。UIログのNullPointerExceptionを確認し、古いプラグインの登録を解除してください。
Q9:本エラーを回避するためのvCenter 8.0の最小RAM要件はいくつですか?
A:推奨16GB、最小12GBです。ただし12GB環境ではOOM Killerやno healthy upstreamエラーが発生しやすくなります。
Q10:vCenter再起動後、トラブルシューティングを開始するまでどれくらい待機すべきですか?
A:10‑20分待機してください。再起動やアップグレード後はサービスの完全起動に時間を要します。20分経過してもエラーが解消しない場合にトラブルシューティングを開始してください。
vCenterのno healthy upstreamエラーは、本質的にVCSAのコアサービス同士の通信ができなくなっている状態を知らせるシグナルです。503メッセージはリバースプロキシから返される汎用的な応答に過ぎませんが、証明書期限切れ、ディスク枯渇、サービスクラッシュといった根本原因はCLIを活用した体系的な手順で簡単に特定可能です。
no healthy upstreamエラーを効果的に解決するには、まずSTS証明書と各パーティションの状態確認を優先してください。適切なリソース余裕を確保しサービスログを監視することで、再起動後にno healthy upstreamが発生する事態を予防し、vSphere環境の安定稼働を維持できます。証明書やサービスの大規模な修復作業を実施する前には、必ずファイルベースのバックアップまたはVMスナップショットを取得してください。