PowerScale: Potentiel periodisk ventetid eller genstart af nodepanik efter OneFS-opgradering
Zusammenfassung: PowerScale-nodepanik genstarter periodisk med BUF_TIMELOCK- eller journalbuffertransaktionslås (BTL), der drænes efter opgradering til OneFS 9.10.1.7, 9.13.0.1, 9.13.0.2 eller 9.13.1.0. Kunder kan potentielt opleve latenstid på grund af intermitterende låsestrid med hangdumps. ...
Symptome
Et eller flere af følgende symptomer kunne bemærkes:
- En eller flere PowerScale-noder går i panik med en streng, der ligner en af disse i
/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);
- Låsestrid på grund af gevind, der venter på
txn_i_commithvilket potentielt kan forårsage klientforsinkelse.
Dell Support skal analysere allehangdumpsfor at bekræfte dette symptom.
- Høj diskkø på et eller flere drev på den berørte node i
/var/log/vmlog.
For eksempel:
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
Dette er et nyligt identificeret problem, hvor hyppig skylning fører til, at disken ikke reagerer.
Berørte versioner:
Kun disse nøjagtige versioner påvirkes:
- OneFS 9.10.1.7
- OneFS 9.13.0.1
- OneFS 9.13.0.2
- OneFS 9.13.1.0
OneFS-udgivelser før og efter disse versioner påvirkes ikke.
IOCA-oplysninger:
Hvis IOCA køres, og det viser, "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 ). Kør kommandoen til løsning, og IOCA bør rydde meddelelsen.
Lösung
Løsning:
Hvis du planlægger at opgradere til en af de berørte versioner, skal du proaktivt anvende denne løsning før opgraderingen.
Denne løsning kan også anvendes efter opgradering til de berørte versioner.
Forøg sysctl vfs.dirtybufthresh på alle nodes local sysctl.conf fil ved at udføre disse trin fra en enkelt node:
- Kommenter eventuelle løsninger, hvis de anvendes i henhold til denne artikel opdateringer før 2026-juni-03 i
/etc/local/sysctl.confpå alle noder. For at gøre det skal du køre:
isi_for_array "sed -i '' 's/^vfs.dirtybufthresh/#vfs.dirtybufthresh/g' /etc/local/sysctl.conf "
- Anvend denne nye opdaterede løsning i
/etc/local/sysctl.confpå alle noder.
For at gøre det skal du køre:
isi_for_array -s 'echo "vfs.dirtybufthresh=$((16 * (`sysctl -n kern.nbuf` / 2 + 20) * 9 / 10 ))" >> /etc/local/sysctl.conf'
Ovenstående kommando tilføjer følgende linje til /etc/local/sysctl.conf samt opdaterer det samme ved at køre OS-kernehukommelse også på alle noder
vfs.dirtybufthresh=<value_for_specific_node>
Ovenstående løsning gælder IKKE for klyngen Overholdelse.
Det anbefales at opgradere til de faste kodeversioner for overholdelsesklyngen.
Permanent løsning:
Engineering planlægger en permanent løsning i fremtidige OneFS-udgivelser.
Indtil disse udgivelser er tilgængelige, skal du beholde de midlertidige værdier, der er angivet i /etc/local/sysctl.conf.