PowerScale: Potenciální přerušovaná latence nebo panické restartování uzlu po upgradu OneFS
Zusammenfassung: Po upgradu na systém OneFS 9.10.1.7, 9.13.0.1, 9.13.0.2 nebo 9.13.1.0 se občas restartuje panika uzlu PowerScale s vyprázdněním funkce BUF_TIMELOCK nebo Journal Buffer Transaction Lock (BTL). Klienti mohou potenciálně zaznamenat latenci kvůli občasným kolizím uzamčení s hangdumpy. ...
Symptome
Může se vyskytnout jeden nebo více z následujících příznaků:
- U jednoho nebo více uzlů PowerScale dojde k panice s řetězcem podobným jednomu z těchto v části
/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);
- Uzamykání kvůli čekání vlákna na
txn_i_commitcož by mohlo potenciálně způsobit latenci klienta.
Podpora společnosti Dell musí analyzovat všechnyhangdumpsk potvrzení tohoto příznaku.
- Vysoká fronta disků na jedné nebo více jednotkách v dotčeném uzlu v
/var/log/vmlog.
Například:
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
Jedná se o nově identifikovaný problém, kdy časté vyprazdňování vede k tomu, že disk přestane reagovat.
Dotčené verze:
Ovlivněny jsou pouze tyto přesné verze:
- OneFS 9.10.1.7
- OneFS 9.13.0.1
- OneFS 9.13.0.2
- OneFS 9.13.1.0
Nemá vliv na verze systému OneFS před a po těchto verzích.
Podrobnosti o IOCA:
Pokud je IOCA spuštěna a je to zobrazeno, "Unable to determine if Sysctl setting is applied for dirtybufthresh on the following nodes: "Unable to determine if Sysctl setting is applied for dirtybufthresh on the following nodes: X, X ). Spusťte zástupný příkaz a IOCA by měl tuto zprávu vymazat.
Lösung
Alternativní řešení:
Pokud plánujete upgrade na jednu z dotčených verzí, proaktivně použijte toto zástupné řešení před upgradem.
Toto zástupné řešení lze použít také po upgradu na dotčené verze.
Zvyšte sysctl vfs.dirtybufthresh na všech nodes local sysctl.conf proveďte následující kroky z libovolného uzlu:
- Okomentujte jakékoli zástupné řešení, pokud je použito podle aktualizací tohoto článku před 3. červnem 2026 v
/etc/local/sysctl.confna všech uzlech. Uděláte to tak, že:
isi_for_array "sed -i '' 's/^vfs.dirtybufthresh/#vfs.dirtybufthresh/g' /etc/local/sysctl.conf "
- Použijte toto nové, aktualizované alternativní řešení v
/etc/local/sysctl.confna všech uzlech.
Uděláte to tak, že:
isi_for_array -s 'echo "vfs.dirtybufthresh=$((16 * (`sysctl -n kern.nbuf` / 2 + 20) * 9 / 10 ))" >> /etc/local/sysctl.conf'
Výše uvedený příkaz přidá do /etc/local/sysctl.conf stejně jako aktualizace stejné při spuštění paměti jádra OS na všech uzlech
vfs.dirtybufthresh=<value_for_specific_node>
Výše uvedené zástupné řešení NEplatí pro cluster Compliance.
Pro cluster Compliance se doporučuje upgradovat na verze s pevným kódem.
Trvalé řešení:
Technický tým plánuje trvalé řešení v budoucích verzích systému OneFS.
Dokud tyto verze nebudou k dispozici, ponechte hodnoty zástupného řešení nastavené v /etc/local/sysctl.conf.