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
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
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.
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
/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
Post a Comment