Case:Clonando e ampliando a partição do diretório / (raiz) all-in-one

Case: Deparei-me com a seguinte situação: Certa vez em um servidor de um determinado cliente, todo o diretório "raiz"estava montado com apenas uma partição "all-in-one". Para solucionar o problema, que é de estratégia de layout, eu precisei redimencionar a partição do diretório / e a maneira que encontrei foi redimensionar a partição clonando-a.

Segue abaixo os steps, reproduzidos em laboratórios para documentação do Case.

Inventário:
Laboratório: VirtualBox.
LiveCD:ubuntu-14.04.1-desktop-amd64.iso CheckSum: 119cb63b48c9a18f31f417f09655efbd
S/O: Debian 8.5
Disco antigo:
/dev/sda1          2048  1953791  1951744  953M 82 Linux swap / Solaris
/dev/sda2  *    1953792 20969471 19015680  9,1G 83 Linux
Disco novo:
/dev/sdb        20 GB

Solucionei o problema utilizando-me dos seguintes passos:
1º Criar uma nova partição, maior que a antiga.
2º Clonar a partição antiga, na partição nova.
3º Reinstalar o grub na nova partição.
4  Alterar o /etc/fstab e realocar a swap para a nova partição.

Criar uma nova partição:
root@host:# fdisk /dev/sdb
>Comando (m para ajuda): n
Tipo da partição
   p   primária (0 primárias, 0 estendidas, 4 livre)
   e   estendida (recipiente para partições lógicas)
>Selecione (padrão p): p
Número da partição (1-4, padrão 1): 1
Primeiro setor (2048-20971519, padrão 2048):
Último setor, +setores ou +tamanho{K,M,G,T,P} (2048-20971519, padrão 20971519):
Comando (m para ajuda): w
 root@host:# fdisk -l
Disco /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 setores
[...]
Identificador do disco: 0x0009aeb4

Device     Boot Start      End  Sectors Size Id Type
/dev/sdb1        2048 41943039 41940992  20G 83 Linux

Pronto, a nova partição está criada. Vamos para a parte 2, Clonar a partição antiga /dev/sda2 para a partição /dev/sdb1

 root@host:# dd if=/dev/sda2 of=/dev/sdb1 bs=1M

Reinstalar o grub na nova partição:
Para esta etapa, precisaremos fazer duas coisas, a primeira é iniciar o sistema com um live-cd e a segunda é redimensionar a partição para criar a Swap.
No live CD, entre no Gparted e redimensione a partição:
Segue abaixo os steps:




















Feito isso, agora ja com a swap o sistema ficara assim:

/dev/sdb1           2048 39845887 39843840  19G 83 Linux
/dev/sdb2       39845888 41943039  2097152   1G 82 Linux swap / Solaris

Montando o Grub:

user@LiveCd$ sudo mount /dev/sdb1 /mnt

Execute os comandos abaixo, com a opção bind.

user@LiveCd$sudo mount --bind /dev /mnt/dev
user@LiveCd$sudo mount --bind /dev/pts /mnt/dev/pts
user@LiveCd$sudo mount --bind /proc /mnt/proc
user@LiveCd$sudo mount --bind /sys /mnt/sys
user@LiveCd$sudo chroot /mnt

user@LiveCd$ sudo grub-install /dev/sda
user@LiveCd$ sudo update-grub
Saia do modo chroot

user@LiveCd$ exit
Desmonte todas as partições.

Alterar o arquivo /mnt/etc/fstab para o conteudo abaixo:
~
/dev/sda2 none            swap    sw              0       0
~

user@LiveCd$ sudo umount /mnt/sys
user@LiveCd$ sudo umount /mnt/proc
user@LiveCd$ sudo umount /mnt/dev/pts
user@LiveCd$ sudo umount /mnt/dev
user@LiveCd$ sudo umount /mnt

Desligue o sistema:
user@LiveCd$ sudo telinit 0



Remova a partição antiga da primeira opção de bot ou remova-a fisicamente e inicie o sistema.

Seu sistema estará funcionando com a nova partição clonada, com mais espaço.

Verifique com os comandos abaixo:
root@host# fdisk -l
Device     Boot    Start      End  Sectors Size Id Type
/dev/sda1           2048 39845887 39843840  19G 83 Linux
/dev/sda2       39845888 41943039  2097152   1G 82 Linux swap / Solaris

root@host:/home/rcunha# df -h
Sist. Arq.      Tam. Usado Disp. Uso% Montado em
/dev/sda1        19G  8,8G  8,9G  50% /
udev             10M     0   10M   0% /dev
tmpfs           403M  5,4M  397M   2% /run
tmpfs          1006M     0 1006M   0% /dev/shm
tmpfs           5,0M     0  5,0M   0% /run/lock
tmpfs          1006M     0 1006M   0% /sys/fs/cgroup
root@host:/home/rcunha#






FAQ: Não consegui, até o momento, recriar o sistema de arquivos original de modo que pudesse separar a partição raiz da partição e subdividi-la em diretórios.

Comments