PowerFlex 3.6 device_config'da PowerFlex Ağ Geçidi için kukla sertifikası eksik
Summary: Bu makalede, veritabanındaki device_config tablosunda PowerFlex Gateway için puppet-cert eksik olmasının neden olduğu sorunların nasıl belirleneceği ve düzeltileceği açıklanmaktadır.
Symptoms
-
RCM/IC yükseltme, servis moduna girme veya çıkma vb. gibi servisle ilgili işlemler... başarısız olur.
-
deployment.log aşağıdaki hataya benzer bir hata içerir.
-
VXOS REST API error encountered in post_request: nil:NilClass için tanımsız yöntem '[]'
-
PowerFlex Manager'daki kaynaklar altında PowerFlex ağ geçidi için iki farklı adın listelendiğini görebiliriz.
Örneğin:

Cause
PFxM'nin 3.7.x ve sonraki sürümlerde aygıt yapılandırma bilgilerini alma şekli, kukla sertifika adı anahtarlanmış veritabanı girişlerini kullanacak şekilde değiştirilir.
Bazı işlemler, ağ geçidinin PFxM de bildirilen adının değişmesine, ağ geçidinin farklı bir ana bilgisayar adıyla yeniden yüklenmesine veya SSL sertifikasının değiştirilmesine neden oldu.
Veritabanı tablosunda yalnızca geçerli PowerFlex Ağ Geçidi adı için bir giriş bulunur ancak hizmetler, eski PowerFlex Ağ Geçidi adını görür.
Resolution
Doğrulama:
1) /opt/Dell/ASM/deployments/Job-xxx<> altındaki iş kimliğine gidin ve burada düğüm için servisle ilgili işlemler başarısız olur.
Örnek: cd /opt/Dell/ASM/deployments/Job-xxx<
>
2) Hizmetin hangi kukla sertifikasını kullanmaya çalıştığını belirlemek için aşağıdaki komutu çalıştırın.
cat deployment.json|grep -i cert|grep scaleio
Örnek: [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 veritabanına bağlanın ve scaleio ağ geçidi için mevcut olan sertifika adlarını kontrol edin.
psql -U orion asm_dev
asm_dev=> select certname from device_config where certname like 'scaleio-%';
Örneğin:
asm_dev=> device_config'den certname seçin, burada certname 'scaleio-%' gibi;
Sertifika adı
----------------------
ScaleIO-powerflex_gw
(1 satır)
4) deployment.jason dosyasından fark ettiğimiz puppet cert'in veritabanında eksik olduğundan emin olun. Bu örnekte "scaleio-sio_gw" şeklindedir ve veritabanında yoktur.
Yalnızca 4. adım doğruysa aşağıdaki adımlarla devam edin.
1) PowerFlex Manager VM'nin anlık görüntüsünü alın.
2) Aşağıdaki sorguyu çalıştırın ve geçerli Ağ Geçidi için alanların (sertifika adı, ana bilgisayar, sağlayıcı, şema credential_id.) değerlerini not edin Bu örnekte geçerli ağ geçidi scaleio-powerflex_gw'dır.
asm_dev=> select * from device_config 'scaleio-%' gibi certname vardı;
Kimlik | Sertifika Adı | ev sahibi | Liman | Yol | Sağlayıcı | Şema | 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 | scaleio-powerflex_gw | 192.168.150.100 | | scaleio/bin/discovery.rb | Komut Dosyası | Komut Dosyası | ff8080816e8e8257016e8e96df6d00e5 | | | | | | 2022-04-13 07:01:26974846-04 | |
'dir.
3) Eksik sertifika için device_config tablosuna yeni bir giriş eklemek üzere aşağıdaki sorguyu çalıştırın.
Not:-Aşağıdaki komutta, VALUES alanlarını doğru değerle değiştirin.
INSERT INTO device_config (sertifika adı, ana bilgisayar, sağlayıcı, şema credential_id) VALUES('<Eksik sertifika adı>', '<Önceki adımda not edilen geçerli ağ geçidindeki değer', '<Önceki adımda> not edilen geçerli ağ geçidindeki değer', '<Önceki adımda> not edilen geçerli ağ geçidindeki değer', '<Önceki adımda> not> edilen geçerli ağ geçidindeki değer');
Örnek: asm_dev=> INSERT INTO device_config (certname, host, provider, scheme, credential_id) VALUES('scaleio-sio_gw', '192.168.150.100', 'script', 'script', 'ff8080816e8e8e8257016e8e96df6d00e5');
INSERT 0 1
4) Eksik sertifika için yeni girişin eklendiğini onaylamak için aşağıdaki sorguyu çalıştırın.
device_config'dan certname öğesini seçin, burada certname 'scaleio-%' gibi;
Örneğin:
asm_dev=> device_config'den certname seçin, burada certname 'scaleio-%' gibi;
certname----------------------
scaleIO-powerflex_gw
ScaleIO-sio_gw
(iki satır)
asm_dev-> \q
[delladmin@pfxm-yeşim ~]$
5) PowerFlex Manager'da işlemi yeniden deneyin.