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.
-
Asegúrese de que los volúmenes lógicos históricos se conservan estableciendo
record_lvs_history=1
en el archivolvm.conf
. Esta opción de metadatos no está activada por defecto. 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 delvol1
. -
lvol3
es una instantánea delvol2
. -
lvol4
es una instantánea delvol3
. lvol5
es también una instantánea delvol3
.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
-
Elimine el volumen lógico
lvol3
de la cadena de instantáneas y, a continuación, vuelva a ejecutar el siguiente comandolvs
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 poolPuede 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 poolPuedes 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 enh
para indicar que el volumen es un volumen histórico.#
lvs -H vg/-lvol3
LV VG Attr LSize -lvol3 vg ----h----- 0LVM 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 poolEjecute los siguientes comandos para eliminar el volumen
lvol1
ylvol2
y para ver cómo el comandolvs
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 poolPara 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 poolUn 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