Validando e reparando cópias de volumes espelhados usando a CLI

É possível usar o comando repairvdiskcopy a partir da interface da linha de comandos (CLI) para validar e reparar cópias de volumes espelhados.

Atenção: Só execute o comando repairvdiskcopy se todas as cópias de volumes estiverem sincronizadas.

Ao emitir o comando repairvdiskcopy, use apenas um dos parâmetros -validate, -medium ou -resync. Você deve também especificar o nome ou ID do volume a ser validado e reparado, como a última entrada na linha de comandos. Após a emissão do comando, nenhuma saída é exibida.

-validate
Use esse parâmetro somente se desejar verificar se as cópias de volumes espelhados são idênticas. Se alguma diferença é localizada, o comando para e registra um erro, que inclui o endereço de bloco lógico (LBA) e o comprimento da primeira diferença. É possível usar esse parâmetro, sempre iniciando em um LBA diferente, para contar o número de diferenças em um volume.
-medium
Use esse parâmetro para converter setores em todas as cópias de volumes cujos conteúdos são diferentes nos erros de mídia virtual. Após a conclusão, o comando registra um erro, que indica o número de diferenças encontradas, o número das que foram convertidas em erros de mídia e o número das que não foram convertidas. Use essa opção se não tiver certeza de quais são os dados corretos, e não desejar que nenhuma versão incorreta dos dados seja usada.
-resync
Use esse parâmetro para sobrescrever o conteúdo da cópia de volume primário especificada para a outra cópia de volume. O comando corrige quaisquer setores diferentes, copiando os setores da cópia primária para as cópias que estão sendo comparadas. Após a conclusão, o processo do comando registra um erro, que indica o número de diferenças que foram corrigidas. Use essa ação se tiver certeza de que os dados da cópia de volume primário estarão corretos ou de que os aplicativos de host poderão manipular dados incorretos.
-startlba lba
Opcionalmente, use esse parâmetro para especifica o Endereço de Bloco Lógico (LBA) a partir do qual iniciar a validação e o reparo. Se, anteriormente, você usou o parâmetro validate, foi registrado um erro com o LBA no qual a primeira diferença, se houve alguma, foi localizada. Emita novamente o comando repairvdiskcopy com esse LBA para evitar o reprocessamento dos setores iniciais que foram comparados como idênticos. Continue a emitir novamente o comando repairvdiskcopy usando esse parâmetro para listar todas as diferenças.
Emita o comando a seguir para validar e, se necessário, reparar automaticamente as cópias espelhadas do volume especificado:
repairvdiskcopy -resync -startlba 20 vdisk8
Notas:
  1. Apenas um comando repairvdiskcopy pode ser executado em um volume de cada vez.
  2. Após o início do comando repairvdiskcopy, não é possível usar o comando para parar o processamento.
  3. A cópia primária de um volume espelhado não poderá ser alterada enquanto o comando repairvdiskcopy -resync estiver em execução.
  4. Se houver apenas uma cópia espelhada, o comando retornará imediatamente com um erro.
  5. Se a cópia que está sendo comparada ficar off-line, o comando será interrompido com um erro. O comando não continua automaticamente depois que a cópia fica on-line novamente.
  6. Nos casos em que uma cópia é legível mas a outra cópia tem um erro de mídia, o processo do comando automaticamente tenta corrigir o erro de mídia, gravando os dados lidos da outra cópia.
  7. Se nenhum setor diferente for localizado durante o processamento de repairvdiskcopy, será registrado um erro informativo ao final do processo.

Verificando o progresso da validação e do reparo das cópias de volumes usando a CLI

Use o comando lsrepairvdiskcopyprogress para exibir o progresso da validação e dos reparos do volume espelhado. É possível especificar uma cópia de volume usando o parâmetro -copy id. Para exibir o volume que possui duas ou mais cópias com uma tarefa ativa, especifique o comando sem parâmetros; não é possível ter apenas uma cópia de volume com uma tarefa ativa.

Para verificar o progresso da validação e do reparo de volumes espelhados, emita o comando a seguir:
lsrepairvdiskcopyprogress –delim :
O exemplo a seguir mostra como a saída do comando é exibida:
vdisk_id:vdisk_name:copy id:task:progress:estimated_completion_time
0:vdisk0:0:medium:50:070301120000
0:vdisk0:1:medium:50:070301120000