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.
pvcreate /dev/sd[abcdefgh][12]
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sda2" successfully created
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
Physical volume "/dev/sdc1" successfully created
Physical volume "/dev/sdc2" successfully created
Physical volume "/dev/sdd1" successfully created
Physical volume "/dev/sdd2" successfully created
Physical volume "/dev/sde1" successfully created
Physical volume "/dev/sde2" successfully created
Physical volume "/dev/sdf1" successfully created
Physical volume "/dev/sdf2" successfully created
Physical volume "/dev/sdg1" successfully created
Physical volume "/dev/sdg2" successfully created
Physical volume "/dev/sdh1" successfully created
Physical volume "/dev/sdh2" successfully created
[root@link-08 ~]# pvcreate /dev/sd[abcdefgh][12]
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sda2" successfully created
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
Physical volume "/dev/sdc1" successfully created
Physical volume "/dev/sdc2" successfully created
Physical volume "/dev/sdd1" successfully created
Physical volume "/dev/sdd2" successfully created
Physical volume "/dev/sde1" successfully created
Physical volume "/dev/sde2" successfully created
Physical volume "/dev/sdf1" successfully created
Physical volume "/dev/sdf2" successfully created
Physical volume "/dev/sdg1" successfully created
Physical volume "/dev/sdg2" successfully created
Physical volume "/dev/sdh1" successfully created
Physical volume "/dev/sdh2" successfully created
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Os comandos a seguir criam o grupo de volume vg e o volume espelhado groupfs.
vgcreate vg /dev/sd[abcdefgh][12]
Volume group "vg" successfully created
lvcreate -L 750M -n groupfs -m 1 vg /dev/sda1 /dev/sdb1 /dev/sdc1
Rounding up size to full physical extent 752.00 MB
Logical volume "groupfs" created
[root@link-08 ~]# vgcreate vg /dev/sd[abcdefgh][12]
Volume group "vg" successfully created
[root@link-08 ~]# lvcreate -L 750M -n groupfs -m 1 vg /dev/sda1 /dev/sdb1 /dev/sdc1
Rounding up size to full physical extent 752.00 MB
Logical volume "groupfs" created
Copy to ClipboardCopied!Toggle word wrapToggle overflow
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.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
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
10+0 records in
10+0 records out
[root@link-08 ~]# dd if=/dev/zero of=/dev/vg/groupfs count=10
10+0 records in
10+0 records out
Copy to ClipboardCopied!Toggle word wrapToggle overflow
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.
lvs -a -o +devices
/dev/sda1: read failed after 0 of 2048 at 0: Input/output error
/dev/sda2: read failed after 0 of 2048 at 0: Input/output error
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
groupfs vg -wi-a- 752.00M /dev/sdb1(0)
[root@link-08 ~]# lvs -a -o +devices
/dev/sda1: read failed after 0 of 2048 at 0: Input/output error
/dev/sda2: read failed after 0 of 2048 at 0: Input/output error
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
groupfs vg -wi-a- 752.00M /dev/sdb1(0)
Copy to ClipboardCopied!Toggle word wrapToggle overflow
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.
Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.
Tornando o open source mais inclusivo
A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.
Sobre a Red Hat
Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.