証明書置換スクリプトの実行中にエラーが発生します: ノード 'IP' 上の 'CBM_X' 証明書の置換後にキーストアが更新されません
search cancel

証明書置換スクリプトの実行中にエラーが発生します: ノード 'IP' 上の 'CBM_X' 証明書の置換後にキーストアが更新されません

book

Article ID: 428738

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

免責事項:これは英文の記事「Certificate replacement script throws error while executing: Keystore is not updated post replacement of 'CBM_X' cert on node 'IP"」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

 

  • スクリプト"replace_certs.py"を実行すると、以下のエラーが発生して失敗します (v1.7 以下)。
    Keystore is not updated post replacement of CBM_MP cert on node ##.##.##.##. [Expected thumbprint : ###################, Keystore thumbprint : ###################]. Retrying in 5 secs
    [...]
    Keystore is not updated post replacement of CBM_MP cert on node ##.##.##.##. [Expected thumbprint : ###################, Keystore thumbprint : ###################]. Exiting after retrying for 15 minutes
  • クラスタリング再構成に関する複数のエントリが、次の場所 "/config/corfu/" (または system/ls_-althR_config サポート バンドル内)に見つかりました。
    # ls -1 /config/corfu/LAYOUT*
    /config/corfu/LAYOUTS_0.ds
    /config/corfu/LAYOUTS_1.ds
    /config/corfu/LAYOUTS_2.ds
    /config/corfu/LAYOUTS_3.ds
    /config/corfu/LAYOUTS_4.ds
    /config/corfu/LAYOUT_CURRENT.ds
  • ログ"/var/log/proton/nsxapi.log"には、該当する証明書が正常に適用されたことを確認するログが表示されます。
    INFO http-nio-127.0.0.1-7440-exec-32 TrustStoreServiceImpl 2546967 SYSTEM [nsx@6876 comp="nsx-manager" level="INFO" reqId="########-####-####-####-############" subcomp="manager" username="admin"] Apply certificate ########-####-####-####-############ for service-type CBM_###### and nodeId ########-####-####-####-############
    INFO http-nio-127.0.0.1-7440-exec-38 TrustStoreServiceImpl 2546967 SYSTEM [nsx@6876 comp="nsx-manager" level="INFO" reqId="########-####-####-####-############" subcomp="manager" username="admin"] Apply certificate ########-####-####-####-############ for service-type CBM_###### and nodeId ########-####-####-####-############
  • 上記と同じ時間に、以下に示すように複数のサービスで "JVM SIGKILL" イベントが発生しました。
    # grep "JVM received a signal SIGKILL" /var/log/*/*tomcat-wrapper.log
    /var/log/upgrade-coordinator/upgrade-coordinator-tomcat-wrapper.log:54:STATUS | wrapper  | 2023/11/07 15:50:44 | JVM received a signal SIGKILL (9).
    /var/log/upgrade-coordinator/upgrade-coordinator-tomcat-wrapper.log:72:STATUS | wrapper  | 2023/11/14 19:19:43 | JVM received a signal SIGKILL (9).
    /var/log/proton/proton-tomcat-wrapper.log.1:27805:STATUS | wrapper  | 2023/11/14 19:19:05 | JVM received a signal SIGKILL (9).
    /var/log/proton/proton-tomcat-wrapper.log.1:41989:STATUS | wrapper  | 2024/05/12 02:54:36 | JVM received a signal SIGKILL (9).
    /var/log/proton/proton-tomcat-wrapper.log.1:42643:STATUS | wrapper  | 2024/05/12 02:56:49 | JVM received a signal SIGKILL (9).
    /var/log/cm-inventory/cm-inventory-tomcat-wrapper.log:32:STATUS | wrapper  | 2023/11/14 19:19:43 | JVM received a signal SIGKILL (9).
    /var/log/cm-inventory/cm-inventory-tomcat-wrapper.log:81:STATUS | wrapper  | 2024/05/12 03:01:22 | JVM received a signal SIGKILL (9).
    /var/log/cm-inventory/cm-inventory-tomcat-wrapper.log:97:STATUS | wrapper  | 2024/05/12 03:04:35 | JVM received a signal SIGKILL (9).
    /var/log/proxy/proxy-tomcat-wrapper.log:981:STATUS | wrapper  | 2023/04/11 20:08:14 | JVM received a signal SIGKILL (9).
    /var/log/proxy/proxy-tomcat-wrapper.log:2037:STATUS | wrapper  | 2023/04/11 20:26:10 | JVM received a signal SIGKILL (9).
  • ログ"/var/log/cbm/tanuki.log"では、CBM は他のサービスと同様に再起動されていませんでした。
    # grep ' Launching a JVM' /var/log/cbm/tanuki.log
    STATUS | wrapper  | 2022/05/05 16:24:27 | Launching a JVM...
    STATUS | wrapper  | 2023/04/11 20:24:34 | Launching a JVM...
    STATUS | wrapper  | 2023/11/14 19:31:33 | Launching a JVM...
  • また、ログ"/var/log/cbm/cbm.log"から、Corfu シャットダウンも確認できます。
    Caused by: com.vmware.nsx.platform.clustering.persistence.exceptions.CorfuShutdownException: Disconnected from database. Terminating thread.
    at com.vmware.nsx.cbm.factory.CorfuSystemDownHandler.run(CorfuSystemDownHandler.java:12) ~[libcbm.jar:?]
    at org.corfudb.runtime.view.AbstractView.layoutHelper(AbstractView.java:176) ~[runtime-4.1.20230509211150.7973.1.jar:?]
    at org.corfudb.runtime.view.AbstractView.layoutHelper(AbstractView.java:61) ~[runtime-4.1.20230509211150.7973.1.jar:?]
    at org.corfudb.runtime.view.SequencerView.lambda$query$4(SequencerView.java:59) ~[runtime-4.1.20230509211150.7973.1.jar:?]
    at io.micrometer.core.instrument.composite.CompositeTimer.record(CompositeTimer.java:57) ~[libmicrometer.jar:?]
    at org.corfudb.common.metrics.micrometer.MicroMeterUtils.lambda$time$6(MicroMeterUtils.java:121) ~[corfudb-common-4.1.20230509211150.7973.1.jar:?]
    at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_362]
注:上記のログの抜粋はあくまで例です。日付、時刻、環境変数は環境によって異なる場合があります。

Environment

VMware NSX

Cause

複数のクラスタ再構成によりCorfu接続の問題が発生し、systemDownHandlerが呼び出されました。その後、複数のJVMが再起動されましたが、CBMは再起動されませんでした。その結果、DCNが失われ、証明書の置き換え問題が発生しました。

Resolution

この問題の修正は、今後の NSX リリースに追加される予定です。

回避策:

  1. すべてのノードで、ルートから 1 つずつ CBM プロセスを手動で再起動します。/etc/init.d/nsx-cluster-boot-manager restart
  2. 証明書置換スクリプトを再実行します。