DNS解決の失敗により、vSphere Lifecycle Manager での ESXiホスト コンプライアンス チェックが「Host Status is Unknown」で失敗する
search cancel

DNS解決の失敗により、vSphere Lifecycle Manager での ESXiホスト コンプライアンス チェックが「Host Status is Unknown」で失敗する

book

Article ID: 432915

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項:これは英文の記事「ESXi host compliance check in vSphere Lifecycle Manager fails with "Host Status is Unknown" due to DNS resolution failure」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  • vSphere Lifecycle Manager (vLCM) を使用してアップグレードを実行中に、ESXiホストのコンプライアンス チェックを行うと、vSphere Client 上で「Host Status is Unknown」というステータスが表示され、プロセスが失敗する。
  • その後のUIエラーでは、クラスタの修正(Remediation)が失敗し、コンプライアンス情報が利用不可であることが示されます:
    • すべてのホストで修正がスキップされました
    • クラスタの修正に失敗しました
    • <HOSTNAME> - このホストの修正をスキップしました
    • コンプライアンス情報が利用できないため、ホスト '<HOSTNAME>' をスキップしました。ホストの状態を確認してください。
    • ホスト '<HOSTNAME>' でコンプライアンス チェック操作を開始する際に失敗が発生しました:Error: com.vmware.vapi.std.errors.not_allowed_in_current_state Messages: com.vmware.esx.task.contention<Another task is in progress. Please retry later.>
  • 影響を受けているESXiホスト上の /var/run/log/lifecycle.log を確認すると、ホストがvCenter Serverのデポ(depot)からメタデータをダウンロードしようとした際に、名前解決に失敗していることがわかります: 

lifecycle [<PID>] : Downloader: 214 Download failed: <urlopen error [Errno -3] Temporary failure in name resolution>, 5 retry left ...
lifecycle [<PID>] : Downloader: 214 Download failed: <urlopen error [Errno -3] Temporary failure in name resolution>, 4 retry left ...
lifecycle [<PID>] : Downloader: 214 Download failed: <urlopen error [Errno -3] Temporary failure in name resolution>, 3 retry left ...
lifecycle [<PID>] : DepotCollection: 379 Could not download from depot at http://<VC_IP>\:9084/vum/repository/hostupdate/ micro-depot vendor-vmw_metadata-167 index

  • vCenter Server 上の /var/log/vmware/vmware-updatemgr/vum-server/vmware-vum-server.log を確認すると、対応するタスク競合(task contention)エラーが記録されていることがわかります。

YYYY-MM-DDTHH:MM:SS info vmware-vum-server [Originator@6876 sub=Activation] [activationValidator 370] Leave Validate. Succeeded for integrity.VcIntegrity.probe on target: Integrity.VcIntegrity
YYYY-MM-DDTHH:MM:SS info vmware-vum-server [Originator@6876 sub=SsoClient] Successfully acquired token: SamlToken [subject={Name: vpxd-extension-#######-####-####-#####; Domain:vsphere.local}, groups=[{Name: Users; Domain:vsphere.local}, {Name: SolutionUsers; Domain:vsphere.local}, {Name: SystemConfiguration.Administrators; Domain:vsphere.local}, {Name: ComponentManager.Administrators; Domain:vsphere.local}, {Name: LicenseService.Administrators; Domain:vsphere.local}, {Name: ActAsUsers; Domain:vsphere.local}, {Name: ServiceProviderUsers; Domain:vsphere.local}, {Name: vStatsGroup; Domain:vsphere.local}, {Name: AnalyticsService.Administrators; Domain:vsphere.local}, {Name: Everyone; Domain:vsphere.local}], delegationChain=[], startTime=YYYY-MM-DD HH:MM:SS, endTime=YYYY-MM-DDTHH:MM:SS, renewCount=0, delegableCount=10, isSolution=true, type=Saml_HOK]
YYYY-MM-DDTHH:MM:SS info vmware-vum-server[134888] [Originator@6876 sub=Telemetry] [TelemetryManager 261] Sending telemetry data: {"@type":"pman_error_report","taskId":"ED###-#####-####-#####-########|######-######-####-#####","entityId
":"########-#####-#######-######|host #####,"parentTaskId":"","errorMessageId":"com.vmware.vcIntegrity.lifecycle.HostScan.TaskApiError","errorMessage":"A failure occurred when starting a host compliance check operation on host 'FDQN' : Error:\n   com.vmware.vapi.std.errors.not_allowed_in_current_state\nMessages:\n   com.vmware.esx.task.contention<Another task is in progress. Please retry later.>\n","errorTime":"YYYY-MM-DDTHH:MM:SS"}\

  • ESXi ホスト名が vCenter Server の /etc/hosts ファイルに静的に定義されているため、vCenter Server の vpxd ログには名前解決のエラーは記録されません。

Environment

  • VMware vSphere ESXi 7.x
  • VMware vSphere ESXi 8.x

Cause

  • この問題は、影響を受けている ESXi ホスト側でドメイン名システム (DNS) の名前解決に失敗するために発生します。これにより、ホストが vCenter Server のホスト名を正しく解決できず、vSphere Lifecycle Manager デポから必要なアップデート メタデータをダウンロードすることが不可能になります。

Resolution

  • この問題を解決するには、影響を受けている ESXi ホストの DNS 設定を確認・修正し、vCenter Server を正しく名前解決できるようにします。
    • 影響を受けている ESXi ホストに SSH またはローカルの ESXi Shell で接続します。
    • resolv.conf ファイルを調べ、設定されている DNS サーバーを確認します:
      • cat /etc/resolv.conf
    • リストされている nameserver エントリが正しく、かつホストから通信可能であることを確認します。
    • nslookup または ping コマンドを使用して、ESXi ホストから vCenter Server への名前解決をテストします:
      • nslookup <vCenterのFQDN>
    • DNS サーバーの設定が誤っているか不足している場合は、vSphere Client、ESXi Host Client、またはコマンドラインから DNS 設定を更新してください。
    • ESXi ホストが vCenter Server を正常に名前解決できるようになったら、vSphere Lifecycle Manager でコンプライアンス チェックまたはクラスタの修正(Remediation)タスクを再試行します。