Rss

  • youtube
  • linkedin
  • google

Como diminuir o tamanho de discos virtuais VMDK – parte 3

Compartilhe em suas mídias sociais
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Se desejar ler a parte 1 deste tutorial, clique aqui.
Se desejar ler a parte 2 deste tutorial, clique aqui.

No item anterior fizemos uma clonagem de um disco com uma única partição. Nas próximas linhas vou mostrar como clonei um disco com uma única partição primária e uma lógica para duas partições primárias e uma lógica com um ponto de montagem para o swap que originalmente estava em um arquivo.

NOTA: Utilizei como fonte esse site, para resolver problemas com a inicialização do novo disco. Faça como eu, sempre cite suas fontes.

Usando como base as informações da parte 1 deste tutorial, adicionaremos um novo disco à máquina virtual.

No meu caso, o disco primário possui 40 GB e vou substituir por um menor, de 20 GB. Isso realmente não é necessário, visto que como usamos alocação dinâmica, não importa muito o tamanho virtual total e sim o tamanho real utilizado.

Novo disco criado

Novo disco criado

Inicie sua máquina normalmente. “Vire homi”, como diz o cara do Linux que fica aqui do meu lado (torne-se root, se ainda não o for), e use o comando fdisk -l para verificar sua existência, da mesma forma como descrita na parte 2.

Lembre-se que a ordem em que o disco se encontra no barramento (IDE no exemplo acima) influencia diretamente no caminho de dispositivo a ser utilizado no Linux. Como no meu exemplo eu substitui um disco existente no IDE Secundário Master, e há apenas um disco no IDE Primário, esse disco apareceu como sendo /dev/sdb.

Meu disco Primário possui duas partições (/dev/sda1 e /dev/sda2) sendo uma física e uma lógica (ver itens em ciano).
Decidi criar quatro partições no novo disco. Uma para o /boot de 256 MB, uma para o / com 10 GB, uma para o /var com 6 GB e uma de swap com os aproximadamente 4 GB restante. Não vou entrar em detalhes do porque dessa estrutura, mas vai dar uma ideia das possibilidades que se tem com essa clonagem.
Segue a lista de comandos que utilizei para criar o disco. Os comandos estão em amarelo.

Digite w para gravar as alterações e sair. Digite fdisk -l para ver como ficou a estrutura.

Formatando as partições.

Use o comando mkfs.ext4 para formatar as partições /dev/sdb1, /dev/sdb3 e /dev/sdb4 em ext4.

Depois use o comando mkswap /dev/sdb2 para formatar a partição reservada para o swap.

Clonando os dados.

O primeiro passo é montar as partições. Vou usar o diretório /mnt como raiz e criarei cada um dos 3 diretórios onde serão montados as três partições. Segue a lista de comandos

Agora é hora de clonar todo o sistema:

ATENÇÃO! Tenha cuidado com a recursividade. No exemplo acima, estou pedindo para não sincronizar o próprio /mnt evitando um loop infinito. Dei umount /database para que ele copie o diretório apenas e não seu conteúdo, pois o outro sistema precisará dele. No caso do /database será necessário criar este diretório dentro do /mnt com as mesmas permissões. Então, se houver unidades montadas em diretórios que continuarão nessas unidades, ou você as desmonta antes da sincronização ou adiciona uma exclusão e depois recria o diretório. A primeira opção é a mais indicada.

Clonando os outros itens restantes.

Depois de tudo devidamente sincronizado, é hora de configurar o boot loader e o fstab que é usado para montar as partições automaticamente. No meu caso estou usando o grub legacye então vou mostrar o que fazer para ele inicializar corretamente o disco.
Primeiro ajustaremos o fstab. Use o comando blkid para que sejam exibidos os UUIDs de suas novas partições.

De posse das informações, edite o arquivo /mnt/raiz/etc/fstab para que fique aproximadamente como o abaixo.

Agora temos que editar as configurações do grub para que ele saiba onde que está a imagem do kernel.
Esta foi a parte mais complexa pois mesmo usando o dd para copiar o bootloader, eu não obtive sucesso. O que funcionou para mim foi desmontar /mnt/boot e o /mnt/var e com chroot mudar o raiz do sistema para o /mnt/raiz/, remontando o /boot na raiz. Segue os comandos utilizados:

O último comando acima pode dar um erro informando que o /boot não está montado. Apenas ignore e verifique, com o comando mount se não há nenhum /boot montado.

Depois, desmontamos o /boot e saímos do chroot.

Agora é hora de remontar o /boot para editar o grub.conf

Com um editor abra o arquivo /mnt/boot/grub/grub.conf e substitua o valor de root para o UUID de sua partição /.
No meu caso, a parte a ser modificada está assim

e ficará assim

Salve as edições. Desmonte os pontos /mnt/boot e /mnt/var, remova tudo que estiver dentro dos diretórios /mnt/raiz/var e /mnt/raiz/boot, desligue o sistema, modifique o disco Primário de sua Máquina Virtual e inicie novamente para ver se tudo funcionou.

Até a próxima.


Compartilhe em suas mídias sociais
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *