PowerScale: Posible latencia intermitente o reinicio de estado de alarma del nodo después de la actualización de OneFS
Zusammenfassung: El estado de alarma del nodo de PowerScale se reinicia de forma intermitente con BUF_TIMELOCK o el vaciado del bloqueo de transacciones del búfer de diario (BTL) después de la actualización a OneFS 9.10.1.7, 9.13.0.1, 9.13.0.2 o 9.13.1.0. Los clientes podrían experimentar latencia debido a la contención de bloqueo intermitente con volcados de bloqueo. ...
Symptome
Se pueden notar uno o más de los siguientes síntomas:
- Uno o más nodos de PowerScale entran en estado de alarma con una cadena similar a una de estas en
/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);
- Contención de bloqueo debido a un subproceso en espera
txn_i_commitlo que podría causar latencia del cliente.
El soporte de Dell debe analizar cualquierhangdumpspara confirmar este síntoma.
- Cola alta de discos en una o más unidades del nodo afectado en
/var/log/vmlog.
Por ejemplo:
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
Este es un problema recientemente identificado en el que el vaciado frecuente provoca que el disco no responda.
Versiones afectadas:
Solo estas versiones exactas se ven afectadas:
- OneFS 9.10.1.7
- OneFS 9.13.0.1
- OneFS 9.13.0.2
- OneFS 9.13.1.0
Las versiones de OneFS anteriores y posteriores a estas versiones no se ven afectadas.
Lösung
Solución alternativa:
Si planea actualizar a una de las versiones afectadas, aplique proactivamente esta solución alternativa antes de la actualización.
Esta solución alternativa también se puede aplicar después de actualizar a las versiones afectadas.
El valor de la solución alternativa aumentó desde el 3 de junio de 2026, especialmente para los nodos de clase A con una memoria de 96 GB o menos.
Aumente el sysctl vfs.dirtybufthresh en todos los nodes local sysctl.conf mediante la ejecución de estos pasos desde cualquier nodo único:
- Comente cualquier solución alternativa si se aplicó según este artículo actualizado antes del 3 de junio de 2026 en /etc/local/sysctl.conf en todos los nodos. Para ello, ejecute lo siguiente:
isi_for_array "sed -i '' 's/^vfs.dirtybufthresh/#vfs.dirtybufthresh/g' /etc/local/sysctl.conf "
- Aplique esta nueva solución alternativa actualizada en /etc/local/sysctl.conf en todos los nodos.
Para ello, ejecute lo siguiente:
isi_for_array -s 'echo "vfs.dirtybufthresh=$((16 * (`sysctl -n kern.nbuf` / 2 + 20) * 9 / 10 ))" >> /etc/local/sysctl.conf'
El comando anterior agrega la siguiente línea a /etc/local/sysctl.conf en todos los nodos:
vfs.dirtybufthresh=<value_for_specific_node>
La solución alternativa anterior NO se aplica al clúster de cumplimiento.
Se recomienda actualizar a las versiones de código fijo para el clúster de cumplimiento.
Solución permanente:
El equipo de ingeniería planea una solución permanente en futuras versiones de OneFS.
Hasta que esas versiones estén disponibles, conserve los valores de solución alternativa establecidos en /etc/local/sysctl.conf.