Symptoms
Não há degradação nem aviso prévio para esse problema, que se manifestará na forma de uma pane no processo do FS. Depois disso, o processo será reiniciado e reativado automaticamente.
Devido ao caminho de código que está sendo exerado, o processo do FS pode entrar em pane de várias maneiras diferentes, inclusive as seguintes:
PANIC: ddr/sm/ddfs/ddfs_mtree.c: ddfs_mtree_list: 829: !((dd_errno(e) == ENOENT) || (dd_errno(e) == DD_ERR_FM_EATTRNOENT) || (dd_errno(e) == DD_ERR_STALE))
PANIC: ddr/fv/file_verify.c: file_verify_update_marker_attrs: 4872: Fatal Error
PANIC: ddr/fv/file_verify.c: file_verify_update_snap_attr: 4446: Fatal Error
PANIC: ddr/fv/file_verify.c: file_verify_update_marker_attrs: 4860: Fatal Error
Nos arquivos de log do processo do FS (ddfs.info) as seguintes mensagens serão encontradas antes de cada falha do processo:
01/17 20:21:59.292947 [7fbbf4f98f50] dd_cache_elem_reclaim: Evict count=256, Visited count=257, Skipped elem count=0, Skipped bucket count=0, Time threshold=1539816333626910. (99% full) Complete=True
01/17 20:22:04.662303 [7fbb031ad4f0] ERROR: FM fm_iget:355 - fm_iget failed to allocate elem in dd_cache 5001
Mensagens indicando que o processo interno estava cheio 99% e, em seguida, não foi possível alocar mais elementos, o que, portanto, causava uma falha no processo.
Nota: Esse problema afeta apenas as seguintes versões:
- DDOS 7.7.3.x: Não totalmente confirmado
- DDOS 7.7.4.x
- DDOS 7.9.0.10
- DDOS 7.10.0.x
Cause
Para qualquer operação de arquivo, como leitura/gravação, uma estrutura de inode é alocada a partir do pool dd_cache de elementos.
Se esse cache estiver cheio e uma nova solicitação for fornecida, um elemento será removido desse cache e a nova solicitação será atendida.
Essa eliminação é baseada em uma política de horário (um elemento é removido se não tiver sido acessado nos últimos "x" segundos).
Caso esse cache fique muito quente (todos os elementos foram acessados nos últimos "x" segundos) e nenhum elemento possa ser removido mesmo depois de várias tentativas, o fm_iget retornará DD_ERR_NOMEM.
Alguns chamadores dessa alocação de pools de elementos não conseguirão lidar com o erro normalmente e, portanto, fazer com que o processo do FS entre em PANE e o núcleo de dump deve funcionar "fm_iget" retorna qualquer erro. É por isso que há algumas assinaturas panic diferentes correspondentes ao defeito de código subjacente.
Resolution
O problema de código fundamental que resulta nessas falhas no processo de FS é corrigido usando
o DDOS-168410 nas seguintes versões (e todas as mais recentes nas mesmas ramificações de código):
- DDOS 7.7.5.1
- DDOS 7.10.1.0
- DDOS 7.11.0
Os clientes afetados por esse problema que não puderem fazer upgrade imediatamente para nenhuma das versões acima podem tentar uma solução temporária para a qual precisam entrar em contato com o Suporte Dell.
Se você estiver executando uma versão com o problema (aqueles listados acima), mas ainda não tiver enfrentado uma falha inesperada no processo de FS, mas corresponder aos sintomas deste artigo da KB, recomendamos não aplicar proativamente a solução temporária e, em vez disso, fazer upgrade para qualquer uma das versões fixas acima (ou qualquer uma de suas sucessores) para aproveitar as atualizações mais recentes e correções de código.
Affected Products
Data Domain