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

Por: Rodrigo Carvalho em 24/05/2012


Quebrando mirror - alterando disco



Quebrando mirror LVM (nível 1)

Neste momento faremos a quebra do mirror para termos uma cópia do sistema até o momento, sugiro que todos os serviços estejam parados e o acesso ao servidor para usuários sejam bloqueados, para que tenhamos um imagem do sistema o mais íntegra possível.

Iniciando a quebra do mirror LVM:

Para criar um mirror usamos a 'flags -m' informando 'degree' (degrau), que gostaríamos de criar. No caso, foi 1, para criação do mirror.

Neste momento iremos utilizar um 'degree 0' para quebrarmos o mirror.

Vamos remover o disco "/dev/sda2" do grupo "rootvg" para visualizarmos os PS (Physical Segments) relacionados a seus PE (Physical extent), vamos executar o comando abaixo para visualizar as informações necessárias.

# pvdisplay -m
 --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rootvg
  PV Size               19.75 GiB / not usable 15.00 MiB
  Allocatable           yes
  PE Size               16.00 MiB
  Total PE              1263
  Free PE               364
  Allocated PE          899
  PV UUID               3sGMLy-k2pl-Ehof-lZ3o-MDKc-jGHS-jev0cW

  --- Physical Segments ---
  Physical extent 0 to 127:
    Logical volume      /dev/rootvg/locallv_mimage_1
    Logical extents     0 to 127
  Physical extent 128 to 191:
    Logical volume      /dev/rootvg/rootlv_mimage_1
    Logical extents     0 to 63
  Physical extent 192 to 255:
    Logical volume      /dev/rootvg/swaplv_mimage_1
    Logical extents     0 to 63
  Physical extent 256 to 256:
    Logical volume      /dev/rootvg/tmplv_mlog
    Logical extents     0 to 0
  Physical extent 257 to 450:
    Logical volume      /dev/rootvg/usrlv_mimage_1
    Logical extents     0 to 193
  Physical extent 451 to 770:
    Logical volume      /dev/rootvg/jbosslv_mimage_1
    Logical extents     0 to 319
  Physical extent 771 to 898:
    Logical volume      /dev/rootvg/varlv_mimage_1
    Logical extents     0 to 127
  Physical extent 899 to 1262:
    FREE

Removendo o disco /dev/sda2 do mirror rootvg, conforme descrito abaixo:

# lvconvert -m0 root/locallv /dev/sda2:0-127
  Volume group "root" not found

# lvconvert -m0 rootvg/locallv /dev/sda2:0-127
  Logical volume locallv converted.

# lvconvert -m0 rootvg/rootlv /dev/sda2:128-191
  Logical volume rootlv converted.

# lvconvert -m0 rootvg/swaplv /dev/sda2:192-255
  Logical volume swaplv converted.

# lvconvert -m0 rootvg/tmplv /dev/sda2:256-256
  Logical volume tmplv converted.

# lvconvert -m0 rootvg/usrlv /dev/sda2:257-450
  Logical volume usrlv converted.

# lvconvert -m0 rootvg/jbosslv /dev/sda2:451-770
  Logical volume jbosslv converted.

# lvconvert -m0 rootvg/varlv /dev/sda2:771-898
  Logical volume varlv converted.

Após a quebra do mirror, o comando abaixo irá informar que não existe nenhum mirror ativo, conforme abaixo:

# lvs
  LV      VG     Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  jbosslv rootvg -wi-ao   5.00g
  locallv rootvg -wi-ao   2.00g
  rootlv  rootvg -wi-ao   1.00g
  swaplv  rootvg -wi-ao   1.00g
  tmplv   rootvg -wi-ao 512.00m
  usrlv   rootvg -wi-ao   3.03g
  varlv   rootvg -wi-ao   2.00g

Vamos, neste momento, retirar o disco /dev/sda2, que é na verdade um PV, executando o comando abaixo:

# vgreduce rootvg /dev/sda2
  Removed "/dev/sda2" from volume group "rootvg"

Executando o comando abaixo para listar todos os PVs relacionados a um VG, vamos verificar que não existe nenhum VG relacionado ao PV /dev/sda2.

# pvs
  PV             VG     Fmt     Attr   PSize    PFree
  /dev/sda2            lvm2    a-   19.75g   19.75g
  /dev/sdb5  rootvg lvm2    a-    1.00g    1.00g
  /dev/sdb6  rootvg lvm2    a-   18.72g   4.19g

Até este ponto não tivemos problema algum e nosso mirror foi quebrado.

Alterando o disco que será iniciado

Acabamos de executar a quebra do nosso mirror nível 1, temos nossa partição /boot idêntica a do disco SDA.

Vamos então mudar o disco que será inicializado pelo SO.

Para realizar está modificação, siga os passos abaixo utilizando o comando: fdisk /dev/sdb

E alterar o disco que será inicializado junto com o sistema "sdb" (não irei demonstrar como essa configuração é feita).

Após configurar o disco que irá iniciar o comando abaixo, deverá retornar as informações descritas abaixo:

# 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: 0x0004454b

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

Pronto, já temos nosso mirror (nível 1) interrompido e com todas as informações até o momento da quebra consistentes, e podemos executar com tranquilidade uma recompilação de kernel, atualizar o servidor sem medo de falhas, redimensionar discos etc.

Caso aconteça algum erro em algum dos processos acima, basta entrar como 'single user' e configurar o disco 'sda' para iniciar junto com o SO e pronto.

Dúvidas e sugestões, estou a disposição.

"Great times are coming. Think Open Source became Open Source"

Abraços/Regards

Página anterior    

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

Criando um mirror LVM nível 1

Adicionando ou removendo discos do Storage

Leitura recomendada

O gerenciador de boot GRUB

Instalando Ubuntu GNU/Linux em um Macbook

Instalando o Vivo Zap no openSuSE 10.2

Montando o diretório /home em outra partição

Oracle-XE servidor com acesso ssh - Debian Lenny 5.0

  
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