InicioLinuxrecuperación de sistema en espejo (mirror) lvm1
Me pareció interesante compartir con ustedes este tema. Este es un post realizado desde una investigación (en el post se encuentra material de diferentes páginas y varias partes fueron traducidas así que las disculpas del caso con cualquier error en la traducción).

Primeramente que es LVM?


LVM es un Administrador de Volúmenes Lógicos para el kernel Linux. Con LVM se puede abstraer el espacio de almacenamiento y tener “particiones virtuales” para facilitar su modificación. Los bloques básicos que construyen LVM son:


Physical volume/Volúmenes físicos (PV): Particiones en el disco rígido ( puede ser sobre tanto sobre un disco o sobre un archivo de loopback) donde se tener un grupo de volúmenes Posee una cabecera especial y esta dividida en extensiones físicas Piense en los volúmenes físicos como un gran edificio de bloques que pueden ser usados para armar tus discos rígidos

Volume group/Grupo de volúmenes (VG): Son grupos de volúmenes físicos que son usados como volúmenes de almacenamiento ( como si fueran un solo disco). Contienen volúmenes lógicos Piense en los grupos de volúmenes como discos rígidos


Logical volume/Volúmenes lógicos (LV): Una "partición virtual/lógica" que reside en un grupo de volúmenes y esta compuesta por extensiones físicas Piense en volúmenes lógicos como particiones normales.

Physical extenúe/Extensiones físicas (PE): Una pequeña parte de un disco (usualmente 4MB) que puede ser asignada a un volumen lógico Piense en las Extensiones físicas como partes de los discos que pueden ser asignadas a cualquier partición

Recuperando el sistema a traves de espejo LVM nivel 1 y ejecutando, actualización / recompilación del kernel

Introducción


Si su sistema esta configurado con un espejo LVM nível 1, este articulo le ayudará a recuperar el sistema después de una falla, o hasta en el caso de que usted desea hacer una actualización de su servidor y recompilar su kernel entre otros.

El espejo LVM es una optima opción para aquellos que no poseem una placa controladora RAID (lo que es dificil actualmente), pero va mas alla. A pesar de un RAID 5, El espejo LVM le ayudará en este caso, teniendo en cuenta el reflejo no se romperá directamente a través del controlador.

Vamos al grano:


Distribción utilizada: Red Hat Enterprise 6.1
Version LVM: LVM 2.0
Cantidad de discos: 2 discos de 20G

Análisis de estructura - copia del /boot

Estructura dos discos y particionamiento:

# 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 si los discos estan relacionados a un 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


En la salida del comando ingresado anteriormente, verificamos que existen 3 PVs asociados al VG rootvg.

Verificando el VGs:

# vgs


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


En la salida del comando ingresado anteriormente verificamos que en el VG rootvg existen 3PVs y 7 LVs.

Verificando la estructura del espejo LVM nivel 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.: Linux todavía no puede trabajar con / boot en el LVM, a diferencia de otros Unix como AIX, Solaris y HP-UX. Así que tenemos que hacer una copia de nuestro / boot para preservar el gestor de arranque.

Haciendo una copia del /boot

En este paso, vamos a ejecutar una simple copia de nuestro /boot, pues como explique anteriormente, Linux (LVM) no acepta que coloquemos /boot en el LVM.

Volviendo a nuestra estructura de discos y particionamientos, poseemos una partición fuera del 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 a crear un sistema de archivos para esta partición, montarla y hacer el backup del /boot actual.

Vamos a utilizar el comando blkid :


# mkfs.ext4 -j /dev/sdb1

El comando de arriba creara un file system ext4 sobre la partición /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 la copia del /boot para otro disco:

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


Copia finalizada con exito.

Rompiendo el espejo - cambiando disco
Rompiendo espejo LVM (nível 1)
En este momento vamos a romper el espejo para tener una copia del sistema hasta el momento, sugiero que todos los servicios esten parados y el acceso al servidor para usuarios sean bloqueados, para que tengamos una imagen del sistema mas completa posible.

Rompiendo el espejo del LVM:

Para crear un espejo usamos 'flags -m' informando 'degree' (degrau), que deseariamos crear. En nuestro caso, fue 1, para la creación del espejo.

En este momento vamos a utilizar un 'degree 0' para romper el espejo.

Vamos a quitar el disco "/dev/sda2" del grupo "rootvg" para visualizar los PS (Physical Segments) relacionados a sus PE (Physical extent), vamos a ejecutar el comando de abajo para visualizar las informaciones necesarias.

# 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


Removiendo el disco /dev/sda2 del espejo rootvg, conforme a lo especificado abajo:

# 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.



Despues de romer el espejo, el comando de abajo informará que no existe ningun espejo activo:

# 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, en este momento, a retirar el disco /dev/sda2, que en verdad es un PV, ejecutando el comando de abajo:

# vgreduce rootvg /dev/sda2


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


Ejecutando el comando de abajo para listar todos los PVs relacionados a un VG, vamos a verificar que no existe ningun VG relacionado al 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


Hasta este punto no tuvimos ningún problema y nuestro espejo fue roto o quebrado.

Alterando el disco que sera iniciado
Acabamos de ejecutar la rotura de nuestro espejo nivel 1, tneemos nuestra partición /boot identica al disco SDA.

Vamos entonces a mover el disco que sera inicial-izado por el SO.

Para realizar esta modificación, seguimos los pasos de abajo utilizando el comando: fdisk /dev/sdb

Y modificar el disco que iniciará junto con el sistema "sdb" (no demostrare como es hecha esa configuración).

Después de configurar el disco que iniciara, con el comando de abajo nos devolverá las informaciones:

# 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


Y tendremos nuestro espejo (nível 1) interrumpido y con todas las informaciones hasta el momento de quiebre del sistema, y podemos ejecutar con tranquilidad la recompilación del kernel, actualizar el servidor sin miedo de fallas, redimensionar discos etc.

En caso de que ocurra algun error en uno de los procesos realizados mas arriba, solo entramos como 'single user' y configurar el disco 'sda' para iniciar junto con el SO y listo.nto.
Datos archivados del Taringa! original
30puntos
803visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
5visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

c
cagl86🇦🇷
Usuario
Puntos0
Posts54
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.