PowerScale: os nós entram em pane com a pilha: Kernel de falha de asserção: pdm_update_membership+0x10b2
Summary: Vários nós entram em pane com a pilha: Kernel de falha de asserção: pdm_update_membership+0x10b2
Symptoms
Vários nós entram em pane com a pilha:
2022-03-03T14:40:11.340255-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: panic @ time 1646335137.652, thread 0xfffffe8ffa3b8080: Assertion Failure
2022-03-03T14:40:11.340297-05:00 <5.3> (id12) syslogd: sendto: Network is unreachable
2022-03-03T14:40:11.340317-05:00 <5.3> syslogd: last message repeated 1 times
2022-03-03T14:40:11.340322-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: time = 1646335137
2022-03-03T14:40:11.340334-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: cpuid = 15, TSC = 0xc868113bb278f
2022-03-03T14:40:11.340340-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: Panic occurred in module kernel loaded at 0xffffffff80200000:
2022-03-03T14:40:11.340347-05:00 <0.7> (id12) /boot/kernel.amd64/kernel:
2022-03-03T14:40:11.340353-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: Stack: --------------------------------------------------
2022-03-03T14:40:11.340359-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:isi_assert_halt+0x2e
2022-03-03T14:40:11.340365-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:pdm_update_membership+0x10b2
2022-03-03T14:40:11.340371-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:pdm_get_painted_domids+0x568
2022-03-03T14:40:11.340377-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:pdm_member_generate_entry+0xda
2022-03-03T14:40:11.340383-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:pdm_member_get_membership_entry+0x1b7
2022-03-03T14:40:11.340390-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:pdm_member_init_operation+0x16d
2022-03-03T14:40:11.340396-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:ifm_init_operation+0xb7
2022-03-03T14:40:11.340402-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:txn_i_include_vnode_to_list+0xc0
--
2022-03-03T14:40:11.340440-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:VOP_RENAME_APV+0x9b
2022-03-03T14:40:11.340446-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:isi_kern_renameat+0x37e
2022-03-03T14:40:11.340452-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:sys_enc_renameat+0x27
2022-03-03T14:40:11.340458-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: kernel:amd64_syscall+0x380
2022-03-03T14:40:11.340464-05:00 <0.7> (id12) /boot/kernel.amd64/kernel: --------------------------------------------------
2022-03-03T14:40:11.340471-05:00 <0.3> (id12) /boot/kernel.amd64/kernel: *** FAILED ASSERTION !domid_vec_empty(new_domids) && !pdm_is_non_ifs_vec(new_domids) ==> new_domids->domids[0] == PDM_ROOT_DOMID @ /b/mnt/src/sys/ifs/pdm/pdm_core.c:660: Invalid membership: [ 1.000000074fc.0001 ]
Cause
Causada pelo seguinte defeito: PSCALE-118595
Esse problema está relacionado ao fluxo de trabalho do ADS (fluxos de dados alternativos). Fluxos de Dados Alternativos são uma estrutura de dados usada no Windows que armazena informações de tipos de metadados sobre um arquivo, como comentários sobre um arquivo. Ele não existe no FreeBSD (que é o sistema de arquivos subjacente do OneFS no Isilon), mas o OneFS o suporta e é tratado como um arquivo dentro do OneFS.
Como determinar se um cluster está em risco para esse problema?
A ocorrência desse defeito no campo é rara.
Para que essa condição de corrida seja acionada, TODAS as seguintes opções devem ser verdadeiras:
O cluster está executando uma versão do OneFS inferior à 9.4.0.0.
O arquivo tem mais de um pai (arquivo com vínculo físico).
O arquivo deve ter o ADS anexado a ele.
Os dados do arquivo residem no armazenamento em nuvem (sem dados locais no disco).
Renomeie um dos links principais para outro domínio (por exemplo, um local de snapshot diferente).
Resolution
Solução permanente:
Faça upgrade para uma dessas versões do OneFS ou posteriores, que inclui a correção:OneFS 9.4.0.0PATCH: [9.3.0.5_GA-RUP_2022-03] PSP-1956PATCH: [9.2.1.10_GA-RUP_2022-03] PSP-2075PATCH: [9.1.0.14_GA-RUP_2021-12] PSP-1722
Uma solução alternativa seria complicada para esse cenário. Teríamos que remover arquivos afetados de CloudPools e disponibilizá-los apenas localmente. É melhor atualizar e corrigir o problema diretamente.