Clone a instalação baseada em LVM para uma unidade maior e estenda a partição raiz para usar o novo espaço

1

Existem algumas perguntas semelhantes on-line, mas não vi nenhuma que abrangesse o cenário exato. Esta é uma pergunta e uma resposta em um problema que me levou várias horas para se exercitar.

Eu queria clonar uma unidade e manter / inicializar sem precisar mexer no grub.

    
por Michael Ribbons 27.05.2017 / 04:53

1 resposta

1

Inicialize em um CD / USB ativo e use o dd para clonar do disco antigo para o novo:

dd if=/dev/sda of=/dev/sdb 

Desligue e remova a unidade antiga para evitar conflitos de vg Na verdade, o que eu fiz foi o clone / dev / sda para um arquivo na terceira unidade, assim eu poderia a) ter um backup eb) começar do zero com bastante facilidade. Se você executar a etapa dd novamente, reinicialize como o pvdisplay ainda mostrará as estatísticas antigas.

shutdown -h now

Após a inicialização em live cd / usb novamente, o sdb se torna sda

use o parted para criar uma nova partição após todas as partições existentes. Eu encontrei parted para ser mais fácil do que fdisk neste caso, porque você pode apenas dizer-lhe para usar todo o espaço disponível

gparted /dev/sda

Agora crie um novo volume físico. Algumas pessoas sugerem alterar o tamanho pv existente (pvresize --setphysicalvolumesize), mas isso nunca funcionou para mim e resultou em erros na etapa lvextend

pvcreate /dev/sda3 (The new partition)
vgextend /dev/vgname /dev/sda3

Agora você deve ver o espaço livre adicional

vgdisplay

Desculpas pela falta de saída, não estou executando tudo isso novamente: D

Agora precisamos estender a partição lvm. Note que se você tiver uma partição swap no final, não se preocupe, lvm lida com isso para você.

lvextend /dev/vgname/root -L+150G

(vgdisplay mostrou quanto espaço você pode adicionar)

lvscan

Isso mostrará que o espaço foi alocado, mas ainda não estamos lá, o df não mostrará o espaço livre adicional.

e2fsck -f /dev/vgname/root
resize2fs /dev/vgname/root

Agora devemos estar lá, se você montar / dev / vgname / root, o df informará o novo tamanho da partição e o espaço livre.

Remova seu CD / USB e reinicie, sua instalação deve funcionar.

Esses passos funcionaram com uma instalação do Ubuntu Server 16.04.2 e um Ubuntu USB 16.04.2 ao vivo.

    
por Michael Ribbons 27.05.2017 / 04:53