
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 --partial
opção, mas não permite alterar tal VG (você precisaria executar, vgreduce --removemissing VG
mas 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)