Como você só pode mover um PV inteiro de um VG para outro, não será possível mover todo o espaço livre de um VG para o outro. Mas você pode chegar lá parte do caminho:
Primeiro, mova todos os dados em um dos seus PVs para outro PV:
pvmove -v /dev/sdb1
Isto irá começar a mover os dados para os outros PVs, longe de sdb1. A opção -v também irá garantir que você veja algumas informações sobre o progresso. Quando o movimento terminar, você poderá removê-lo do grupo de volume:
vgreduce -a
Isso relatará algo como removing /dev/sdb1 from volgroup1
(desculpe, já faz um tempo e não tenho uma máquina para testar). Você pode adicionar isso ao outro VG:
vgextend volgroup2 /dev/sdb1
Depois disso, volgroup2
deve ter o espaço em sdb1 adicionado a ele.
Você pode repetir esta operação com sde1; depende da quantidade de espaço livre restante em volgroup1
após o primeiro movimento (estou com preguiça de fazer os cálculos necessários ;-). Também recomendaria mover todos os seus dados para um único grupo de volumes; no entanto, fazer isso exigirá que você crie um novo LV em volgroup2, crie um sistema de arquivos nele, monte-o, use rsync ou similar para mover a data e, em seguida, destrua o antigo. Claramente, esta é uma operação mais arriscada.