6.3. Recuperação de Falha do Espelho LVM.
Esta seção fornece um exemplo de recuperação de uma situação onde uma perna de um volume LVM espelhado falha por causa que o dispositivo subjacente para volume físico falhou e o parâmetro
mirror_log_fault_policy está configurado para remove, requerendo que você manualmente reconstrua o espelho. Para informações sobre configurar o parâmetro mirror_log_fault_policy, consulte a Seção 6.3, “Recuperação de Falha do Espelho LVM.”.
Quando uma perna do espelho falha, o LVM converte o volume espelhado em um volume linear, o qual continua a operar como antes mas sem a redundância espelhada. Neste momento, você pode adicionar um novo disco no sistema para usar como um dispositivo físico substituto e reconstruir o espelho.
O comando a seguir cria volumes físicos que serão usados para o espelho.
Os comandos a seguir criam o grupo de volume
vg e o volume espelhado groupfs.
Você pode usar o comando
lvs para verificar o layout do volume espelhado e os dispositivos subjacentes para a perna do espelho e o log do espelho. Observe que no primeiro exemplo o espelho ainda não está completamente sincronizado, portanto você precisa esperar até que o campo Copy% seja exibido 100.00 antes de continuar.
Neste exemplo, a perna principal do espelho
/dev/sda1 falha. Qualquer atividade de gravação no volume espelhado faz com que o LVM detecte o espelho defeituoso. Quando isto ocorre, o LVM converte o espelho em um volume único linear. Neste caso, para iniciar a conversão, executamos um comando dd.
dd if=/dev/zero of=/dev/vg/groupfs count=10
[root@link-08 ~]# dd if=/dev/zero of=/dev/vg/groupfs count=10
10+0 records in
10+0 records out
Você pode usar o comando
lvs para verificar se o dispositivo é linear agora. Podem ocorrer erros de entrada e saída devido aos discos falhos.
Neste momento você ainda deve conseguir usar o volume lógico, mas não haverá redundancia de espelho.
Para reconstruir o volume espelhado, você substitui o drive quebrado e recria o volume físico. Se você usar o mesmo disco ao invés de substituí-lo por um novo, você verá avisos de "inconsistencia" quando executar o comando
pvcreate. Você pode previnir que este aviso apareça executando o comando vgreduce --removemissing.
Depois que você estender o grupo de volume original pelo volume físico novo.
Converta o volume linear de volta ao seu estado espelhado original.
lvconvert -m 1 /dev/vg/groupfs /dev/sdi1 /dev/sdb1 /dev/sdc1
[root@link-08 ~]# lvconvert -m 1 /dev/vg/groupfs /dev/sdi1 /dev/sdb1 /dev/sdc1
Logical volume mirror converted.
Você poderá usar o comando
lvs para verificar se o espelho foi restaurado.