Recuperando sistema em mirror LVM 1

Recuperando o sistema através de mirror LVM nível 1 e executando atualização/recompilação de kernel de modo

[ Hits: 12.659 ]

Por: Rodrigo Carvalho em 24/05/2012


Introdução



Se o seu sistema está configurado com um mirror LVM nível 1, este artigo lhe ajudará a recuperar o sistema após uma falha, ou até mesmo caso você deseje fazer uma atualização do seu servidor ou recompilar seu kernel, entre outros.

O mirror LVM é uma ótima opção para aqueles que não possuem uma placa controladora RAID (o que é difícil atualmente), mas vai além. Mesmo como um RAID 5, o mirror LVM irá lhe ajudar neste caso, levando em consideração que o espelhamento não será quebrado diretamente via controladora.

Vamos parar de falar e por a mão na massa.
  • Distribuição utilizada: Red Hat Enterprise 6.1
  • Versão LVM: LVM 2.0
  • Quantidade de discos: 2 discos de 20G

Análise de estrutura - cópia do /boot

Estrutura dos discos e particionamento:

# fdisk -l /dev/sda /dev/sdb
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004454b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          33      262144   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              33        2611    20708352   8e  Linux LVM

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xdef721d9

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          34      273073+  83  Linux
/dev/sdb2              35        2610    20691720    5  Extended
/dev/sdb5              35         166     1060258+  83  Linux
/dev/sdb6             167        2610    19631398+  83  Linux

Verificando se os discos estão relacionados a um PV:

# pvs
  PV         VG     Fmt  Attr PSize  PFree
  /dev/sda2  rootvg lvm2 a-   19.73g   5.20g
  /dev/sdb5  rootvg lvm2 a-    1.00g 416.00m
  /dev/sdb6  rootvg lvm2 a-   18.72g   4.67g

Na saída do comando acima, verificamos que existem 3 PVs associados ao VG rootvg.

Verificando os VGs:

# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  rootvg   3   7   0 wz--n- 39.45g 10.28g

Na saída do comando acima, verificamos que no VG rootvg existem 3 PVs e 7 LVs.

Verificando a estrutura do mirror LVM nível 1:

# lvs

LV       VG      Attr    LSize   Origin Snap%  Move Log  Copy%  Convert
jbosslv  rootvg  mwi-ao  5.00g   jbosslv_mlog  100.00
locallv  rootvg  mwi-ao  2.00g   locallv_mlog  100.00
rootlv   rootvg  mwi-ao  1.00g   rootlv_mlog   100.00
swaplv   rootvg  mwi-ao  1.00g   swaplv_mlog   100.00
tmplv    rootvg  mwi-ao  512.00m tmplv_mlog    100.00
usrlv    rootvg  mwi-ao  3.03g   usrlv_mlog    100.00
varlv    rootvg  mwi-ao  2.00g   varlv_mlog    100.00

Obs.: O Linux ainda não trabalha com o /boot em LVM, diferentemente de outros Unix, como AIX, Solaris e HP-UX. Por isso temos que fazer uma cópia do nosso /boot para preservarmos o Boot Loader.

Fazendo uma cópia do /boot

Neste passo, vamos executar uma simples cópia do nosso /boot, pois como expliquei anteriormente, o Linux (LVM) não aceita que coloquemos /boot em LVM.

Voltando à nossa estrutura de discos e particionamento, possuímos uma partição fora do LVM: /dev/sdb1

# fdisk -l /dev/sdb
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xdef721d9

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          34      273073+  83  Linux
/dev/sdb2              35        2610    20691720    5  Extended
/dev/sdb5              35         166     1060258+  83  Linux
/dev/sdb6             167        2610    19631398+  83  Linux

Vamos criar um sistema de arquivos para esta partição, montá-la e fazer o backup do /boot atual.

Vou utilizar o comando blkid para exibi-los:

# mkfs.ext4 -j /dev/sdb1

O comando acima criará um file system ext4 sobre a partição /dev/sdb1.

# blkid | grep sdb
/dev/sdb1: UUID="0d99c5fb-4e35-4616-aac3-0ad6f091d81f" TYPE="ext4"
/dev/sdb5: UUID="7otW2q-utkP-it3v-e8xy-M97Z-rbDl-nESC9Q" TYPE="LVM2_member"
/dev/sdb6: UUID="Vfdz15-LMIz-U5aD-7XVj-97hP-I30q-xGHjQ3" TYPE="LVM2_member"

Iniciando a cópia do /boot para o outro disco:

# mkdir /boot.2
# mount /dev/sdb1 /boot.2
# cp -ap /boot/* /boot.2/


Cópia finalizada com sucesso.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Quebrando mirror - alterando disco
Outros artigos deste autor

Adicionando ou removendo discos do Storage

Criando um mirror LVM nível 1

Leitura recomendada

Clusters de alta disponibilidade (HA - High Availability)

Vodafone Mobile Connect Card driver - Um excelente software para modems 3G

Configuração da impressora HP Deskjet 3650

Utilizando o Debian Squeeze em Desktop

Como personalizar o prompt do shell bash

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts