¿Qué es lvmetad y por qué querría o necesitaría usarlo?

28

Tengo un servidor Gentoo con LVM ejecutándose sobre una matriz RAID que he estado usando durante varios años. Recientemente actualicé LVM a 2.02.109 (no recuerdo qué versión era antes) y recibí un mensaje durante la actualización:

* Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want
* to enable lvm autoactivation and metadata caching.

Entiendo que puedo habilitarla estableciendo use_lvmetad = 1en /etc/lvm/lvm.conf.

Pero, ¿por qué necesitaría tal característica? Tengo entendido que funciona con las reglas de udev para mantener el estado de LVM en un caché para que las herramientas de LVM no necesiten escanear volúmenes para obtener esa información. ¿Es solo que mi pequeño conjunto no puede beneficiarse de este tipo de característica? ¿En qué circunstancias podría querer / necesitar usarlo?

Steve Kalemkiewicz
fuente

Respuestas:

1

Descripción

Desde la página de manual de lvmetad :

lvmetad es un demonio de almacenamiento en caché de metadatos para LVM. El demonio recibe notificaciones de las reglas de udev (que deben instalarse para que LVM funcione correctamente cuando lvmetad está en uso). A través de estas notificaciones, lvmetad tiene una imagen actualizada y coherente de los grupos de volúmenes disponibles en el sistema. Por defecto, lvmetad, incluso si se está ejecutando, no es utilizado por LVM. Ver lvm.conf (5).


Mirar esto un poco más de cerca merece otra definición. Wikipedia dice:

Un sistema de archivos de registro en diario es un sistema de archivos que realiza un seguimiento de los cambios que se realizarán en un diario (generalmente un registro circular en un área dedicada del sistema de archivos) antes de enviarlos al sistema de archivos principal. En el caso de un bloqueo del sistema o una falla de energía, dichos sistemas de archivos son más rápidos para volver a conectarse y es menos probable que se corrompan.


Razonamiento

No entraré en una explicación detallada de LVM, ya que el OP ya comprende los beneficios. Como tal, solo explicaré por qué se agregó el diario. Las versiones anteriores de LVM no tenían un demonio de registro en diario, lo que significa que si el sistema se bloqueaba, el único diario que podía usarse estaba en el volumen físico (disco duro). Eso crea un problema cuando el volumen lógico abarca múltiples extensiones en grupos de volúmenes lógicos que abarcan múltiples volúmenes físicos.

Si existe la mitad de una transacción de diario en un volumen físico y la otra mitad existe en otro volumen físico, el diario de transacciones no puede confirmar cambios en ambos volúmenes físicos, porque los volúmenes físicos no entienden que son parte de un grupo de volúmenes , porque la transacción el registro solo existe en el volumen físico.

Ahí es donde entra en juego el nuevo demonio. Ahora, en lugar de un registro de diario para cada volumen físico, LVM puede crear un registro de diario y crear una sección para él en el grupo de volúmenes, que se reserva solo para el diario. Después de hacerlo, se puede encontrar y reproducir todo el registro de transacciones en el nivel del Grupo de volúmenes.

eyoung100
fuente
14
Su respuesta parece sugerir que lvmetad proporciona un servicio al sistema de archivos que se ejecuta sobre él que le permite realizar un registro en diario correctamente. Pero otras fuentes simplemente dicen que almacena información sobre el diseño de LVM para el conjunto de herramientas de línea de comandos de comando lvm. Sería bueno admitir su versión con algunas fuentes.
Pavel Šimerda
8
Tengo que hacerme eco del escepticismo de @ PavelŠimerda. El manual de lvmetad no dice nada sobre el diario. Sin mencionar que sería una violación de capas si LVM comenzara a tomar conciencia del diario (ya que eso significa que debe saber qué sistemas de archivos están en el diario y cuáles no, y necesita saber qué sistema de archivos vive en la parte superior de eso). Tampoco veo ninguna razón por la cual tener un diario del sistema de archivos distribuido en múltiples volúmenes físicos sería un problema. Eso sucede todo el tiempo con otras tecnologías como RAID 0.
Dan Molding
29

Desde este enlace :

Normalmente, cada comando LVM emite un escaneo de disco para encontrar todos los volúmenes físicos relevantes y leer los metadatos del grupo de volúmenes. Sin embargo, si el demonio de metadatos se está ejecutando y habilitando, este escaneo costoso se puede omitir ... Esto puede ahorrar una cantidad significativa de E / S y reducir el tiempo requerido para completar las operaciones de LVM, particularmente en sistemas con muchos discos.

Por lo tanto, lo ejecutaría para un mayor rendimiento de las operaciones de gestión y estado de LVM, a costa del rendimiento de inicio y una mayor complejidad. El nivel de aumento del rendimiento es mayor cuando hay más discos en el sistema.

Matthew Sharp
fuente