¿Dónde almacena LVM su configuración?

17

Estoy tratando de entender cómo / dónde LVM almacena sus datos de configuración.

  • ¿ pvcreate /dev/sdbEscribe algún metadato a /dev/sdb? Si es así, ¿qué está escrito?
  • ¿Dónde se vgcreate data /dev/sdb /dev/sdcalmacena la configuración del grupo de volúmenes?
  • ¿Dónde almacena LVM la asignación entre extensiones lógicas y extensiones físicas?
  • ¿Hay alguna configuración específica de máquina en una configuración LVM?
  • Supongamos que tengo una máquina con 2 discos configurados en un volumen lógico. ¿Puedo sacar esos discos de la máquina y ponerlos en otra máquina y esperar que el volumen lógico funcione en la nueva máquina?
ams
fuente

Respuestas:

10

¿Pvcreate / dev / sdb escribe metadatos en / dev / sdb? Si es así, ¿qué está escrito?

Si pasa una -vvbandera al pvcreatecomando, hace que el comando sea más detallado y verá que pvcreate crea un área de metadatos en el disco.

 Writing physical volume data to disk "/dev/sdc1"
        lvmcache: /dev/sdc1: now in VG #orphans_lvm2 (#orphans_lvm2) with 0 mdas
        Creating metadata area on /dev/sdc1 at sector 8 size 2040 sectors
        Opened /dev/sdc1 RW O_DIRECT
        /dev/sdc1: block size is 1024 bytes
        /dev/sdc1: physical block size is 512 bytes
        /dev/sdc1: Preparing PV label header xxx.xxxxx.xxxxxxxxxxxxxxx

      /dev/sdc1: Writing label to sector 1 with stored offset 32.

¿Qué se escribe en el área de metadatos?

No conozco un comando que pueda usar para ver los metadatos, pero el comando vgcfgbackuppuede usarse para hacer una copia de seguridad de los metadatos y puede abrir un archivo de copia de seguridad así creado para ver los metadatos.

vgcfgbackup -f /path/of/your/choice/file <your_vg_name>

El /path/of/your/choice/filecreado por el comando anterior contendrá los metadatos PV, VG y LVM. Una de las secciones se verá a continuación:

physical_volumes {

                pv0 {
                        id = "abCDe-TuvwX-DEfgh-daEb-Xys-6Efcgh-LkmNo"
                        device = "/dev/sdc1"    # Hint only

                        status = ["ALLOCATABLE"]
                        flags = []
                        dev_size = 10477194     # 4.99592 Gigabytes
                        pe_start = 2048
                        pe_count = 1278 # 4.99219 Gigabytes
                }
        }

Le sugiero que eche un vistazo a los contenidos del directorio /etc/lvmy de la salida del comandolvm dumpconfig

Supongamos que tengo una máquina con 2 discos configurados en un volumen lógico. ¿Puedo sacar esos discos de la máquina y ponerlos en otra máquina y esperar que el volumen lógico funcione en la nueva máquina?

Sí tu puedes.

Puede migrar grupos de volúmenes a otro host. Aunque no es exactamente plug-and-play, el procedimiento para hacerlo es bastante sencillo. Hay docenas de tutoriales disponibles en línea cómo hacer esto.

Este subproceso predeterminado del servidor trata sobre cómo mover una partición LVM a otro host mediante el ddcomando.

Sree
fuente
14

¿ pvcreate /dev/sdbEscribe algún metadato a /dev/sdb? Si es así, ¿qué está escrito?

Sí, pero no es mucho más que un encabezado y datos de identificación para marcar el dispositivo de bloque como un PV LVM. Los metadatos "reales" aparecen cuando crea grupos de volúmenes.

¿Dónde se vgcreate data /dev/sdb /dev/sdcalmacena la configuración del grupo de volúmenes?

En cada volumen físico que forma parte del grupo de volúmenes. De forma predeterminada, se mantiene una copia idéntica de los metadatos en cada área de metadatos en cada volumen físico dentro del grupo de volúmenes. LVM metadatos del grupo de volumen es pequeño y se almacena como ASCII.

¿Dónde almacena LVM la asignación entre extensiones lógicas y extensiones físicas?

Eso es parte de los metadatos del grupo de volúmenes antes mencionados.

¿Hay alguna configuración específica de máquina en una configuración LVM?

No. PVs que son parte de un VG se encuentran y se ensamblan mediante el uso de identificadores únicos asignados en el momento de la creación PV.

Supongamos que tengo una máquina con 2 discos configurados en un volumen lógico. ¿Puedo sacar esos discos de la máquina y ponerlos en otra máquina y esperar que el volumen lógico funcione en la nueva máquina?

Si. Si todos los valores actuales que conforman la VG están presentes, entonces los volúmenes lógicos en que van a trabajar VG.

Celada
fuente
3
  • ¿ pvcreate /dev/sdbEscribe algún metadato a /dev/sdb? Si es así, ¿qué está escrito?
  • ¿Dónde se vgcreate data /dev/sdb /dev/sdcalmacena la configuración del grupo de volúmenes?

pvcreatecrea una "etiqueta" y un "encabezado" para el PV y también asigna espacio para metadatos en el volumen (según lo especificado por la --[pv]metadataopción). El encabezado es una estructura de datos binarios que incluye punteros a las áreas de metadatos en ese PV.

El vgcreatecomando almacena una descripción textual del estado actual del grupo de volúmenes en las áreas de metadatos previamente asignadas en los PV asociados (como lo controla la --[vg]metadatacopiesopción, etc.). Estas son las descripciones de copia de seguridad por el vgcfgbackupmando, y en la mayoría de los casos son los metadatos que uno estaría interesado en examinar.

Para la información de la etiqueta PV / cabecera más-oscuro: una descripción de visión general se pueden encontrar en LVM Internos , http://mo.morsi.org/blog/node/392 (que incluye un enlace a una secuencia de comandos de Ruby que puede analizar la etiqueta / header,. lvm-parser.rb)

Un módulo de Python similares, pvdissect, se encuentra en la parte inferior de http://www.syslinux.org/wiki/index.php?title=Development/LVM_support .

Nathan
fuente