Red Hat Training

A Red Hat training course is available for RHEL 8

12.5. Seguimiento y visualización de los volúmenes finos de instantáneas que se han eliminado

Puede configurar su sistema para realizar un seguimiento de los volúmenes lógicos finos y de instantáneas finas que se han eliminado activando la opción de metadatos record_lvs_history en el archivo de configuración lvm.conf. Esto le permite mostrar una cadena de dependencia de instantáneas delgadas completa que incluye los volúmenes lógicos que se han eliminado de la cadena de dependencia original y se han convertido en volúmenes lógicos de historical.

Puede configurar su sistema para retener los volúmenes históricos durante un periodo de tiempo definido especificando el tiempo de retención, en segundos, con la opción de metadatos lvs_history_retention_time en el archivo de configuración lvm.conf.

Un volumen lógico histórico conserva una representación simplificada del volumen lógico que ha sido eliminado, incluyendo los siguientes campos de información para el volumen:

  • lv_time_removed: el tiempo de eliminación del volumen lógico
  • lv_time: la hora de creación del volumen lógico
  • lv_name: el nombre del volumen lógico
  • lv_uuid: el UUID del volumen lógico
  • vg_name: el grupo de volumen que contiene el volumen lógico.

Cuando se elimina un volumen, el nombre del volumen lógico histórico adquiere un guión como prefijo. Por ejemplo, cuando se elimina el volumen lógico lvol1, el nombre del volumen histórico es -lvol1. Un volumen lógico histórico no puede ser reactivado.

Incluso con la opción de metadatos record_lvs_history activada, puede evitar la retención de volúmenes lógicos históricos de forma individual cuando elimine un volumen lógico especificando la opción --nohistory del comando lvremove.

Para incluir los volúmenes lógicos históricos en la visualización del volumen, se especifica la opción -H|--history de un comando de visualización de LVM. Puede mostrar una cadena de dependencia de instantáneas delgadas completa que incluya volúmenes históricos especificando los campos de información lv_full_ancestors y lv_full_descendants junto con la opción -H.

La siguiente serie de comandos proporciona ejemplos de cómo puede visualizar y gestionar los volúmenes lógicos históricos.

  1. Asegúrese de que los volúmenes lógicos históricos se conservan estableciendo record_lvs_history=1 en el archivo lvm.conf. Esta opción de metadatos no está activada por defecto.
  2. Introduzca el siguiente comando para mostrar una cadena de instantáneas con aprovisionamiento ligero.

    En este ejemplo:

    • lvol1 es un volumen de origen, el primer volumen de la cadena.
    • lvol2 es una instantánea de lvol1.
    • lvol3 es una instantánea de lvol2.
    • lvol4 es una instantánea de lvol3.
    • lvol5 es también una instantánea de lvol3.

      Tenga en cuenta que, aunque el comando de visualización de lvs de ejemplo incluye la opción -H, todavía no se ha eliminado ningún volumen delgado de instantáneas y no hay volúmenes lógicos históricos que mostrar.

      # lvs -H -o name,full_ancestors,full_descendants
        LV    FAncestors        FDescendants
        lvol1                   lvol2,lvol3,lvol4,lvol5
        lvol2 lvol1             lvol3,lvol4,lvol5
        lvol3 lvol2,lvol1       lvol4,lvol5
        lvol4 lvol3,lvol2,lvol1
        lvol5 lvol3,lvol2,lvol1
        pool
  3. Elimine el volumen lógico lvol3 de la cadena de instantáneas y, a continuación, vuelva a ejecutar el siguiente comando lvs para ver cómo se muestran los volúmenes lógicos históricos, junto con sus ancestros y descendientes.

    # lvremove -f vg/lvol3
      Logical volume "lvol3" successfully removed
    # lvs -H -o name,full_ancestors,full_descendants
      LV     FAncestors         FDescendants
      lvol1                     lvol2,-lvol3,lvol4,lvol5
      lvol2  lvol1              -lvol3,lvol4,lvol5
      -lvol3 lvol2,lvol1        lvol4,lvol5
      lvol4  -lvol3,lvol2,lvol1
      lvol5  -lvol3,lvol2,lvol1
      pool
  4. Puede utilizar el campo de informes lv_time_removed para mostrar la hora en que se eliminó un volumen histórico.

    # lvs -H -o name,full_ancestors,full_descendants,time_removed
      LV     FAncestors         FDescendants              RTime
      lvol1                     lvol2,-lvol3,lvol4,lvol5
      lvol2  lvol1              -lvol3,lvol4,lvol5
      -lvol3 lvol2,lvol1        lvol4,lvol5               2016-03-14 14:14:32 +0100
      lvol4  -lvol3,lvol2,lvol1
      lvol5  -lvol3,lvol2,lvol1
      pool
  5. Puedes referenciar volúmenes lógicos históricos individualmente en un comando de visualización especificando el formato vgname/lvname, como en el siguiente ejemplo. Tenga en cuenta que el quinto bit del campo lv_attr se establece en h para indicar que el volumen es un volumen histórico.

    # lvs -H vg/-lvol3
      LV     VG   Attr       LSize
      -lvol3 vg   ----h-----    0
  6. LVM no conserva los volúmenes lógicos históricos si el volumen no tiene ningún descendiente vivo. Esto significa que si se elimina un volumen lógico al final de una cadena de instantáneas, el volumen lógico no se conserva como volumen lógico histórico.

    # lvremove -f vg/lvol5
      Automatically removing historical logical volume vg/-lvol5.
      Logical volume "lvol5" successfully removed
    # lvs -H -o name,full_ancestors,full_descendants
      LV     FAncestors         FDescendants
      lvol1                     lvol2,-lvol3,lvol4
      lvol2  lvol1              -lvol3,lvol4
      -lvol3 lvol2,lvol1        lvol4
      lvol4  -lvol3,lvol2,lvol1
      pool
  7. Ejecute los siguientes comandos para eliminar el volumen lvol1 y lvol2 y para ver cómo el comando lvs muestra los volúmenes una vez eliminados.

    # lvremove -f vg/lvol1 vg/lvol2
      Logical volume "lvol1" successfully removed
      Logical volume "lvol2" successfully removed
    # lvs -H -o name,full_ancestors,full_descendants
      LV     FAncestors           FDescendants
      -lvol1                      -lvol2,-lvol3,lvol4
      -lvol2 -lvol1               -lvol3,lvol4
      -lvol3 -lvol2,-lvol1        lvol4
      lvol4  -lvol3,-lvol2,-lvol1
      pool
  8. Para eliminar un volumen lógico histórico por completo, puedes ejecutar el comando lvremove de nuevo, especificando el nombre del volumen histórico que ahora incluye el guión, como en el siguiente ejemplo.

    # lvremove -f vg/-lvol3
    Historical logical volume "lvol3" successfully removed
    # lvs -H -o name,full_ancestors,full_descendants
      LV     FAncestors    FDescendants
      -lvol1               -lvol2,lvol4
      -lvol2 -lvol1        lvol4
      lvol4  -lvol2,-lvol1
      pool
  9. Un volumen lógico histórico se conserva mientras exista una cadena que incluya volúmenes vivos en sus descendientes. Esto significa que la eliminación de un volumen lógico histórico también elimina todos los volúmenes lógicos de la cadena si no hay ningún descendiente vinculado a ellos, como se muestra en el siguiente ejemplo.

    # lvremove -f vg/lvol4
      Automatically removing historical logical volume vg/-lvol1.
      Automatically removing historical logical volume vg/-lvol2.
      Automatically removing historical logical volume vg/-lvol4.
      Logical volume "lvol4" successfully removed