vCenter Server で /etc/hosts に localhost の記載が無い場合に Lookup Service のスレッドプールが枯渇し vpxd が起動しない
search cancel

vCenter Server で /etc/hosts に localhost の記載が無い場合に Lookup Service のスレッドプールが枯渇し vpxd が起動しない

book

Article ID: 458491

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

免責事項:これは英文の記事「Lookup Service thread pool is exhausted and vpxd does not start due to a missing localhost entry in /etc/hosts on vCenter Server(458501)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

vCenter Server の再起動、または全サービスの再起動後に、vpxd サービスが起動せず PENDING のまま止まります。

  • /var/log/vmware/vpxd/vpxd.log に、Lookup Service へのリクエストのタイムアウトが記録されます。
YYYY-MM-DDTHH:MM:SS warning vpxd[#######] [Originator@6876 sub=LSClient] Caught exception during lookup service RPC: N7Vmacore16TimeoutExceptionE(Operation timed out)
  • /var/log/vmware/lookupsvc/lookupserver-default.log に、Lookup Service のスレッドプールの 100 スレッドがすべて使用中となり、新たなリクエストが拒否されている旨が記録されます。
[YYYY-MM-DDTHH:MM:SS pool-2-thread-64 ERROR com.vmware.vim.vmomi.server.common.impl.BaseProcessingStep] Task TracingRunnableWrapper{wrapped=com.vmware.vim.vmomi.server.impl.InvocationTask@XXXXXXXX, span=com.vmware.vim.vmomi.core.tracing.NoopTracer$NoopSpan@XXXXXXXX} rejected from java.util.concurrent.ThreadPoolExecutor@XXXXXXXX[Running, pool size = 100, active threads = 100, queued tasks = 0, completed tasks = 15000]
java.util.concurrent.RejectedExecutionException: Task TracingRunnableWrapper{...} rejected from java.util.concurrent.ThreadPoolExecutor@XXXXXXXX[Running, pool size = 100, active threads = 100, queued tasks = 0, completed tasks = 15000]
        at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
        at com.vmware.vim.vmomi.server.common.impl.BaseProcessingStep.process(BaseProcessingStep.java:110)
  • /etc/hosts に localhost の記載がありません。以下は一例です。
# Begin /etc/hosts (network card version)

127.0.0.1   <FQDN>.localdomain
127.0.0.1   <FQDN>

Environment

VMware vCenter Server 8.x

Cause

/etc/hosts の記載に不備があり、localhost および IPv6 のループバックの記載がありません。内部のサービスが localhost を正しく名前解決できないため、Lookup Service へのリクエストが滞留してスレッドプールが枯渇します。その結果、vpxd は Lookup Service の応答を待ちきれずにタイムアウトし、PENDING のまま起動しません。

Resolution

  1. 現在の hosts ファイルのバックアップを取得します。
cp /etc/hosts /etc/hosts.bak
  1. 以下の例のように、ループバックアドレスに FQDN、ホスト名、localhost が対応付けられた内容に /etc/hosts を修正します。
# Begin /etc/hosts (network card version)
# VAMI_EDIT_BEGIN
# Generated by Studio VAMI service. Do not modify manually.
127.0.0.1 <FQDN> <hostname> localhost
::1 <FQDN> <hostname> localhost ipv6-localhost ipv6-loopback
# VAMI_EDIT_END
  1. vCenter Server の全サービスを再起動します。
service-control --stop --all && service-control --start --all

Additional Information

/etc/hosts で localhost を解決できない場合、問い合わせは dnsmasq へ転送されます。以下のコマンドで確認できます。

grep -c "query\[A\] localhost" /var/log/vmware/dnsmasq.log

/etc/hosts の不備により vpxd-svcs が起動しない類似の事象については、vpxd-svcs service is not starting in VMware vCenter Server(417188) を参照してください。

/etc/hosts を修正しても改善しない場合は、DNS サーバーへの疎通など、その他の名前解決の問題がないか確認してください。