PowerScale: 'NFS: сервер v4 видав погану помилку послідовності на непідтвердженій послідовності'.
Summary: OneFS 9.3 та OneFS 9.4: Помилка у звітах клієнта NFSv4: 'NFS: сервер v4 видав погану помилку послідовності на непідтвердженій послідовності'. Під час захоплення пакетів Dell Technologies також бачить таку помилку: NFS4ERR_NO_GRACE ...
Symptoms
PowerScale працює на OneFS 9.3 або 9.4, і клієнти NFSv4 повідомляють про такі помилки:
Nov 18 13:00:22 kernel: NFS: v4 server returned a bad sequence-id error on an unconfirmed sequence 00000000c6d21f3b!
Nov 18 13:00:22 kernel: NFS: nfs4_reclaim_open_state: unhandled error -10026
Nov 18 13:00:22 kernel: NFSv4: state recovery failed for open file /test2.txt, error = -10026
Коли ці помилки з'являються, додаток, що звертається до файлової системи NFS, зависає, що впливає на виробництво і потребує ручного втручання кілька разів на день.
Навіть після перезавантаження клієнтів NFS клієнти все одно повідомляють про помилки.
У захопленні пакетів клієнта або вузла ви також можете побачити такі помилки:
PCAP:
41 13:00:11.313563 10.205.224.32 10.205.224.12 NFS 302 V4 Call (Reply In 42) OPEN DH: 0x1eb1379b/
42 13:00:11.313804 10.205.224.12 10.205.224.32 NFS 122 V4 Reply (Call In 41) OPEN Status: NFS4ERR_NO_GRACE
43 13:00:11.314731 10.205.224.32 10.205.224.12 NFS 330 V4 Call (Reply In 44) OPEN DH: 0xa07785fa/test2.txt
44 13:00:11.314911 10.205.224.12 10.205.224.32 NFS 122 V4 Reply (Call In 43) OPEN Status: NFS4ERR_BAD_SEQIDCause
Ця проблема спричинена відомим дефектом: PSCALE-162845: Прийняти інкрементований ідентифікатор послідовності для попередньої операції, що має NFS4ERR_NO_GRACE or NFS4ERR_GRACE Помилка.
Усі версії NFSv4 зазнають впливу, не лише 4.1 і 4.2.
Деталі дефекту такі:
клієнт збільшує свій ідентифікатор послідовності, коли OneFS цього не очікує. Таким чином, OneFS неправильно збільшує ідентифікатор послідовності.
Клієнт NFS, здається, монотонно збільшує номер послідовності для OPEN/CLOSE/other Операції, зокрема NFS4ERR_NO_GRACE та NFS4ERR_GRACE Помилка. Але PowerScale не дозволяє інкрементований ідентифікатор послідовності, якщо попередня операція зіткнулася з NFS4ERR_NO_GRACE or NFS4ERR_GRACE Помилка. Отже, припустимо, PowerScale повертає NFS4ERR_NO_GRACE/NFS4ERR_GRACE помилка для попередньої операції. Це призводить до NFS4ERR_BAD_SEQID для наступної вхідної операції, оскільки PowerScale не очікує інкрементованого ідентифікатора послідовності.
Відповідно до NFSv4 RFC, немає визначення для NFS4ERR_NO_GRACE/NFS4ERR_GRACE заборонити інкрементовані цінності.
Існує різниця між Linux і PowerScale щодо логіки ідентифікації послідовності для NFS4ERR_NO_GRACE помилки. Отже, дозволимо прирости seqence-id у коді Isilon для узгодження з кодом Linux.
Resolution
Обхідний шлях — перенести робочий процес на NFSv3.
АБО
Інсталяційний патч:GA: PSP-3035 PATCH: [9.4.0.11_GA-RUP_2023-01][Multiple User space and Kernel Fixes](January 2023)DA: PSP-3069 PATCH: [9.4.0.10_DA-CUSTOM_2022-12][9.4.0.10_GA-RUP_2022-12 + NFS Fix](VMWARE)