Redimensionar o LVM no KVM CentOS 6 VM

3

Eu tenho uma imagem base da qual estou inicializando minhas VMs. A imagem base é de apenas 1,5 GB. VMs diferentes terão requisitos diferentes para espaço em disco. Eu configurei a VM com a configuração padrão:

VolGroup
  -lv_root
  -lv_swap

/dev/vda 1.5GB
  -/dev/vda1 /boot 500MB
  -/dev/vda2 LVM2  1GB

Então / dev / vda2 é onde reside o VolGroup. Digamos que eu precise de uma nova VM que precise ter 100 GB. Uso o LVM no nível do host para poder redimensionar o disco da VM à vontade, mas isso não é refletido até que a tabela de partição seja alterada na VM convidada.

EDIT : Tentei adicionar outra partição, mas isso faz com que o sistema não seja inicializável porque o LVM está procurando na nova partição por dados do LVM. Portanto, a nova tabela de partição ficaria assim:

/dev/vda 100GB
  -/dev/vda1 /boot 500MB
  -/dev/vda2 LVM2  1GB
  -/dev/vda3       98.5GB

Qual é a maneira mais rápida ou fácil de obter o LVM atual de 1 GB para um LVM de 100 GB?

user3063045
fonte
Você tem certeza de que o LVM está procurando na nova partição se os dados do LVM estão corretos? Como não deveria. Ele tentará ler o cabeçalho para ver se é Volume Físico, mas nada além disso. Qual é o resultado? Seguinte deve funcionar: vgextend VolGroup /dev/vda3 && lvextend -r -L+10G VolGroup/lv_root. Você realmente quer todo o espaço no /? Depende do uso, mas ter uma casa / separada geralmente é uma boa ideia.
Martian

Respostas:

1

Acabei recriando a partição atrás do LVM usando o fdisk. Aqui está o meu script incrível que funciona em servidores CentOS 6/7:

ssh root@vmip "fdisk /dev/vda << EEOF
                d
                2
                n
                p
                2
                $firstpartborder

                t
                2
                8e
                w
                EEOF" >> /dev/null 2>&1

echo
echo "-------- Rebooting VM to Sync Disks ----------"
ssh root@$vmip "reboot"
echo "------ Waiting for the VM to come back up ----"
sleep 20
echo "--------Extending LVM to fill disk -----------"
ssh root@$vmip "pvresize /dev/vda2; lvextend -r -l +100%FREE $lvmname; " > /dev/null 2>%1

firstpartborder é o primeiro setor da partição original. Isso é muito importante, pois isso estava quebrando meus esforços iniciais.

Espero que isso ajude qualquer pessoa com problemas semelhantes.

user3063045
fonte