Entendendo os Erros de Mídia e os 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 Storwize V3700 para uma leitura de host segue este comportamento.

A virtualização de volume que é fornecida estende o prazo quando um erro de mídia é retornado para um host. Por causa dessa diferença para sistemas não virtualizados, o sistema Storwize V3700 usa o termo blocos ruins, 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. Nos dois casos, dependendo do nível do RAID usado, normalmente existe proteção com relação a 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 FlashCopy. 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 como saída apenas os erros de mídia virtual que foram criados, mas 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

Tabela 1 lista os código de erro de bloco inválido.

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

As ações recomendadas para esses alertas guiam você na correção da situação.

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. É possível, entretanto, 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 foi inicializado. 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.