PowerScale: OneFS yükseltmesinden sonra olası aralıklı gecikme süresi veya düğüm paniği yeniden başlatması
Zusammenfassung: OneFS 9.10.1.7, 9.13.0.1, 9.13.0.2 veya 9.13.1.0 a yükselttikten sonra PowerScale düğümü paniği, BUF_TIMELOCK veya Günlük Arabelleği İşlem Kilidi (BTL) boşaltmasıyla aralıklı olarak yeniden başlatılıyor. İstemciler, askıda kalma dökümleriyle aralıklı kilitleme çekişmesi nedeniyle gecikme süresi yaşayabilir. ...
Symptome
Aşağıdaki belirtilerden biri veya daha fazlası fark edilebilir:
- Bir veya daha fazla PowerScale düğümü, içinde aşağıdakilerden birine benzer bir dizeyle panik yapıyor.
/var/log/messages:
panic @ time 1778169056.246, thread 0xfffffe8ec0574100: Journal BTL drain on buf 0xfffffe8143e0c038 failed due to timeout. BTL was held by transaction (5:5143063721) [0xfffffe8efdbd3a40] tracking: getblk_core panic @ time 1778435497.146, thread 0xfffffe98692b3000: BUF_TIMELOCK: Waited more than 300 seconds for lock on 0xfffffe82c3b03ea8 (lock access type: 0x89900; wmesg: getblk) -- lockinfo: lock state: EXCL (recursed 0), held by: 0xffffff1e8e18b000; buf_track: jt_flush_block extrainfos: (0: td: 0x0; flags: 200200; time: 4108081318; 1: td: 0x0; flags: 201200; time: 676860600; 2: td: 0x0; flags: 201200; time: 676860439); ext_fields: (b_ext = 0xfffffe82c3b04240; b_trans_item: 0xfffff82333d71de0; b_shadow_item: 0x0; b_ifs_type: 2; b_source_baddr: 2cade5b7000e0029); vnode: 0xfffff80a562026a8; ldnum: 14; disk: 0xfffff80509c67800 da2; iosched: (total_inqueue: 41820; total_inprog: 18; bio_in_prog: 18); panic @ time 1777739689.534, thread 0xfffffe9dff52bb00: BUF_TIMELOCK: Waited more than 240 seconds for lock on 0xfffffe837d0e17b0 (lock access type: 0x89900; wmesg: getblk) -- lockinfo: lock state: EXCL (recursed 0), held by: 0xfffffffffffffff0; buf_track: biodone extrainfos: (0: td: 0x0; flags: 200200; time: 3583726706; 1: td: 0x0; flags: 201200; time: 2710420770; 2: td: 0x0; flags: 201200; time: 1737195872); ext_fields: (b_ext = 0xfffffe837d0e1b48; b_trans_item: 0x0; b_shadow_item: 0x0; b_ifs_type: 0; b_source_baddr: 660d66b900020002); geom bio fields: (bp->b_bio: 0xfffff8325b43dce8; bio_cmd: 2; bio_tdflags: 0; bio_disk: 0x0);
- İş parçacığının beklenmesi nedeniyle kilitleme çekişmesi
txn_i_commitBu da istemci gecikmesine neden olabilir.
Dell destek ekibi, herhangi birhangdumpsbu belirtiyi doğrulamak için.
- Etkilenen düğümdeki bir veya daha fazla sürücüde yüksek disk kuyruğu
/var/log/vmlog.
Örneğin:
Drive Type OpsIn BytesIn OpsOut BytesOut TimeAvg TimeInQ Queued Busy ------------------------------------------------------------------------------ . . . 2:20 SAS 330.7 11.4M 18.7 284.0k 2.2ms 2.9ms 624.9 76.3
Ursache
Bu, sık temizlemenin diskin yanıt vermemesine yol açtığı yeni tanımlanmış bir sorundur.
Etkilenen sürümler:
Yalnızca şu tam sürümler etkilenir:
- OneFS 9.10.1.7
- OneFS 9.13.0.1
- OneFS 9.13.0.2
- OneFS 9.13.1.0
Bu sürümlerden önceki ve sonraki OneFS sürümleri etkilenmez.
Lösung
Geçi -ci çözüm:
Etkilenen sürümlerden birine yükseltmeyi planlıyorsanız yükseltmeden önce bu geçici çözümü proaktif olarak uygulayın.
Bu geçici çözüm, etkilenen sürümlere yükseltme yapıldıktan sonra da uygulanabilir.
Geçici çözümün değeri, özellikle 96 GB veya daha düşük belleğe sahip A sınıfı düğümler için 03 Haziran 2026'dan bu yana artırılmıştır.
Artırma sysctl vfs.dirtybufthresh hepsinde nodes local sysctl.conf Aşağıdaki adımları herhangi bir tek düğümden gerçekleştirerek dosyalayın:
- 03 Haziran 2026 tarihinden önce tüm düğümlerde /etc/local/sysctl.conf dosyasında bu makale güncelleştirmelerine göre uygulanırsa herhangi bir geçici çözümü açıklama ile hariç tutun. Bunu yapmak için şu komutu çalıştırın:
isi_for_array "sed -i '' 's/^vfs.dirtybufthresh/#vfs.dirtybufthresh/g' /etc/local/sysctl.conf "
- Bu yeni güncellenmiş geçici çözümü /etc/local/sysctl.conf dosyasında tüm düğümlere uygulayın.
Bunu yapmak için şu komutu çalıştırın:
isi_for_array -s 'echo "vfs.dirtybufthresh=$((16 * (`sysctl -n kern.nbuf` / 2 + 20) * 9 / 10 ))" >> /etc/local/sysctl.conf'
Yukarıdaki komut, tüm düğümlerde /etc/local/sysctl.conf dosyasına aşağıdaki satırı ekler:
vfs.dirtybufthresh=<value_for_specific_node>
Yukarıdaki geçici çözüm, Uyumluluk Kümesi için geçerli DEĞİLDİR.
Uyumluluk Kümesi için sabit kod sürümlerine yükseltme yapılması önerilir.
Kalıcı çözüm:
Mühendislik ekibi, gelecekteki OneFS sürümlerinde kalıcı bir çözüm planlamaktadır.
Bu sürümler kullanılabilir olana kadar /etc/local/sysctl.conf dosyasında ayarlı geçici çözüm değerlerini koruyun.