PowerProtect Cyber Recovery:安裝失敗,並顯示錯誤「Failed to Set MongoDB Credential:無法變更管理員 DB 認證:無法連線至管理員資料庫

Summary: 在新增新的 MongoDB 密碼並出現「Failed to change admin DB credential」錯誤訊息後,Crsetup 安裝指令檔失敗。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

輸入 MongoDB 密碼後,「/crsetup --install」指令檔隨即結束,並出現以下錯誤:
Failed to set MongoDB credential:Failed to change admin DB credential:Unable to connect to theadmindatabase :server selection error: server selection timeout, current topology: { Type: Unknown, Servers: [{ Addr: localhost:17112, Type: Unknown, Last error: connection() error occurred during connection handshake: dial tcp 127.0.0.1:17112: connect: connection refused }, ] }

請參閱下列知識庫文章 212531 、PowerProtect Cyber Recovery:Cyber Recovery 19.13 或更新版本的新安裝失敗 - 無法設定 MongoDB 認證,以確保 v8.7 實體伺服器或虛擬機器可使用 CPU 上的 AVX 功能。

命令「docker ps-a」顯示 MongoDB docker 實例處於結束狀態,如下所示:

[root@cradmin]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c3fe3dc5959f localhost:14779/cr_mongo:6.0.5 "/bin/bash /usr/loca" 4 minutes ago Exited (1) 4 minutes ago cr_mongo-auth_1 
3fbf3db0c71d localhost:14779/cr_registry:2.8.1.7 "/entrypoint.sh /etc" 4 minutes ago Up 4 minutes 127.0.0.1:14779->5000/tcp cr_registry

執行「docker logs cr_mongo-auth_1」顯示無法讀取憑證:

[root@crm-cradmin]# cat mongo.txt
=> Waiting for confirmation of MongoDB service startup...
{"t":{"$date":"2023-08-17T15:25:23.384Z"},"s":"I",  "c":"CONTROL",  "id":5760901, "ctx":"-","msg":"Applied --setParameter options","attr":{"serverParameters":{"opensslCipherConfig":{"default":"HIGH:!EXPORT:!aNULL@STRENGTH","value":"ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES128-SHA"}}}}
about to fork child process, waiting until server is ready for connections.
forked process: 23

{"t":{"$date":"2023-08-17T10:25:23.386-05:00"},"s":"I",  "c":"CONTROL",  "id":20698,   "ctx":"-","msg":"***** SERVER RESTARTED *****"}
{"t":{"$date":"2023-08-17T10:25:23.392-05:00"},"s":"I",  "c":"NETWORK",  "id":4915701, "ctx":"main","msg":"Initialized wire specification","attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":17},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":17},"outgoing":{"minWireVersion":6,"maxWireVersion":17},"isInternalClient":true}}}
{"t":{"$date":"2023-08-17T10:25:23.394-05:00"},"s":"E",  "c":"NETWORK",  "id":23248,   "ctx":"main","msg":"Cannot read certificate file","attr":{"keyFile":"/cr/ssl/certs/CRSERVICE.pem","error":"error:FFFFFFFF8000000D:system library::Permission denied"}}
{"t":{"$date":"2023-08-17T10:25:23.394-05:00"},"s":"D1", "c":"ASSERT",   "id":23074,   "ctx":"main","msg":"User assertion","attr":{"error":"InvalidSSLConfiguration: Can not set up PEM key file.","file":"src/mongo/util/net/ssl_manager_openssl.cpp","line":2643}}
{"t":{"$date":"2023-08-17T10:25:23.395-05:00"},"s":"F",  "c":"CONTROL",  "id":20574,   "ctx":"main","msg":"Error during global initialization","attr":{"error":{"code":140,"codeName":"InvalidSSLConfiguration","errmsg":"Can not set up PEM key file."}}}
ERROR: child process failed, exited with 1
To see additional information in this output, start without the "--fork" option.

憑證在 cr/etc/ssl/certs 下沒有 644 個許可權: 

cr:/opt/dellemc/cr/etc/certs/ssl # ls -al
total 116
drwxrwxrwx 2 cyber-recovery-admin 14999 4096 Aug 30 15:10 .
drwx------ 3 root                 root  4096 Apr  7 17:52 ..
-rw------- 1 root                 root  1716 May 30 11:17 CRSERVICE.crt
-rw------- 1 root                 root  1766 May 30 11:17 CRSERVICE.key
-rw------- 1 root                 root  3482 May 30 11:17 CRSERVICE.pem

Cause

crsetup 指令檔會建立 Docker 實例所要求的檔案,這些檔案必須具有 644 的許可權 (rw-r--r--)。在此例項中,強制執行的 umask 077 會將檔案上的許可權覆寫為 600 (rw---- ---)。MongoDB 無法讀取組態的憑證和其他檔案。

Resolution

  1. 使用以下命令設定使用者 root 以使用 umask 022:
# umask 022
  1. 執行下列工作來確認目前的 umask: 
# umask
  1. 在出現 ONIE 提示時,執行下列命令:
# ./crsetup --deploy. 
  1. 請確定 root 即使在重新開機後仍保持 022 的 Umask,否則 MongoDB docker 實例會在重新開機後無法啟動。
cd ~ (for root home directory)
vi .bashrc (do not forget the Dot before bashrc).
Add the following line:
umask 022
Save the file. 

如需詳細資訊,請聯絡 Dell 技術支援 部門。

Affected Products

PowerProtect Cyber Recovery
Article Properties
Article Number: 000217057
Article Type: Solution
Last Modified: 08 Sept 2023
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.