PowerScale: Mogelijke intermitterende latentie of opnieuw opstarten bij noodsituatie van knooppunten na OneFS-upgrade
Zusammenfassung: PowerScale knooppuntalarmen worden af en toe opnieuw opgestart met BUF_TIMELOCK of BTL (Journal Buffer Transaction Lock) na een upgrade naar OneFS 9.10.1.7, 9.13.0.1, 9.13.0.2 of 9.13.1.0. Clients kunnen mogelijk latentie ervaren als gevolg van intermitterende vergrendelingsconflicten met hangdumps. ...
Symptome
Een of meer van de volgende symptomen kunnen worden opgemerkt:
- Een of meer PowerScale knooppunten raken in paniek met een tekenreeks die lijkt op een van deze in
/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);
- Vergrendelingsconflict als gevolg van schroefdraad die wacht op
txn_i_commitwat mogelijk clientlatentie kan veroorzaken.
Dell Support moet allehangdumpsom dit symptoom te bevestigen.
- Hoge schijfwachtrij op een of meer schijven op het betreffende knooppunt in
/var/log/vmlog.
Bijvoorbeeld:
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
Dit is een nieuw vastgesteld probleem waarbij frequent spoelen leidt tot een schijf die niet reageert.
Versies waarop dit van toepassing is:
Het gaat alleen om deze exacte versies:
- OneFS 9.10.1.7
- OneFS 9.13.0.1
- OneFS 9.13.0.2
- OneFS 9.13.1.0
Dit heeft geen invloed op OneFS-releases voor en na deze versies.
Lösung
Oplossing:
Als u van plan bent om te upgraden naar een van de betrokken releases, past u deze tijdelijke oplossing proactief toe voordat u de upgrade uitvoert.
Deze tijdelijke oplossing kan ook worden toegepast na een upgrade naar de betreffende versies.
De waarde van de tijdelijke oplossing is verhoogd sinds 3 juni 2026, met name voor A-klasse knooppunten met 96 GB of minder geheugen.
Verhoog de sysctl vfs.dirtybufthresh op alle nodes local sysctl.conf Bestand door deze stappen uit te voeren vanaf een enkel knooppunt:
- Reageer op eventuele tijdelijke oplossingen als deze wordt toegepast, zoals aangegeven in dit artikel bijgewerkt voor 3 juni 2026 in /etc/local/sysctl.conf op alle knooppunten. Ga hiervoor als volgt te werk:
isi_for_array "sed -i '' 's/^vfs.dirtybufthresh/#vfs.dirtybufthresh/g' /etc/local/sysctl.conf "
- Pas deze nieuwe bijgewerkte tijdelijke oplossing toe in /etc/local/sysctl.conf op alle knooppunten.
Ga hiervoor als volgt te werk:
isi_for_array -s 'echo "vfs.dirtybufthresh=$((16 * (`sysctl -n kern.nbuf` / 2 + 20) * 9 / 10 ))" >> /etc/local/sysctl.conf'
Het bovenstaande commando voegt de volgende regel toe aan /etc/local/sysctl.conf op alle knooppunten:
vfs.dirtybufthresh=<value_for_specific_node>
De bovenstaande tijdelijke oplossing is NIET van toepassing op het nalevingscluster.
Het wordt aanbevolen om te upgraden naar de vaste codeversies voor het nalevingscluster.
Permanente oplossing:
Engineering plant een permanente oplossing in toekomstige OneFS-releases.
Totdat deze releases beschikbaar zijn, houdt u de tijdelijke oplossingswaarden ingesteld in /etc/local/sysctl.conf.