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.657 ]

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

Debian Squeeze para Desktops

Bootsplash nos kernels 2.6.17.13 e 2.6.18 no Slackware 11

Configurando um NAT

Configurando um servidor de FTP no OpenBSD

Configurando DNS (bind9) no Debian Sarge

  
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