Entendendo erros médios e blocos inválidos

Um sistema de armazenamento retorna uma resposta de erro de mídia para um host quando ele não é capaz de ler com sucesso um bloco. A resposta do sistema para uma leitura do host segue esse comportamento.

A virtualização de volume que é fornecida estende o prazo quando um erro de mídia é retornado para um host. Devido a essa diferença para sistemas não virtualizados, o sistema usa o termo blocos inválidos em vez de erros de mídia.

O sistema aloca volumes a partir das extensões que estão nos discos gerenciados (MDisks). O MDisk pode ser um volume em um controlador de armazenamento externo ou uma matriz RAID que é criada a partir das unidades internas. Em qualquer caso, dependendo do nível do RAID que é usado, normalmente existe proteção contra um erro de leitura em uma única unidade. Entretanto, ainda é possível obter um erro de mídia em uma solicitação de leitura se diversas unidades tiverem erros ou se as unidades estiverem reconstruindo ou estiverem offline devido a outros problemas.

O sistema fornece recursos de migração para mover um volume de um conjunto subjacente de armazenamento físico para outro ou para replicar um volume que usa o Metro Mirror ou o Global Mirror. Em todos esses casos, o volume migrado ou o volume replicado retorna um erro de mídia para o host quando o endereço de bloco lógico no volume original é lido. O sistema mantém as tabelas de blocos inválidos para registrar onde estão os endereços de bloco lógico que não podem ser lidos. Essas tabelas estão associadas com os MDisks que estão fornecendo o armazenamento para os volumes.

O comando dumpmdiskbadblocks e o comando dumpallmdiskbadblocks estão disponíveis para consultar a localização dos blocos inválidos.
Importante: O dumpmdiskbadblocks gera os erros de mídia virtual que são criados, e não uma lista dos erros de mídia reais em MDisks ou unidades.

É possível que as tabelas que são usadas para registrar as localizações de bloco inválido possam estar cheias. A tabela pode estar preenchida em um MDisk ou no sistema como um todo. Se uma tabela estiver cheia, a migração ou replicação que estava criando o bloco inválido falha porque não foi possível criar uma imagem exata do volume de origem.

O sistema cria alertas no log de eventos para as seguintes situações:
  • Quando ele detecta erros de mídia e cria um bloco inválido
  • Quando as tabelas de bloco inválido estão cheias

Esta tabela lista os códigos de erro de bloco inválido. As ações recomendadas para esses alertas guiam você na correção da situação.

Tabela 1. Erros de Bloco Inválido
Código de erro Description
1840 O disco gerenciado tem blocos inválidos. Em um controlador externo, este erro deve ser um erro de mídia copiado.
1226 O sistema falha ao criar um bloco inválido, porque o MDisk já tem o número máximo de blocos inválidos permitidos.
1225 O sistema falha ao criar um bloco inválido, porque o sistema já possui o número máximo de blocos inválidos permitidos.

Limpe os blocos inválidos desalocando a extensão do disco de volume por meio da exclusão do volume ou da emissão de E/S de gravação para o bloco. É uma boa prática corrigir os blocos inválidos assim que eles são detectados. Esta ação evita que o bloco inválido seja propagado quando o volume é replicado ou migrado. No entanto, é possível que o bloco inválido esteja na parte do volume que não é usada pelo aplicativo. Por exemplo, ele pode estar na parte de um banco de dados que não está inicializada. Esses blocos inválidos são corrigidos quando o aplicativo grava dados nessas áreas. Antes de a correção ocorrer, os registros de bloco inválido continuam a ocupar o espaço de bloco inválido disponível.