vCenter Server 7.0 にてアップグレードあるいはアップデート後に再起動すると Lookupservice が自動起動に失敗する場合があるが、手動起動は正常に動作する
search cancel

vCenter Server 7.0 にてアップグレードあるいはアップデート後に再起動すると Lookupservice が自動起動に失敗する場合があるが、手動起動は正常に動作する

book

Article ID: 431724

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

免責事項:これは英文の記事「Lookupservice may fail to start automatically after reboot in vCenter Server 7.0 after upgrade or update, manual start works」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

症状:

  • vCenter Server が 7.0 へアップグレードされたか、より新しい 7.0 のバージョンへアップデートされています。
  • vCenter Server を再起動後、Lookupservice が自動的に起動しません。
  • vmon-cli あるいは service-control コマンド (例: service-control --stop --all && service-control --start --all) を使用した Lookupservice の手動起動は、エラーなく正常に動作します。
  • /var/log/vmware/lookupsvc/lookupserver-default.log には、下記エラーが複数回記録されています。
    [YYYY-MM-DDTHH:MM:SS.fffZ localhost-startStop-1                                                           ERROR com.vmware.vim.lookup.impl.LdapStorage] LDAP action failed; host=<vcenter_fqdn>, port=389
    com.vmware.sso.interop.ldap.LdapException: Can't contact LDAP server
            at com.vmware.sso.interop.ldap.LdapErrorChecker.CheckError(LdapErrorChecker.java:869) ~[ldap-lib-0.0.1-SNAPSHOT.jar:?]
            at com.vmware.sso.interop.ldap.OpenLdapClientLibrary.CheckError(OpenLdapClientLibrary.java:1219) ~[ldap-lib-0.0.1-SNAPSHOT.jar:?]
            at com.vmware.sso.interop.ldap.OpenLdapClientLibrary.ldap_sasl_srp_bind_s(OpenLdapClientLibrary.java:765) ~[ldap-lib-0.0.1-SNAPSHOT.jar:?]
            at com.vmware.sso.interop.ldap.LdapConnection.bindSaslSrpConnection(LdapConnection.java:670) ~[ldap-lib-0.0.1-SNAPSHOT.jar:?]
            at com.vmware.vim.lookup.impl.LdapStorage$LdapQuery.execute(LdapStorage.java:2283) ~[lookupservice-impl-0.0.1-SNAPSHOT.jar:?]
            (etc.)

Environment

VMware vCenter Server 8.0.2
VMware vCenter Server 7.0.3
VMware vCenter Server 7.0.x

Cause

Lookupservice vmdird サービスに依存していますが、起動依存関係が構成されていません。vmdird の起動に時間を要する状況では、this can result in vmdird not be ready when Lookupservice の起動時に vmdird が準備できていない状況となり、その結果 Lookupservice の起動に失敗する場合があります。

Resolution

この問題は、vCenter Server 7.0 U3o と vCenter Server 8.0 U2 で修正されています。

回避策:

回避策として下記のように vmdird の Lookupservice に対して起動依存関係を構成できます。

注: 下記手順を実施する前に vCenter Server の新しいバックアップ、あるいはオフラインスナップショットを作成していることを確認してください。

  1. vCenter Server Appliance へ SSH 接続し、root でログインします。
  2. 下記コマンドを使用して /etc/systemd/system/multi-user.target.wants/vmware-vmon.service のバックアップコピーを /tmp に作成します。
    cp /etc/systemd/system/multi-user.target.wants/vmware-vmon.service /tmp/vmware-vmon.service.bak
重要: バックアップファイルを /etc/systemd/system/ 内に置かないでください。これにより今後のアップデートで安定性の問題を引き起こす場合があります。
  1. vi エディタを使用してファイルを編集します。
    # vi /etc/systemd/system/multi-user.target.wants/vmware-vmon.service
  2. ファイルの [Unit] セクションで 'After=' で始まるエントリを見つけ、依存関係を vmafdd.service から vmdird.service に置き換えます。
例えば、設定が下記の場合:
After=network.target vmafdd.service vmware-stsd.service rsyslogd.service

下記に置き換えることができます。
After=network.target vmdird.service vmware-stsd.service rsyslogd.service

注: 上記行内のその他のエントリは、特定の vCenter Server のバージョンによって異なる場合があります。 これらは変更する必要はありません。

 

  1. 下記コマンドを使用してシステム構成を更新します。
    # systemctl daemon-reload
  2. 回避策によって問題が解決したかどうか確認するためには、vCenter Server Appliance を一度再起動します。