segunda-feira, 18 de junho de 2018

LVM - Logical Volume Management - Case I

Use Case I - partição de boot "estourada"

Prosseguindo com nossa série sobre LVM, nesse artigo iremos mostrar uma caso real, que pretende responder a essa pergunta: Como resolver a falta de espaço na partição de boot? Ocasionada por esse problema: Partição do /boot cheia e não consegue fazer atualização!

Para resolver este problema, adotamos uma estratégia que vai servir para lhes mostrar como resolver duas situações que podem ocorrer na vida de um administrador de servidores ou desktops:
Como substituir um HD, sendo que este HD é por onde o sistema faz o BOOT e ainda contém a partição root?

Não faz ideia do quanto isso é (ou era) complicado? Então talvez não seja nem a hora para você estar lendo esse artigo! (a não ser que seja por mera curiosidade :-)

Se você é um curioso, ou está começando a aprender essas coisas, siga em frente, pois nosso estilo é Tutorial Mesmo, tipo aquela série de livros "Para leigos"...

Mas se você é um Ninja, e só está querendo rapidamente saber como fazer isso, no final do artigo mostramos uma lista de comandos, sem "figurinhas" e sem muito blá-blá...



Cenário

Uma pessoa decidiu que usaria máquina virtual para acesso ao seu Internet Banking. E por razões de versão e compatibilidade, ele teve que "optar" por usar o Ubuntu! É que o sistema de segurança adotado pela Caixa Econômica Federal só é homologado para o Ubuntu Linux!


Internet Banking da Caixa Econômica Federal

Esse assunto, o Internet Banking da CEF, já foi alvo de um artigo em nosso Blog: Internet Banking Caixa Econômica Federal.

Qual a raiz do problema?

A raiz do problema reside no fato de que a partição de boot, que foi automaticamente configurada pelo Ubuntu durante a instalação, tem apenas 256 MB de espaço e, após algumas atualizações de Kernel, está lotada!

Claro que existem várias soluções "paliativas" para isso, sempre dependendo muito de alguns hacks no sistema, como remover os arquivos binários das versões anteriores do Kernel que, ao serem atualizadas, foram deixadas na partição. Mas como o assunto do momento é o LVM e suas maravilhas, e por sabermos que o Ubuntu já vem adotando de modo default o uso de LVM para montagem do sistema, decidimos fazer uma abordagem até então nova para resolver esse problema.

Decidimos que iríamos usar uma das "soluções mágicas" de LVM para resolver de forma definitiva a falta de espaço na partição root!


As It

Antes de mais nada, precisamos ver e entender o cenário atual, ou seja, como a máquina Ubuntu está configurada, para podermos traçar uma estratégia.
Mas, antes de prosseguirmos, lembrem-se que se trata de uma máquina virtual, suportada pelo VirtualBox. Se quiserem entender melhor as vantagens de usar máquinas virtuais, já escrevemos aqui no Blog alguns artigos sobre esse assunto. Fiquem à vontade para ler todos eles, a começar por esse: Máquinas virtuais 1: Computadores dentro de computadores.

  • Particionamento



Como podemos ver na figura acima, o sistema atualmente possui um HD de 12 GB que foi particionando da seguinte forma pelo instalador do Ubuntu:

  • /dev/sda1: Partição de 243 MB montada em /boot
  • /dev/sda2: Partição estendida(!) usando todo o restante possível do HD
  • /dev/sda5: Partição única, do tipo LVM v2, e utilizada como um Physical Volume para o sistema como um todo. O "ponto de montagem" é, na verdade, um Volume Group, que foi nomeado como ubuntu-vg. É de se esperar que todos os Logical Volumes que efetivamente compõem o sistema estejam alocados aqui!


A partição de boot (/dev/sda1)

Olhando mais de perto /dev/sda1, podemos ver o seguinte:


A partição de boot tem 243.00 MB e foi formatada como ext2(!). As informações importantes aqui são:
É do tipo ext2;
Seu UUID é 5c59feb9-04ff-4ac6-bf1e-7ab339631b7e;
Montada em /boot.

O conteúdo dessa partição é o seguinte:

root@MinhaCaixa:/boot# ls -l
total 51243
-rw-r--r-- 1 root root  1246311 Mai 17  2017 abi-4.4.0-79-generic
-rw-r--r-- 1 root root   190356 Mai 17  2017 config-4.4.0-79-generic
drwxr-xr-x 5 root root     1024 Jul 24  2017 grub
-rw-r--r-- 1 root root 39280107 Jun  8  2017 initrd.img-4.4.0-79-generic
drwx------ 2 root root    12288 Abr  9  2016 lost+found
-rw-r--r-- 1 root root   182704 Jan 28  2016 memtest86+.bin
-rw-r--r-- 1 root root   184380 Jan 28  2016 memtest86+.elf
-rw-r--r-- 1 root root   184840 Jan 28  2016 memtest86+_multiboot.bin
-rw------- 1 root root  3883279 Mai 17  2017 System.map-4.4.0-79-generic
-rw------- 1 root root  7091696 Mai 17  2017 vmlinuz-4.4.0-79-generic
root@MinhaCaixa:/boot#

Podemos ver que na partição boot, como era de se esperar, encontramos os binários do Kernel do Linux e a pasta grub, contendo os arquivos necessários para o GRUB conseguir fazer boot no sistema.

Se dermos uma olhada em /etc/fstab, vamos ver que /dev/sda1 está montada da seguinte forma:

# /boot was on /dev/sda1 during installation
UUID=5c59feb9-04ff-4ac6-bf1e-7ab339631b7e /boot ext2 defaults 0 2

Observem que a partição está sendo montada pelo seu UUID, e não pelo seu "nome" /dev/sda1!
Relembrando: o "nome" dos HDs mudam quando eles mudam de "posição" dentro das portas de conexão (SATA e Etc...). Assim, quem um dia foi sda pode se tornar sdb, e vice-versa! Dá para imaginar a bagunça que isso pode se tornar, quando existem arquivos de configuração apontando para um lugar esperando que ali exista uma coisa e, de uma hora para outra, aparece outra coisa?! Ao usar os UUID nas configurações, os HDs podem mudar de "nome" à vontade, que isso não vai causar nenhum problema, pois seus UUID permanecem sempre os mesmos.

O Physical Volume /dev/sda5

Agora é a vez de /dev/sda5! Olhando ela mais de perto, podemos ver o seguinte:


A partição /dev/sda5 ocupa (quase) tudo o que sobrou do HD e tem 11.76 GB. Foi "formatada" como lvm2. As informações importantes aqui são:
Trata-se de um Physical Volume;
Está sendo utilizada pelas Unidades lógicas (Logical Volumes) root e swap_1.

  • LVM

No que diz respeito ao LVM, as coisas estão da seguinte forma (informações obtidas com pvdisplay, vgdisplay e lvdisplay):

pvdisplay

root@MinhaCaixa:~# pvdisplay 
 --- Physical volume --- 
 PV Name               /dev/sda5 
 VG Name               ubuntu-vg 
 PV Size               11,76 GiB / not usable 2,00 MiB 
 Allocatable           yes  
 PE Size               4,00 MiB 
 Total PE              3010 
 Free PE               7 
 Allocated PE          3003 
 PV UUID               GAomfq-RhwF-kJvc-3UTg-7feS-0fTS-8weluJ 

> Existe apenas um Physical Volume (/dev/sda5).


vgdisplay

root@MinhaCaixa:~# vgdisplay 
 --- Volume group --- 
 VG Name               ubuntu-vg 
 System ID              
 Format                lvm2 
 Metadata Areas        1 
 Metadata Sequence No  3 
 VG Access             read/write 
 VG Status             resizable 
 MAX LV                0 
 Cur LV                2 
 Open LV               2 
 Max PV                0 
 Cur PV                1 
 Act PV                1 
 VG Size               11,76 GiB 
 PE Size               4,00 MiB 
 Total PE              3010 
 Alloc PE / Size       3003 / 11,73 GiB 
 Free  PE / Size       7 / 28,00 MiB 
 VG UUID               YkKz4X-Kv9v-29un-Jw1D-pgIh-eX12-eCwZVH 

> Existe apenas um Volume Group (ubuntu-vg).


lvdisplay

root@MinhaCaixa:~# lvdisplay 
 --- Logical volume --- 
 LV Path                /dev/ubuntu-vg/root 
 LV Name                root 
 VG Name                ubuntu-vg 
 LV UUID                b33P5l-BZV1-QHF4-udEv-067h-P8eX-Bps01k 
 LV Write Access        read/write 
 LV Creation host, time ubuntu, 2016-04-09 12:15:05 -0300 
 LV Status              available 
 # open                 1 
 LV Size                9,73 GiB 
 Current LE             2492 
 Segments               1 
 Allocation             inherit 
 Read ahead sectors     auto 
 - currently set to     256 
 Block device           252:0 
   
 --- Logical volume --- 
 LV Path                /dev/ubuntu-vg/swap_1 
 LV Name                swap_1 
 VG Name                ubuntu-vg 
 LV UUID                GnOfzd-SIn6-MmMh-88Ai-iDy9-vwi1-FlbeV2 
 LV Write Access        read/write 
 LV Creation host, time ubuntu, 2016-04-09 12:15:06 -0300 
 LV Status              available 
 # open                 2 
 LV Size                2,00 GiB 
 Current LE             511 
 Segments               1 
 Allocation             inherit 
 Read ahead sectors     auto 
 - currently set to     256 
 Block device           252:1 
   
> Existem dois Logical Volumes: root e swap_1, com os respectivos caminhos /dev/ubuntu-vg/root e /dev/ubuntu-vg/swap_1.



To Be

Bem, agora que sabemos como as coisas são (As It), vamos definir como elas devem ser (To Be)!

  • Particionamento

Sem mais delongas, queremos que as coisas fiquem como mostradas na figura abaixo:


Podemos que agora as configurações de HD mudaram para:

  • /dev/sda tem 16.00 GB;
  • /dev/sda1 tem 1.00 GB;
  • /dev/sda2 partição primária de 15.00 GB, que é o novo Physical Volume. (subistitui /dev/sda2 estendida -> /dev/sda5)
Na verdade, /dev/sda agora é outro HD! Como nosso ambiente é baseado no VirtualBox, achamos mais "simples" inserir um segundo HD de 16.00 GB e "transferir" tudo para ele, excluindo o antigo de 12.00 GB após a "transferência".
Vale dizer também que, em algum momento desse processo, teremos dois HDs: /dev/sda e /dev/sdb. E depois que terminarmos tudo, /dev/sdb passará a ser /dev/sda. Daí a importância de configurar onde for necessário usando UUID, ao invés de nomes que podem mudar!...



Estratégia


Agora que definimos como as coisas devem ser, precisamos montar uma estratégia que, com LVM, será um pouco mais simples! Aliás, só não será totalmente simples porque vamos ter que "transferir" o boot de /dev/sda para /dev/sdb, ou seja, fazer o sistema conseguir dar boot no novo HD. Claro que estamos falando do GRUB e suas configurações exotéricas e quase cabalísticas!

Basicamente, a estratégia é a seguinte:

  1. Criar e inserir um novo HD no sistema;
  2. "Transferir" TUDO para ele;
  3. Remover o HD antigo.

Aplicando a técnica de refinamento sucessivo no item 2, temos o seguinte:
  • 2.1 - Criar uma partição de (*) boot maior, com 1.00 GB, como /dev/sdb1 (temporariamente);
  • 2.2 - Criar uma segunda partição (primária dessa vez) ocupando todo o restante do HD, como /dev/sdb2 (temporariamente);
  • 2.3 - Copiar tudo de /dev/sda1 para /dev/sdb1 (estamos tratando da partição de boot);
  • 2.4 - Criar um novo Physical Volume (PV) usando /dev/sdb2 e estender o Volume Group ubuntu-vg;
  • 2.5 - MOVER INTEIRO o PV /dev/sda5, preparando para o item 3 (quem faz esse mover para nós é o LVM, com um simples comando pvmove!);
  • 2.6 - Remover o PV /dev/sda5 do VG ubuntu-vg e da lista de PVs disponíveis;
  • 2.7 - Usar o GRUB e preparar o novo HD para que o sistema consiga dar boot por ele;

(*) Não esquecer de setar essa partição como partição de boot!

OBS.: Colocamos (temporariamente) quando citamos /dev/sdb1 e /dev/sdb2 por quê? Lembram que quando /dev/sda "sumir", /dev/sdb vai virar /dev/sda?!


Execução do Plano


Para a execução do nosso plano, vamos colocar aqui no Blog uma versão para iniciantes. Para aqueles que estão começando a se aventurar nesses assuntos. Para os mais apressados, tem uma versão Ninja lá no final do artigo!


1. Criar e inserir um novo HD no sistema

Usando a ferramenta de configuração do VirtualBox, criamos o novo HD, mais ou menos da seguinte forma:


Deixando o sistema provisoriamente com dois HDs:


Naturalmente, quando o sistema for reiniciado, o antigo HD continuará sendo reconhecido /dev/sda e o novo HD será reconhecido como /dev/sdb. Isso só será desse forma por causa da ordem em que eles estão na lista da Controladora SATA!

Após a reinicialização do sistema, podemos usar fdisk para nos mostrar como as coisas ficaram após a inclusão do novo HD:

root@MinhaCaixa:~# fdisk -l 
Disk /dev/sda: 12 GiB, 12884901888 bytes, 25165824 sectors 
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disklabel type: dos 
Disk identifier: 0x32c84e4c 

Dispositivo Inicializar  Start      Fim  Setores  Size Id Tipo 
/dev/sda1   *             2048   499711   497664  243M 83 Linux 
/dev/sda2               501758 25163775 24662018 11,8G  5 Estendida 
/dev/sda5               501760 25163775 24662016 11,8G 8e Linux LVM 


Disk /dev/sdb: 16 GiB, 17179869184 bytes, 33554432 sectors 
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes

Como podemos ver, o HD antigo continua como /dev/sda e o novo foi reconhecido como /dev/sdb!



2. "Transferir" TUDO para ele (o novo HD)


Toda as etapas a seguir serão executadas em linha de comando, como o usuário root! Então, antes de prosseguir, abra um Terminal diretamente na VM (Virtual Machine) ou qualquer outro meio, e mude para o usuário root através do seguinte comando:

sudo su -
  • 2.1 e 2.2 ( criar uma partição de boot maior e nova partição LVM )

root@MinhaCaixa:~# fdisk /dev/sdb 

Welcome to fdisk (util-linux 2.27.1). 
Changes will remain in memory only, until you decide to write them. 
Be careful before using the write command. 

Device does not contain a recognized partition table. 
Created a new DOS disklabel with disk identifier 0x76f6ee13. 

Comando (m para ajuda): n 
Partition type 
  p   primary (0 primary, 0 extended, 4 free) 
  e   extended (container for logical partitions) 
Select (default p): p 
Número da partição (1-4, default 1):  
First sector (2048-33554431, default 2048):  
Last sector, +sectors or +size{K,M,G,T,P} (2048-33554431, default 33554431): +1G 

Created a new partition 1 of type 'Linux' and of size 1 GiB. 

Comando (m para ajuda): a 
Selected partition 1 
The bootable flag on partition 1 is enabled now. 

Comando (m para ajuda): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Número da partição (2-4, default 2): 
First sector (2099200-33554431, default 2099200): 
Last sector, +sectors or +size{K,M,G,T,P} (2099200-33554431, default 33554431): 

Created a new partition 2 of type 'Linux' and of size 15 GiB.

Comando (m para ajuda): t
Número da partição (1,2, default 2): 
Partition type (type L to list all types): 8e


Changed type of partition 'Linux' to 'Linux LVM'.


Comando (m para ajuda): p
Disk /dev/sdb: 16 GiB, 17179869184 bytes, 33554432 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd6499185

Dispositivo Inicializar   Start      Fim  Setores Size Id Tipo
/dev/sdb1   *              2048  2099199  2097152   1G 83 Linux
/dev/sdb2               2099200 33554431 31455232  15G 8e Linux LVM

Comando (m para ajuda): w
The partition table has been altered.
Calling ioctl() to re-read partition table.

Syncing disks.


  • 2.3 ( copiar tudo de /dev/sda1 para /dev/sdb1 )

Antes de mais nada, precisamos formatar a recém criada /dev/sdb1 como ext2 (porque afinal de contas /dev/sda1 é ext2!):

Formatando /dev/sdb1

root@MinhaCaixa:~# mkfs.ext2 /dev/sdb1 
mke2fs 1.42.13 (17-May-2015) 
Creating filesystem with 262144 4k blocks and 65536 inodes 
Filesystem UUID: 606dde40-24b9-41ee-b4a0-ccd1b7868842 
Cópias de segurança de superblocos gravadas em blocos:  
       32768, 98304, 163840, 229376 

Allocating group tables: pronto                             
Gravando tabelas inode: pronto                             
Escrevendo superblocos e informações de contabilidade de sistema de arquivos: concluído

Montando /dev/sdb1 em um ponto temporário

root@MinhaCaixa:~# mount /dev/sdb1 /mnt 

Copiando tudo de /dev/sda1 para /dev/sdb1

root@MinhaCaixa:~# cp -R /boot/* /mnt/ 
root@MinhaCaixa:~# sync; umount /mnt

( Lembrando que /dev/sda1 está montado em /boot! )


  • 2.4 - criar um novo PV usando /dev/sdb2 e estender o Volume Group ubuntu-vg
root@MinhaCaixa:~# pvcreate /dev/sdb2 
 Physical volume "/dev/sdb2" successfully created 

root@MinhaCaixa:~# vgextend ubuntu-vg /dev/sdb2 
 Volume group "ubuntu-vg" successfully extended 


  • 2.5 -  MOVER o PV /dev/sda5 para o novo PV /dev/sdb2
root@MinhaCaixa:~# pvmove /dev/sda5 /dev/sdb2 
 /dev/sda5: Moved: 0,0% 
 /dev/sda5: Moved: 9,2% 
 /dev/sda5: Moved: 18,3% 
 /dev/sda5: Moved: 27,1% 
 /dev/sda5: Moved: 35,8% 
 /dev/sda5: Moved: 44,7% 
 /dev/sda5: Moved: 54,0% 
 /dev/sda5: Moved: 62,6% 
 /dev/sda5: Moved: 71,5% 
 /dev/sda5: Moved: 80,7% 
 /dev/sda5: Moved: 83,0% 
 /dev/sda5: Moved: 100,0% 

  • 2.6 - Remover o PV /dev/sda5 do VG ubuntu-vg e da lista de PVs disponíveis;

root@MinhaCaixa:~# vgreduce ubuntu-vg /dev/sda5 
 Removed "/dev/sda5" from volume group "ubuntu-vg"

root@MinhaCaixa:~# pvremove /dev/sda5
  Labels on physical volume "/dev/sda5" successfully wiped

  • 2.7 - Usar o GRUB e preparar o novo HD para que o sistema consiga dar boot por ele

ATENÇÃO! Duas coisas são fundamentais nessa etapa:
  1. Editar /etc/fstab e substituir o UUID de /dev/sda1 pelo UUID de /dev/sdb1;
  2. Por detalhes "exotéricos" do GRUB, executar grub-mkconfig antes de grub-install.
# Retirando /dev/sda1 do "circuito" e...
root@MinhaCaixa:~# umount /dev/sda1 

# ...colocando /dev/sdb1 no lugar
root@MinhaCaixa:~# mount /dev/sdb1 /boot

# obtendo o UUID de /dev/sdb1
root@MinhaCaixa:~# blkid /dev/sdb1 
/dev/sdb1: UUID="428014dd-2258-42a6-b34b-3d96dd0c107a"(...)

root@MinhaCaixa:~#  
root@MinhaCaixa:~# nano /etc/fstab 

# OBS.: ao editar /etc/fstab, use o UUID obtido eu sua tela!




root@MinhaCaixa:~# grub-mkconfig -o /boot/grub/grub.cfg

root@MinhaCaixa:~# grub-install --target=i386-pc --debug --boot-directory=/boot /dev/sdb


3. Remover o HD antigo

root@MinhaCaixa:~# shutdown -h now

Removido o HD antigo!

Sistema reiniciado normalmente. Hora de atualizar sem medo!


  • Por curiosidade, vamos ver como ficaram as informações do HD agora?




4. Troubleshuting!

Verdade seja dita: O GRUB é um cara chatinho!

Pode ser que, um belo dia, após uma atualização, você veja a seguinte mensagem:



Não se apavore! Afinal de contas, você está usando o sistema normalmente, não é mesmo? Até está fazendo uma atualização!

É muito provável que isso ocorra porque, quando instalamos o GRUB no novo HD ele se chamava no momento /dev/sdb. E agora ele é /dev/sda!

Tomamos todas as precauções para que o sistema pudesse iniciar, quando substituímos as informações essenciais onde eram necessárias. Como, por exemplo, quando executamos grub-mkconfig antes de grub-install. Quando fizemos isso, todos os UUID que precisavam ser trocados dentro de grub.cfg (que não deve ser mexido manualmente!) foram trocados. Fizemos isso também em fstab, mas de forma "manual".

Porém, existem outros lugares onde essas informações estão presentes e que, embora não impeçam um boot, fazem com que o  GRUB fique "nervoso".

Poderíamos experimentar executar mais uma vez os comandos de instalação do GRUB após a reinicialização sem o HD antigo, pois agora sdb se tornou sda. Não esquecendo, claro, de substituir /dev/sdb por /dev/sda na segundo comando:

root@MinhaCaixa:~# grub-mkconfig -o /boot/grub/grub.cfg

root@MinhaCaixa:~# grub-install --target=i386-pc --debug --boot-directory=/boot /dev/sda




Execução do Plano, no estilo Ninja


Como prometemos, aqui está a versão Ninja:

sudo su -

# Criar as partições
root@MinhaCaixa:~# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xd6499185.

Comando (m para ajuda): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Número da partição (1-4, default 1): 
First sector (2048-33554431, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-33554431, default 33554431): +1G

Created a new partition 1 of type 'Linux' and of size 1 GiB.

Comando (m para ajuda): a
Selected partition 1
The bootable flag on partition 1 is enabled now.

Comando (m para ajuda): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Número da partição (2-4, default 2): 
First sector (2099200-33554431, default 2099200): 
Last sector, +sectors or +size{K,M,G,T,P} (2099200-33554431, default 33554431): 

Created a new partition 2 of type 'Linux' and of size 15 GiB.

Comando (m para ajuda): t
Número da partição (1,2, default 2): 
Partition type (type L to list all types): 8e

Changed type of partition 'Linux' to 'Linux LVM'.

Comando (m para ajuda): p
Disk /dev/sdb: 16 GiB, 17179869184 bytes, 33554432 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd6499185

Dispositivo Inicializar   Start      Fim  Setores Size Id Tipo
/dev/sdb1   *              2048  2099199  2097152   1G 83 Linux
/dev/sdb2               2099200 33554431 31455232  15G 8e Linux LVM

Comando (m para ajuda): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.


#  Copiar tudo de /dev/sda1 para /dev/sdb1

## Formatar /dev/sdb1
root@MinhaCaixa:~# mkfs.ext2 /dev/sdb1 
mke2fs 1.42.13 (17-May-2015) 
Creating filesystem with 262144 4k blocks and 65536 inodes 
Filesystem UUID: 0207a9c1-2075-49da-850a-a703ca771ef5 
Cópias de segurança de superblocos gravadas em blocos:  
       32768, 98304, 163840, 229376 


Allocating group tables: pronto                             
Gravando tabelas inode: pronto                             
Escrevendo superblocos e informações de contabilidade de sistema de arquivos: concluído


## Montando /dev/sdb1 em um ponto temporário
root@MinhaCaixa:~# mount /dev/sdb1 /mnt 

## Copiando tudo de /dev/sda1 para /dev/sdb1
root@MinhaCaixa:~# cp -R /boot/* /mnt/ 
root@MinhaCaixa:~# sync; umount /mnt

## Criar um novo Physical Volume (PV) usando /dev/sdb2 e estender o Volume Group ubuntu-vg;

root@MinhaCaixa:~# pvcreate /dev/sdb2 
 Physical volume "/dev/sdb2" successfully created 

root@MinhaCaixa:~# vgextend ubuntu-vg /dev/sdb2 
 Volume group "ubuntu-vg" successfully extended 

## MOVER INTEIRO o PV /dev/sda5
root@MinhaCaixa:~# pvmove /dev/sda5 /dev/sdb2 
 /dev/sda5: Moved: 0,0% 
 /dev/sda5: Moved: 9,2% 
 /dev/sda5: Moved: 18,3% 
 /dev/sda5: Moved: 27,1% 
 /dev/sda5: Moved: 35,8% 
 /dev/sda5: Moved: 44,7% 
 /dev/sda5: Moved: 54,0% 
 /dev/sda5: Moved: 62,6% 
 /dev/sda5: Moved: 71,5% 
 /dev/sda5: Moved: 80,7% 
 /dev/sda5: Moved: 83,0% 
 /dev/sda5: Moved: 100,0% 

## Remover /dev/sda5 do Volume Group ubuntu-vg e da lista de PVs
root@MinhaCaixa:~# vgreduce ubuntu-vg /dev/sda5 
 Removed "/dev/sda5" from volume group "ubuntu-vg" 

root@MinhaCaixa:~# pvremove /dev/sda5
  Labels on physical volume "/dev/sda5" successfully wiped

## Usar o GRUB e preparar o novo HD para que o sistema consiga dar boot por ele
root@MinhaCaixa:~# umount /dev/sda1 
root@MinhaCaixa:~# mount /dev/sdb1 /boot

root@MinhaCaixa:~# blkid /dev/sdb1 
/dev/sdb1: UUID="2e690658-8d2a-4cf8-8cd3-445c7d071806"(...)

## Editar o ponto de montagem /boot, informando o novo UUID
## Veja qual é o seu UUID! o listado aqui era o nosso :-)
root@MinhaCaixa:~# nano /etc/fstab 

## Recompilando o menu do GRUB, com as novas configurações
root@MinhaCaixa:~# grub-mkconfig -o /boot/grub/grub.cfg

## Instalando o GRUB no novo HD
root@MinhaCaixa:~# grub-install --target=i386-pc --debug --boot-directory=/boot /dev/sdb


# Remover o HD antigo e reiniciar depois!
root@MinhaCaixa:~# shutdown -h now






Até o próximo...




Nenhum comentário:

Postar um comentário