PowerFlex: Como detectar se a memória persistente (NVDIMM) tem blocos defeituosos
Summary: Os pools de armazenamento de granularidade fina do PowerFlex usam memória persistente (PMEM), também conhecida como DIMM não volátil (NVDIMM), para acelerar e compactar dados. Esses DIMMs podem ter blocos defeituosos como os RDIMMs regulares e devem ser monitorados periodicamente quanto a falhas como qualquer outro tipo de disco. Em uma versão anterior, o dispositivo SDS só detectará o bloco defeituoso ao acessar a seção relevante e falhar na leitura por falha no SDS. Para a versão anterior, as etapas a seguir podem ser seguidas proativamente para detectar NVDIMMs com blocos defeituosos e substituí-los. Nota: como temos redundância inerente no produto, os dados desses blocos são submetidos a backup em outro nó e, em caso de falha, o SDS falhará e os outros SDSs atenderão à E/S. ...
Instructions
Este procedimento se aplica somente a sistemas operacionais baseados em Linux.
Nota: A implementação baseada em VMware no ESXi mantém a capacidade de verificar se o dispositivo tem falhas ou não e não pode ser consultada a partir da VM de armazenamento do PowerFlex. Em caso de falha do NVDIMM, o datastore NVRAM ficará off-line e a VM de armazenamento será desligada e não conseguirá inicializar até que o NVDIMM seja substituído.
Como detectar blocos defeituosos no sistema operacional Linux:
1. Execute o seguinte comando usando o shell em cada host que tenha um NVDIMM:
NOTA: A recomendação de frequência é uma vez ao dia.
ndctl list --media-errors
Exemplo da saída do comando para um dispositivo DAX que tem falhas.
Na parte abaixo do resultado, o namespace 1.0 com dax 1.0 tem 13 blocos defeituosos e deve ser substituído.
[
{
"dev":"namespace1.0",
"mode":"devdax",
"map":"dev",
"size":62914560,
"uuid":"47072fee-1447-4e04-b4ca-f28e2c03af80",
"chardev":"dax1.0",
"align":4096,
"badblock_count":13,
"badblocks":
2. Correlacionando o dispositivo DAX que está em uso em um pool de armazenamento PowerFlex:
um. Para recuperar uma lista de todos os dispositivos de armazenamento configurados para cada pool de armazenamento no cluster, primeiro, devemos fazer log-in:
scli --login --username <NAME> --password <PASSWORD>
b. Visualize a lista de dispositivos configurados para cada pool de armazenamento:
for SNAME in $(scli --query_all_sds | grep ID: | awk '{print $5}'); do echo $SNAME ; scli --query_sds --sds_name $SNAME | grep -E "Path|Pool" ; done
Uma saída semelhante à seguinte deve aparecer para cada SDS no cluster:
SDS_Node1 Storage Pool information (total of 2 Storage Pools): 1: Storage Pool: default inflight requests factor: 115, inflight bandwidth factor 115 2: Storage Pool: fg_1 inflight requests factor: 115, inflight bandwidth factor 115 1: Name: N/A Path: /dev/sdv Original-path: /dev/sdv ID: ddfeb59d00030000 Storage Pool: default, Capacity: 1786 GB, State: Normal 2: Name: N/A Path: /dev/sdk Original-path: /dev/sdk ID: ddfedc3100030005 Storage Pool: fg_1, Capacity: 894 GB, State: Normal 3: Name: N/A Path: /dev/sdl Original-path: /dev/sdl ID: ddfedc3200030006 Storage Pool: fg_1, Capacity: 894 GB, State: Normal 4: Name: N/A Path: /dev/sdm Original-path: /dev/sdm ID: ddfedc3300030007 Storage Pool: fg_1, Capacity: 894 GB, State: Normal 5: Name: N/A Path: /dev/sdn Original-path: /dev/sdn ID: ddfedc3400030008 Storage Pool: fg_1, Capacity: 894 GB, State: Normal 6: Name: N/A Path: /dev/svm_sdo Original-path: /dev/svm_sdo ID: ddfedc3500030009 Storage Pool: fg_1, Capacity: 894 GB, State: Normal 7: Name: N/A Path: /dev/svm_sdp Original-path: /dev/svm_sdp ID: ddfedc360003000a Storage Pool: fg_1, Capacity: 894 GB, State: Normal 1: Name: N/A Path: /dev/dax0.0 Original-path: /dev/dax0.0 ID: ddfedc2100030001 Acceleration Pool: ac_1, Capacity: 15.7 GB (16052 MB), Used: 1.3 GB (1372 MB), State: Normal 2: Name: N/A Path: /dev/dax1.0 Original-path: /dev/dax1.0 ID: ddfedc2200030002 Acceleration Pool: ac_1, Capacity: 15.7 GB (16052 MB), Used: 1.3 GB (1372 MB), State: Normal 3: Name: N/A Path: /dev/dax2.0 Original-path: /dev/dax2.0 ID: ddfedc2300030003 Acceleration Pool: ac_1, Capacity: 15.7 GB (16052 MB), Used: 686.0 MB (702464 KB), State: Normal 4: Name: N/A Path: /dev/dax3.0 Original-path: /dev/dax3.0 ID: ddfedc2400030004 Acceleration Pool: ac_1, Capacity: 15.7 GB (16052 MB), Used: 686.0 MB (702464 KB), State: Normal
Isso significa que esse nó tem um dispositivo DAX /dev/dax1.0 usado pelo pool de aceleração ac_1 que tem blocos defeituosos e precisa ser substituído.
Orientação de suporte do PowerFlex
- Se esse caso for encontrado em apenas um host, prossiga com a remoção do dispositivo DAX do sistema PowerFlex e abra uma chamada de serviço para a FRU (unidade de substituição de campo) do dispositivo PMEM\NVDIMM com falha.
- A Dell Technologies recomenda substituir o dispositivo NVDIMM PMEM\ assim que possível em uma janela de manutenção agendada.
- O processo de substituição de um NVDIMM com defeito está documentado no Guia de unidade substituível em campo do R640\R740xd\R840, no capítulo relevante: "Substituindo um NVDIMM em um servidor VxFlex Ready Node R640\R740xd\R840 baseado em Linux."
- Se você tiver mais de um dispositivo em diferentes nós no mesmo pool de armazenamento de granularidade fina com blocos defeituosos, abra uma chamada de serviço para o suporte do PowerFlex para verificar a estabilidade dos dados.