PowerScale: Можлива періодична затримка або панічне перезавантаження вузла після оновлення OneFS
Zusammenfassung: Панічне перезавантаження вузла PowerScale періодично відбувається з розрядом BUF_TIMELOCK або блокування транзакцій Journal Buffer Lock (BTL) після оновлення до OneFS 9.10.1.7, 9.13.0.1, 9.13.0.2 або 9.13.1.0. Клієнти потенційно можуть стикатися з затримкою через періодичні конфлікти блокування з hangdump. ...
Symptome
Можна було помітити один або кілька наступних симптомів:
- Один або кілька вузлів PowerScale панікують через рядок, схожий на один із цих у
/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);
- Блокування конфлікту через очікування потоку
txn_i_commitЩо потенційно може спричинити затримку клієнтів.
Підтримка Dell повинна аналізувати будь-якіhangdumpsщоб підтвердити цей симптом.
- Висока черга на дисках на одному або кількох дисках на ураженому вузлі в
/var/log/vmlog.
Наприклад:
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
Це нещодавно виявлена проблема, при якій часте промивання призводить до нечутливості диска.
Уражені версії:
Зачіпаються лише ці точні версії:
- OneFS 9.10.1.7
- OneFS 9.13.0.1
- OneFS 9.13.0.2
- OneFS 9.13.1.0
Релізи OneFS до і після цих версій не зачіпаються.
Lösung
Обхідний шлях:
Якщо плануєте оновлюватися до одного з уражених релізів, проактивно використовуйте цей обхідний шлях перед оновленням.
Цей обхідний шлях також можна застосувати після оновлення до відповідних версій.
Вартість обхідного рішення зросла з 2026 червня 2026 року, особливо для вузлів класу A з пам'яттю 96 ГБ або менше.
Збільшити sysctl vfs.dirtybufthresh На всіх nodes local sysctl.conf Виконавши такі кроки з будь-якого окремого вузла:
- Залишайте коментарі з будь-яким обхідним шляхом, якщо вони застосовані, згідно з оновленнями цієї статті до 2026-червня-03, у /etc/local/sysctl.conf на всіх вузлах. Щоб це зробити, біжіть:
isi_for_array "sed -i '' 's/^vfs.dirtybufthresh/#vfs.dirtybufthresh/g' /etc/local/sysctl.conf "
- Застосуйте цей оновлений обхідний шлях у /etc/local/sysctl.conf на всі вузли.
Щоб це зробити, біжіть:
isi_for_array -s 'echo "vfs.dirtybufthresh=$((16 * (`sysctl -n kern.nbuf` / 2 + 20) * 9 / 10 ))" >> /etc/local/sysctl.conf'
Наведена вище команда додає наступний рядок у /etc/local/sysctl.conf на всіх вузлах:
vfs.dirtybufthresh=<value_for_specific_node>
Вищезазначене обхідне рішення НЕ застосовується до кластера відповідності.
Рекомендується оновити до фіксованих версій коду для кластера відповідності.
Постійне рішення:
Інженерія планує постійне рішення у майбутніх релізах OneFS.
Поки ці релізи не стануть доступними, тримайте значення обхідних шляхів у /etc/local/sysctl.conf.