PowerScale-CloudPools lnn tanımlama bilgisi rezervasyonunu yeniden adlandırma
Summary: Düğümleri daha önce kullanılan Mantıksal Düğüm Numaraları (LNN'ler) olarak yeniden adlandırmak, tanımlama bilgisi anahtarı ayırma dosyalarının yanlış şekilde yeniden kullanılmasına neden olabilir. Bu, birden fazla LIN/Dosyanın aynı bulut veri nesnelerine (CDO'lar) yazılması riskini artırabilir. ...
Symptoms
Bu sorunu tanımlamak için çeşitli imzalar vardır:
idi.log'de:
IDI_VERIFY=bcm_verify_invalidate_on_valid_storage_layer:577 | COND=BAM Cache Manager invalidate verification | MSG=Cache invalidation is attempted over invalid storage layer: range lbn 512-767 found chunk LBNS: [512,767] snap HEAD revec: [0,0,35184372056064:8192#254 from snap HEAD, (sparse)#2 from snap HEAD ] | LINSNAP= 1:1111:1111
Aşağıdaki hatalardan herhangi biri için isi_cpool_d.log gözden geçirin:
Aralık Hatası:
failed due to error code=12, msg=clapi error: CL_ABORTED_BY_CALLBACK; failed to transfer object range, invalid offset or output stream.
Bulut geri çağırma sırasında CloudPools Integrity hatasıyla karşılaşılabilir:
CloudPools data integrity error and CL_CHECKSUM_MISMATCH: failed to match the checksum: [error code: CBM_INTEGRITY_FAILURE]
İçinde /var/log/messages Aşağıdaki hata:
Failed Assertion:
isi_cpool_d: *** FAILED ASSERTION res == 0 @ /b/mnt/src/isilon/lib/isi_cpool_cbm2/src/ncoi.c:1025:
Cause
Bu şunun sonucudur: cpool_fd_store Tanımlama bilgisi anahtarı ayırma dosyaları için dosya adlarında LNN kullanma.
Resolution
Eğer CloudPools kümede hiçbir zaman lisanslanmamış olmasına rağmen durum kontrolünde aşağıdaki kritik uyarı verilmiştir. Bu uyarıyı yok saymakta bir sakınca yoktur:
"Your CloudPools are susceptible to data integrity issues. If a PowerScale node's Logical Node Number (LNN) is changed and another node claims the vacated LNN, it could lead to cookie key reservation files being reused incorrectly and can increase the risk of multiple LINs/Files writing to the same Cloud Data Objects(CDOs)."
Mantıksal Düğüm Numarasını (LNN) Yeniden Numaralandırma, CloudPools işlevini yerine getiremezseniz LNN'leri düzgün şekilde yeniden numaralandırmak için aşağıdaki adımları uygulayın.
LNN'leri yeniden numaralandırmak için bkz: KB 000022252
Aktif bir CloudPools Kümede iş çalışıyorsa aşağıdaki adımlar da tamamlanmalıdır.*Failing to do so induces the risk of Data Loss.*
(Bu kb'den çalıştırılan tüm komutlardan verileri kaydedin)
bu CloudPools Daemon devre dışı bırakılmalı, LNN yeniden numaralandırılmalı ve CloudPools daemon etkinleştirilmelidir.
1. Devre dışı bırakın CloudPools cin.
#isi_for_array isi services -a isi_cpool_d disable
2. Doğrulayın: isi_cpool_d Geriplan durduruldu:
#isi_for_array ps -lwp `pgrep isi_cpool_d`
3. Yeniden numaralandırın. lnns:
# isi config >>> lnnset [<old lnn> <new lnn>] >>> isi_lcd_d restart >>> commit >>> exit
4. Hem Eski hem de Yeni LNN'ler için mevcut ayırma dosyalarını kaldırın.
#rm -fv /ifs/.ifsvar/modules/cloud/cookie_res_*_[OLD_LNN] #rm -fv /ifs/.ifsvar/modules/cloud/cookie_res_*_[NEW_LNN] #rm -fv /ifs/.ifsvar/modules/cloud/ncoi_key_res_*_[OLD_LNN] #rm -fv /ifs/.ifsvar/modules/cloud/ncoi_key_res_*_[NEW_LNN]
5. Başlat cpool_d cin.
#isi_for_array isi services -a isi_cpool_d enable
Daha önce LNN yeniden numaralandırması yapıldıysa aşağıdaki komutları uygulayın:
1. Durdurun CloudPools cin.
#isi_for_array isi services -a isi_cpool_d disable
2. Doğrulayın: isi_cpool_d Geriplan durduruldu:
#isi_for_array ps -lwp `pgrep isi_cpool_d`
3. 10 saniye bekleyin.
#isi_for_array isi services -a isi_cpool_d enable
Bunun yapılmaması, Veri Kaybı riskini doğurur.
Additional Information