LVM: Mova volumes físicos entre discos enquanto outros volumes físicos estão faltando

LVM: Mova volumes físicos entre discos enquanto outros volumes físicos estão faltando

Eu tenho um único grupo de volumes (VG) que consiste em vários volumes físicos (PV) distribuídos por vários discos. Agora quero mover todos os PVs que residem em um disco A para um novo disco B. No entanto, como não tenho slots suficientes para apenas adicionar o disco B, preciso remover temporariamente um terceiro disco C (que também contém PVs pertencentes ao mesmo VG) durante a operação. Depois, quando o disco A não for mais necessário, haverá novamente espaço para o disco C.

Agora minha pergunta: o fato da falta do disco C afetará a movimentação dos PVs do disco A para o disco B?

Claro, eu poderia simplesmente tentar fazer isso em um teste com vários dispositivos de loopback. Mas mesmo que funcione no teste, não tenho certeza se é realmenteEspecificadasfuncione (e, portanto, não causará perda de dados com os dados reais).

Responder1

Se os LVs no disco C estiverem SOMENTE no disco C, você poderiavgsdivisão(8)o disco C em um novo VG e, em seguida, remova o disco C, faça o que você precisa (provavelmentemover(8)), e entãovgmerge(8):

vgsplit existingVG newVG PV
# ...do what you need here...
vgmerge existingVG newVG

Se os LVs estiverem no disco C e em outro disco, você obterá LVs parciais após remover o disco C, e embora o LVM permita ativar dispositivos parciais com --partialopção, mas não permite alterar tal VG (você precisaria executar, vgreduce --removemissing VGmas NÃO é isso que você querer.)

Você poderia fazer isso offline usando dd: inicialize um CD ao vivo e execute dd if=/dev/OLDPV of=/dev/NEWPV bs=1M. Pode ser necessário redimensionar as partições posteriormente, o que não é simples. Mas pelo menos você tem um "backup" (a menos que você mude os argumentos para dd, é claro)

informação relacionada