Redimensionar partição VM sem apagar dados

3

Eu quero redimensionar uma partição de uma máquina virtual sem apagar nenhum dado.

Eu só tenho acesso a essa VM via SSH, por isso não consigo executar um CD ao vivo.

O SO é o Ubuntu 14.04.2 LTS.

Minhas partições atuais são:

Number  Start   End     Size    Type      File system  Flags
1      1049kB  256MB   255MB   primary    ext2         boot
2      257MB   10,7GB  10,5GB  extended
5      257MB   10,7GB  10,5GB  logical                 lvm

Eu tenho 10,7GB não alocado. df -h output:

Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/server--vg-root    7,6G  5,8G  1,4G  81% /
none                           4,0K     0  4,0K   0% /sys/fs/cgroup
udev                           2,0G  4,0K  2,0G   1% /dev
tmpfs                          396M  516K  395M   1% /run
none                           5,0M     0  5,0M   0% /run/lock
none                           2,0G     0  2,0G   0% /run/shm
none                           100M     0  100M   0% /run/user
/dev/sda1                      236M   43M  181M  20% /boot

Meu /dev/sda tem 21.5GB e estou usando apenas 10GB

Todos os tutoriais que eu encontrei exigem um CD ao vivo.

Alguma ideia de como posso fazer isso?

Obrigado

    
por Artur Ataíde 15.12.2015 / 11:09

1 resposta

4

Não parece que você realmente tenha o espaço vazio disponível - a partição "estendida" geralmente cobre todo o espaço restante no disco. É possível que você faça isso; particularmente se você criou a imagem de disco com 10 GB e depois ela foi redimensionada para 20 GB.

Então, supondo que você tenha o espaço vazio, você precisa:

  • Verifique se você tem backups!
  • Redimensione a partição estendida para preencher o novo limite superior do setor
    • Use fdisk para isso
    • Cuidado! fdisk pode destruir sua tabela de partições
    • Um método para fazer isso é aqui: redimensionar / aumentar a partição sem perder dados
    • O método pode ser resumido como
      • Remover as partições existentes (2 e 5)
      • Recrie-os com exatamente os mesmos números de setores iniciais
      • Para a partição 2, permita que ele consuma o disco inteiro
      • Para a partição 5, use o setor inicial exato e o tamanho que ele tem agora
  • Inscrever uma nova partição LVM no grupo de volume raiz
    • Crie uma nova partição Linux LVM no espaço estendido, permita que ela consuma o espaço restante em disco
    • Transforme isso em "volume físico" com pvcreate /dev/sdaX , em que X é a nova partição
    • Listar os grupos de volumes
      • vgdisplay
    • Estenda o grupo de volumes do servidor (substitua o nome pelo nome da etapa anterior, conforme necessário)
      • vgextend server-vg /dev/sdaX
    • Mostrar os volumes lógicos
      • lvdisplay
    • Estender o volume do root fs
      • lvextend /dev/server-vg/root /dev/sdaX
    • Redimensione o FS raiz para caber no novo espaço
      • Depende do FS que você está usando ... por exemplo para FS baseado em ext
      • resize2fs /dev/server-vg/root

Referências:

link

link

    
por Adrian 15.12.2015 / 11:29