PowerFlex 3.6 device_config中缺少 PowerFlex Gateway 的 puppet 憑證
Summary: 本文將說明如何識別和修正在資料庫中的 device_config 表格中遺失 PowerFlex Gateway puppet-cert 所造成的問題。
Symptoms
-
與服務相關的操作,例如 RCM/IC 升級、進入或結束服務模式等...將失敗。
-
deployment.log包含類似以下錯誤。
-
在 post_request 中遇到的 VXOS REST API 錯誤:nil:nilClass 的未定義方法 '[]'
-
我們注意到,在 PowerFlex Manager 的資源下,已經列出兩個不同的 PowerFlex 閘道名稱。
範例:

Cause
PFxM 在 3.7.x 及更新版本中擷取裝置組態資訊的方式已變更為使用從 puppet 憑證名稱擷取的資料庫項目。
由於某些作業導致 PFxM 中的閘道回報名稱變更,可能是使用不同的主機名稱重新安裝閘道,或是變更 SSL 憑證。
資料庫表格中只有目前 PowerFlex Gateway 名稱的項目,但服務會看到舊的 PowerFlex Gateway 名稱。
Resolution
驗證:
1) 前往 /opt/Dell/ASM/deployments/Job-xxx<> 下的工作 ID,其中節點的服務相關作業失敗。
範例:cd /opt/Dell/ASM/deployments/Job-xxx<
>
2) 執行以下命令,以識別服務嘗試使用的 puppet 憑證。
Cat deployment.json|grep -i cert|grep scaleio
例:[delladmin@pfxm-jade Job-913d3f1a-b7cd-4fe9-a4b5-2085d8034d17-0-0]$ cat deployment.json|grep -i cert|grep scaleio.
「puppetCertName」:「scaleio-sio_gw」、
「puppetCertName」:“scaleio-sio_gw”,
[delladmin@pfxm-jade Job-913d3f1a-b7cd-4fe9-a4b5-2085d8034d17-0-0]$
3) 連線至 asm_dev 資料庫,並檢查 scaleio 閘道是否有憑證名稱。
psql -U Orion asm_dev
asm_dev=> 從device_config中選擇證書名稱,其中證書名稱如“scaleio-%”;
範例:
asm_dev=> 從device_config中選擇證書名稱,其中證書名稱如「scaleio-%」;
CertName
----------------------
scaleio-powerflex_gw
(1 列)
4) 確認資料庫中遺失我們從 deployment.jason 檔案注意到的 puppet 憑證。在此範例中,它是「scaleio-sio_gw」, 且在資料庫中遺失。
只有在步驟 4 為真時,才可繼續執行下列步驟。
1) 拍攝 PowerFlex Manager VM 的快照。
2) 執行下列查詢,並記下目前閘道的欄位值 (certname、host、provider、scheme credential_id) 在此範例中,目前的閘道為 scaleio-powerflex_gw。
asm_dev=> 從device_config中選擇 * 是像「scaleio-%」這樣的證書名稱;
身份證 | 認證名稱 | 主持人 |連接埠 | 路徑 |供應商 |方案 | credential_id |os_credential_id |svm_os_credential_id |os_type |svm_os_connect_ip |svm_os_type | update_time |svm_name |os_connect_ip
----+-------------------------+-----------------+------+--------------------------+----------+--------+----------------------------------+------------------+----------------------+---------+-------------------+-------------+-------------------------------+----------+---------------
49 | 縮放powerflex_gw | 192.168.150.100 | 192.168.150.100 | |ScaleIO/BIN/發現.rb |腳本 |腳本 |ff8080816e8e8257016e8e96df6d00e5 | | | | | |2022-04-13 07:01:26974846-04 | |
。
3) 執行以下查詢,為遺失的憑證在device_config表中新增項目。
便條:-在以下命令中,將 VALUES 欄位替換為正確的值。
插入device_config(證書名稱、主機、提供程式、方案credential_id)值(“<缺少證書名稱>”、“<上一步>記下的當前網關的值”、“<上一步><記下的當前網關的值”、“上一步><記下的當前網關的值”、“上一步>記下的當前網關的值”);
例: asm_dev=> 插入 device_config (憑證名稱、主機、提供程式、方案credential_id) 值('scaleio-sio_gw'、'192.168.150.100'、'腳本'、'腳本'、'ff8080816e8e8257016e8e96df6d00e5');
插入 0 1
4) 執行以下查詢,確認已新增遺失憑證的新項目。
從device_config中選擇證書名稱,其中證書名稱如「scaleio-%」;
範例:
asm_dev=> 從device_config中選擇證書名稱,其中證書名稱如「scaleio-%」;
certname
----------------------
scaleio-powerflex_gw
scaleio-sio_gw
(兩列)
asm_dev-> \q
[delladmin@pfxm-玉 ~]$
5) 在 PowerFlex Manager 中重試操作。