Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

B.2. Archivo lvm.conf de ejemplo

La siguiente es una muestra del archivo de configuración lvm.conf. Su archivo puede diferir un poco de este.
# Este es un ejemplo de archivo de configuración para el sistema LVM2.
# Contiene los parámetros predeterminados que se usarían si no hubiera
# /etc/lvm/lvm.conf file.
#
# Consulte 'man lvm.conf' para obtener mayor información que incluya la distribución del archivo .
#
# Para colocar este archivo en un directorio diferente y sobrescribir /etc/lvm establezca
# la variable de entorno  LVM_SYSTEM_DIR antes de ejecutar las herramientas.


# Esta sección le permite configurar los dispositivos de bloque que deben ser utilizados por
# el sistema de LVM.
dispositivos {

    # ¿Dónde desea que los grupos de volumen aparezcan ?
    dir = "/dev"

    # Un grupo de directorios que contienen los nodos de dispositivos que usted desea
    # usar con LVM2.
    scan = [ "/dev" ]

    # Si varias entradas en los directorios examinados corresponden al mismo dispositivo de bloque
    # y las herramientas necesitan mostrar un nombre por dispositivo,
    # todos los nombres de ruta coinciden con cada elemento en la siguiente lista 
    # de expresión regulares a su vez y se utiliza la primera concordancia.
    # nombres_preferidos = [ ]

    # Trate de evitar el uso de nombres no descriptivos /dev/dm-N names, si está presente.
    nombres_preferidos = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]

    # Un filtro que dice a LVM2 que únicamente use un conjunto restringido de dispositivos.
    # El filtro consta de un conjunto de expresiones regulares.  Estas
    # expresiones pueden estar delimitadas por un caracter de su elección y
    # por un prefijo con una 'a' (para aceptar) o 'r' (para rechazar).
    # La primera expresión que concuerde con el nombre de dispositivo determina si
    # el dispositivo será aceptado o rechazado (ignorado).  Los dispositivos que
    # no concuerden con ningún patrón son aceptados.

    # Tenga cuidado si no hay enlaces simbólicos o entradas de sistema de archivos múltiples para el mismo dispositivo, 
    # ya que cada nombre es comparado independientemente 
    # con la lista de patrones.  El efecto es que si algún nombre coincide con algún patrón  'a'
    # el dispositivo es aceptado; y si algún nombre coincide con el patrón  'r'
    # es rechazado; de lo contrario es aceptado.

    # No tenga más de una línea de filtro activa a la vez: solamente se utiliza una.

    # Ejecute vgscan después de cambiar este parámetro para asegurarse de que el archivo cache sea regenerado (ver abajo).
    # Si no hace lo esperado, revise la salida de 'vgscan -vvvv'.


    # De forma predeterminada, aceptamos cada dispositivo de bloque:
    filtro = [ "a/.*/" ]

    # Excluir la unidad de cdrom
    # filtro = [ "r|/dev/cdrom|" ]

    # Al probar me gustaría trabajar con dispositivos de bucle de retorno:
    # filtro = [ "a/loop/", "r/.*/" ]

    # O quizás todos los bucles y unidades ide a excepción de hdc:
    # filtro =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]

    # Use anclas si desea que sean verdaderamente específicos
    # filtro = [ "a|^/dev/hda8$|", "r/.*/" ]

    # Los resultados del filtraje se guardan en un disco para evitar
    # reescanear dispositivos dud (lo cual puede tardarse mucho tiempo).
    # De forma predeterminada esta cache se almacena en el directorio /etc/lvm/cache
    # en un archivo llamado '.cache'.
    # Se puede borrar el contenido: las herramientas lo regeneran.
    # (El antiguo parámetro 'cache' aún se respeta si ninguno de los nuevos está
    # presente.)
    cache_dir = "/etc/lvm/cache"
    cache_file_prefix = ""

    # Puede desactivar la escritura de este archivo cache estableciéndolo a 0.
    write_cache_state = 1

    # Parámetros avanzados.

    # Lista de pares de tipos de dispositivos de bloque adicionales aceptables encontrados 
    # en /proc/devices con un máximo número de particiones (no-cero).
    # tipos = [ "fd", 16 ]

    # Si se monta sysfs  (2.6 kernels) restringe el escaneo de dispositivos a 
    #  los dispositivos de bloque que cree que son válidos.
    # 1 habilita; 0 inhabilita.
    sysfs_scan = 1

    # De forma predeterminada, LVM2 ignorará los dispositivos usados como componente de 
    # dispositivos RAID (md) de software al buscar superbloques md.
    # 1 habilita; 0 inhabilita.
    md_component_detection = 1

    # De forma predeterminada, si un volumen físico es colocado directamente después de un dispositivo md, LVM2
    # alineará sus bloques de datos con el dispositivo de ancho de banda md.
    # 1 habilita; 0 inhabilita.
    md_chunk_alignment = 1

    # La alineación predeterminada del inicio del área de datos en MB.  Si se establece a 0,
    # se usará un valor de 64KB.  Establezca a 1 para 1MiB, 2 para 2MiB, etc.
    # default_data_alignment = 1

    #  De forma predeterminada, el inicio de área de datos de volumen físico será un múltiplo de
    # 'minimum_io_size' u 'optimal_io_size' expuesto en sysfs.
    # - minimum_io_size - la solicitud mínima que el dispositivo puede realizar
    #   sin incurrir en una sanción de read-modify-write (por ejemplo, tamaño de trozo de MD)
    # - optimal_io_size - la unidad de dispositivo preferida para recibir E/S
    #   (e.g. MD's stripe width)
    # minimum_io_size se utiliza si optimal_io_size es indefinido (0).
    # Si md_chunk_alignment está activado, detecta el optimal_io_size.
    # Este parámetro tiene prioridad sobre md_chunk_alignment.
    # 1 habilita; 0 inhabilita.
    data_alignment_detection = 1

    # Alineación (en KB) de inicio de área de datos al crear un nuevo volumen físico.
    # md_chunk_alignment y data_alignment_detection se desactivan.
    # Establecer a 0 para la alineación predeterminada (ver: data_alignment_default)
    # o el tamaño de página, si es más grande.
    data_alignment = 0

    # De forma predeterminada, el inicio de datos alineados de volumen físico se cambiará  por
    # el 'alignment_offset' expuesto en sysfs.  Esta compensación suele ser 0, pero
    # puede ser no-cero; por ejemplo.: algunas unidades de sectores de 4KB que compensan el
    # particionamiento de windows tendrán un alignment_offset de 3584 bytes
    # (sector 7 es el bloque lógico alineado más bajo, los sectores de 4KB inician
    # en LBA -1, y como consecuencia el sector 63 se alínea en un límite de 4KB).
    # Sin embargo, observe que pvcreate --dataalignmentoffset omitirá esta detección.
    # 1 habilita; 0 inhabilita.
    data_alignment_offset_detection = 1

    # Si, al escanear el sistema para volúmens físicos, LVM2 encuentra un mapeador de dispositivo
    # que tiene suspendida su E/S, espera a que sea  accesible.
    # Establézcalo a 1 para omitir estos dispositivos. Esto solamente será necesario en situaciones de
    # recuperación.
    ignore_suspended_devices = 0

    # Durante cada operación LVM se cuentan los errores recibidos de cada dispositivo.
    # Si el contador de un dispositivo particular excede el límite establecido aquí, no
    # se enviará más E/S al dispositivo para lo que resta de la operación respectiva.
    # Al establecer el parámetro a inhabilita todos los contadores.
    disable_after_error_count = 0

    # Permitir el uso de pvcreate --uuid sin requerir --restorefile.
    require_restorefile_with_uuid = 1
}

# Esta sección le permite configurar la forma en que LVM selecciona
# espacio libre para sus volúmenes lógicos.
#asignación {
#    Durante la búsqueda de espacio libre para extender un volumen lógico, la política de asignación "cling"
#    eligirá un espacio en los  misimos volúmenes físicos como el último segmento del
#    volumen lógico existente.  Si no hay espacio suficiente y se define aquí una lista de
#    etiquetas, revisará si alguna de ellas está conectada al volumen lógico concernientes
#     y luego busca concordar esas etiquetas para que coincidan con las etiquetas de volúmenes físicos
#    entre las extensiones existentes y las nuevas extensiones.
#    Use la etiqueta especial "@*" como comodín para que coincida con cualquier etiqueta de volumen físico.
#    
#    Ejemplo: Los volúmenes lógicos se copian en espejo entre dos sitios dentro de un único Grupo de Volumen.
#    Los volúmenes físicos se etiquetan con @site1 o @site2 para indicar dónde
#    están situados.
#
#    cling_tag_list = [ "@site1", "@site2" ]
#    cling_tag_list = [ "@*" ]
#}

# Esta sección le permite configurar la naturaleza de la informacióon que reporta
# LVM2.
log {

    # Controla los mensajes enviados a stdout o stderr.
    # Hay tres niveles de verbosidad, 3 siendo el más verboso.
    verbose = 0

    # ¿Debe enviar mensajes de registro a través de syslog?
    # 1 si sí; 0 si no.
    syslog = 1

    # ¿Debemos registrar mensajes de error o depuración a un archivo?
    # No hay archivo de registro predeterminado.
    #file = "/var/log/lvm2.log"

    # ¿Debemos sobrescribir el archivo de registro cada vez que se ejecute el programa?
    # Lo añadimos de forma predeterminada.
    overwrite = 0

    # ¿Qué nivel de mensajes de registro debemos enviar al archivo de registro y o al syslog?
    # Hay 6 niveles syslog-like actualmente en uso - 2 a 7 inclusive.
    # 7 es el más verboso (LOG_DEBUG).
    level = 0

    # Formato de mensajes de salida
    # Si o no (1 o 0) los mensajes para marcar los mensajes de acuerdo a su severidad
    indent = 1

    # Si o no (1 o 0) para mostrar el nombre de comando en cada salida de línea 
    command_names = 0

    # Un prefijo para usar antes del texto del mensaje (pero después del nombre de comandos,
    # si se ha seleccionado). El predeterminado es dos espacios, para que usted puede ver/grep la  severidad
    # de cada mensaje.
    prefix = "  "

    # Para que los mensajes se vean similares a las herramientas LVM originales use:
    #   indent = 0
    #   command_names = 1
    #   prefix = " -- "

    # Establézcalo si desea mensajes de registro durante la activación.
    # No lo use en situaciones de poca memoria (puede interbloquear).
    # activation = 0
}

# Configuración de respaldos de metadatos y archivación.  En LVM2 cuando
# hablamos de 'backup' o respaldo significa hacer una copia de los metadatos para el sistema
# *actual* system.  El 'archive' contiene configurciones de metadatos antiguas.
# Los respaldos se almacenan en formato de texto de lectura humana.
backup {

    # ¿Debemos mantener un respaldo de la configuración de metadatos actual ?
    # Use 1 para Sí; 0 para No.
    # Piense mucho antes de desactivarlo
    backup = 1

    # ¿Dónde debemos guardarlo ?
    # Recuerde hacer copia de este directorio con regularidad
    backup_dir = "/etc/lvm/backup"

    # ¿Debemos mantener un archivo de configuraciones de metadatos antiguo?.
    # Use 1 para Sí; 0 para No.
    # On predeterminado.  Piense mucho antes de desactivarlo.
    archive = 1

    # ¿A dónde deben ir los ficheros archivados ?
    # Recuerde hacer copia de este directorio regularmente
    archive_dir = "/etc/lvm/archive"

    #¿Cuál es el número mínimo de ficheros de archivos que desea mantener ?
    retain_min = 10

    # ¿Cuál es el tiempo mínimo que usted desea mantener un fichero de archivos ?
    retain_days = 30
}

# Parámetros para ejecutar LVM2 en modo shell (readline).
shell {

    # Número de líneas de historia a almacenar en ~/.lvm_history
    history_size = 100
}


# Varias configuraciones de LVM2 global
global {

    # La máscara de creación de archivo para los archivo y directorios creados.
    # Se interpreta como octal si el primer dígito es cero.
    umask = 077

    # Permitir a otros usuario la lectura de archivos
    #umask = 022

    # Habilitar el modo de prueba significa que no se harán cambios de metadatos en disco
    # Equivalente a tener la opción -t en cada
    # comando.  Se predetermina a apagado.
    test = 0

    # Valor predeterminado para argumento  --units
    units = "h"

    # Puesto que la versión 2.02.54, las herramientas distinguen entre poderes de
    # 1024 bytes (e.g. KiB, MiB, GiB) y poderes de 1000 bytes (e.g.
    # KB, MB, GB).
    # Si tiene scripts que dependen de la antigua conducta, establézcala a 0
    # temporalmente hasta que las actualice.
    si_unit_consistency = 1

    # Si se comunica o no con el mapeador de dispositivos de kernel.
    # Establezca a  0 si desea usar las herramientas para manipular metadatos de LVM 
    # sin activar ningún volumen lógico.
    # Si el controlador de kernel mapeador de dispositivo no está presente en su configuración de
    # kernel  establecerlo a 0 suprimiría los mensajes de error.
    activation = 1

    # Si no podemos comunicarnos con el mapeador de dispositivos, ¿deberíamos tratar de ejecutar 
    # las herramientas de LVM1?
    # Esta opción solamente se aplica a kernels 2.4 y se proporciona para ayudarle
    # a cambiar entre kernels de mapeador de dispositivo y kernels LVM1.
    # Las herramientas LVM1 necesitan ser instaladas con .lvm1
    # e.g. vgscan.lvm1 y dejarán de funcionar después de comenzar a usar
    # el nuevo formato de metadatos en disco de lvm2.
    # El valor predeterminado se establece cuando las herramientas se construyan.
    # fallback_to_lvm1 = 0

    # El formato de metadatos predeterminado que los comandos deben usar - "lvm1" o "lvm2".
    # La línea de comandos sobrescrita es -M1 o -M2.
    # Se predetermina a "lvm2".
    # formato = "lvm2"

    # Ubicación del sistema de archivos proc
    proc = "/proc"

    # Tipo de cierre a usar. Se predetermina a cierre basado en archivo local (1).
    # Desactívelo estableciéndolo a 0 (peligroso: riesgo de dañar metadatos
    # si los comandos de LVM2 se ejecutan al mismo tiempo).
    # Tipo 2 usa la biblioteca externa compartida locking_library.
    # Tipo 3 usa cierre de cluster incorporado.
    # Tipo 4 usa cierre de solo lectura, el cual prohibe operaciones que podrían 
    # cambiar metadatos.
    locking_type = 1

    # Establezca a  0 para falla cuando una solicitud fail when a lock request cannot be satisfied immediately.
    wait_for_locks = 1

    # Si el uso de cierre externo falla (tipo 2) y la inicialización falla,
    # estableciendo a  1 se hara un intento de usar cierre de agrupamiento
    # incorporado.
    # Si está usando un locking_library personalizado, establézcalo a 0.
    fallback_to_clustered_locking = 1

    # Si se intenta inicializar tipo 2 o tipo 3 el cierre falla, quizás debido
    # a componentes de cluster tales como clvmd que no se están ejecutando, establecido a 
    # 1 se hará un intento para usar cierre basado en archivo local (tipo 1).
    # Si esto resulta, solamente los grupos de volumen local proseguirán.
    # Los Grupos de Volumen marcados como en cluster serán ignorados.
    fallback_to_local_locking = 1

    # El directorio local non-LV que guarda los cierres basados en archivos mientras los comandos están en progreso
    # Un directorio como /tmp puede ser borrado en el reinicio sin problema
    locking_dir = "/var/lock/lvm"

    # Cuando hay solicitudes de solo lectura y solo escritura compitiendo por
    # metadatos de un grupo de volumen, en lugar de siempre otorgar solo lectura
    # inmediatamente, los demora para permitir que las solicitudes de lectura-escritura  sean
    # servidas.  Sin esta configuración, el acceso a escritura puede detenerse por un alto
    # volumen de solicitudes de solo lectura.
    # NB. Esta opción solo afecta cierre basado en locking_type = 1 viz. local file-based
    # locking.
    prioritise_write_locks = 1

    # Otras entradas puede ir aquí para permitirel cargar las bibliotecas compartidas
    # e.g. if support for LVM1 metadata was compiled as a shared library use
    #   format_libraries = "liblvm2format1.so" 
    # Nombres de ruta completos pueden darse.

    # Buscar este directorio primero para bibliotecas compartidas.
    #   library_dir = "/lib"

    # La biblioteca de cierre externo  a cargar si locking_type se establece a  2.
    #   locking_library = "liblvm2clusterlock.so"

    # Tratar los errores internos como errores fatales, abortando el proceso que 
    # encontró el error interno. Por favor solamente habilite para depuración.
    abort_on_internal_errors = 0

    # Si establece a  1, ninguna operación que cambie en los metadatos de disco será permitida.
    # Además, los comandos de solo lectura que encuentren metadatos que necesitan reparación
    # aún se les permitirá proceder exactamente como si la reparación se hubiera realizado 
    # (excepto para el vg_seqno sin modificar).
    # El uso inapropiado puede dañar su sistema, por lo tanto busque ayuda primero
    metadata_read_only = 0
}

activation {
    # Establezca a  0 to desactivar la sincronización udev (si está compilado en los binarios).
    # Los procesos no esperarán notificación de udev.
    # Continuarán independientemente de cualquier procesamiento udev posible
    # en el fondo.  Debe usarlo solamente si udev no se está ejecutando
    # o tiene reglas que ignoran los dispositivos que crea LVM2.
    # El argumento de línea de comandos --nodevsync tiene prioridad sobre esta configuración.
    # Si establece a 1 cuando udev no está en ejecución y hay procesos LVM2
    # esperando por udev, ejecute en forma manual 'dmsetup udevcomplete_all' para despertarlos.
    udev_sync = 1

    # Establezca a  0 para desactivar las reglas udev instaladas por LVM2 (si se construye con
    # --enable-udev_rules). LVM2 administrará los  /dev nodes y symlinks
    # para volúmenes lógicos activos directamente.
    # N.B. La intervención manual puede requerirse si la configuración se cambia
    # cuando alguno de los volúmenes lógicos está activo.
    udev_rules = 1

    # ¿Cómo llenar las franjas faltantes si se activa un volumen incompleto?
    # El uso de "error" hará que partes inaccesibles del dispositivo retornen
    # errores de E/S en acceso. Puede en su lugar usar una ruta de dispositivo, en cuyo caso 
    # ese dispositivo se utilizará en lugar de las franjas faltantes.
    # Pero observer que el usar algo que no sea "error" con los volúmenes en espejo 
    # o en instantáneas es probable que devuelva datos corruptos.
    missing_stripe_filler = "error"

    # ¿Cuánta cantidad (en KB) reservar para usar mientras los dispositivos están suspendidos?
    reserved_stack = 256

    # ¿Cuánta memoria (en KB) reservar para usar mientras los dispositivos están suspendidos?
    reserved_memory = 8192

    # Valor Nice utilizado mientras los dispositivos están suspendidos
    process_priority = -18

    # Si volume_list está definido, cada LV se activa únicamente si coincide con alguno en la
    # lista.
    #   "vgname" y "vgname/lvname" concuerdan exactamente.
    #   "@tag" coincide con cualquier etiqueta establecida en LV o VG.
    #   "@*" coincide si cualquier etiqueta definida en el host tambén se establece en el volumen lógico oo en el Grupo de volumen
    #
    # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]

    # Tamaño (en KB) de cada operación de copia al copiar en espejo
    mirror_region_size = 512

    # Configuración a usar cuando no hay un valor de lectura previa almacenado en los metadatos.
    #
    # "none" - Desactivar lectura previa.
    # "auto" - Usar valor predeteminado elegido por kernel.
    readahead = "auto"

    # 'mirror_image_fault_policy' y 'mirror_log_fault_policy' definen
    # ¿Cómo se maneja una  falla de un dispositivo que afecta un espejo?
    # Un espejo se compone de imágenes de espejo (copias) y de un registro.
    # Un registro de disco garantiza que un espejo no necesite ser resincronizado
    # (todas las copias se crean iguales) cada vez que una máquina reinicia o se cae.
    #
    # En el evento de una falla, la política especifida se utilizará para determinar lo que
    # sucede. Esto se aplica a reparaciones automáticas (cuando el espejoestá
    # monitorizado por dmeventd) y para lvconvert --repair de forma manual cuando se
    # proporciona --use-policies.
    #
    # "remove" - Simplemente retirar el dispositivo que no sirve y ejecutar sin él.  Si
    #            el dispositivo de registro falla, el espejo se convertiría para usar
    #            un registro en memoria.  Esto significa que el espejo no recordará
    #            su estatus de sync a través de caídas y reinicios y
    #            todo el espejo será resincronizado.  Si una imagen
    #            de espejo falla, el espejo se convertirá a
    #            un dispositivo no- mirrored si solamente queda una copia
    #            buena.
    #
    # "allocate" - Retirar el dispositivo que no sirve y tratar de asignar espacio en
    #            un nuevo dispositivo para que sea un remplazo para el dispositivo dañado.
    #            El uso de esta política para el registro es rápido y mantiene la
    #            habilidad de recordar el estado sync a través de daños y reinicios.
    #            El uso de esta política para un dispositivo de espejo es lento, como lo
    #            requiere el espejo para resincronizar los dispositivos, pero
    #            preservará la característica de espejo del dispositivo.
    #            Esta política actúa como "remove" si no es un dispositivo apropiado y se
    #            puede asignar espacio para el remplazo.
    #
    # "allocate_anywhere" - Aún no implementado. Útil para colocar el dispositivo de registro
    #            temporarlmente en el mismo volumen físico como una de las imágenes de
    #            espejo. Esta política no se recomienda para dispositivos de espejo
    #            puesto que rompería la naturaleza redundante del espejo. Esta
    #            política actúa como "remove" si ningún dispositivo y espacio adecuado puede ser
    #            asignado para el remplazo.

    mirror_log_fault_policy = "allocate"
    mirror_image_fault_policy = "remove"

    # 'snapshot_autoextend_threshold' y 'snapshot_autoextend_percent' definen
    # cómo manejar la extesión de instantánea automática. La anterior define cuándo  se
    # debe extender la instantánea: cuando su espacio exceda este
    # porcentaje. Lo último define cuánto espacio adicional debe asignarse para
    # la instantánea, en porcentaje de su tamaño actual.
    #
    # Por ejemplo, si establece snapshot_autoextend_threshold a 70 y
    # snapshot_autoextend_percent a 20, cuando una instantánea excede el uso de 70%,
    # se extenderá a otro 20%. Para una instantánea de 1G , que usa hasta 700M provocará
    # un cambio a 1.2G. Cuando el uso excede 840M, la instantánea se
    # extenderá a 1.44G, y así sucesivamente.
    #
    # Al configurar snapshot_autoextend_threshold a 100 inhabilita las extensiones
    # automáticas. El valor mínimo es 50 (Una configuración por debajo de 50 será tratada
    # como de 50).

    snapshot_autoextend_threshold = 100
    snapshot_autoextend_percent = 20

    # Al activar dispositivos, la E/S a dispositivos que están siendo (re)configurados
    # se suspende y para prevenir interbloqueos, LVM2 necesita mantener
    # la memoria que está usando para que no sea reenviada a otra memoria.  Los grupos de páginas que
    # se sabe no que son accedidos durante la activación no necesitan mantenerse
    # en la memoria.  Cada cadena listada en la configuración se compara con
    # cada línea en /proc/self/maps, y las páginas que correspondan a cualquiera de las líneas
    # coincidentes no serán mantenidas.  En algunos sistemas el archivo de indicador regional se
    # halló que constituía más del 80% de la memoria utilizada por el proceso.
    # mlock_filter = [ "locale/locale-archive", "gconv/gconv-modules.cache" ]

    # Establezca a  1 para revertir a la conducta predeterminada anterior a la versión 2.02.62
    # que usaba mlockall() para mantener toda la memoria del proceso durante la activación de
    # dispositivos.
    use_mlockall = 0

    # La monitorización se activa de forma predeterminada al activar los volúmenes lógico.
    # Establezca a  0 para desactivar la monitorización o use la opción --ignoremonitoring.
    monitorización = 1

    # Cuando pvmove o lvconvert deben esperar a que el kernel termine
    # de sincronizar o fusionar datos, ellos revisan y reportan el progreso
    # en intervalos de este número de segundos.  El predeterminado es 15 segundos.
    # Si se establece a  0 y solamente hay que esperar, no hay
    # reportes de progreso, pero el proceso se despierta inmediátamente cuando
    # se completa la operación.
    polling_interval = 15
}


####################
# Sección avanzada #
####################

# Parámetros de metadatos
#
# metadatos {
    # Número predeterminado de copias de metadatos en cada volumen físico,  0, 1 o 2.
    # Podría desear sobrescrbirlo desde la línea de comandos con 0 
    # al ejecutar pvcreate en nuevos volúmenes físicos que se añaden a grandes grupos de volúmenes.

    # pvmetadatacopies = 1

    # El número predeterminado de copias de metadatos a mantener para cada Grupo de Volumen.
    # Si se establece a valor no-cero, LVM automáticamente elige las áreas
    # disponibles a usar para cumplir con el  número de copias de metadatos de GV solicitado
    # Si establece un valor mayor que
    # el número total de áreas de metadatos disponibles, los metadatos se
    # almacenarán todos en ellos.
    # El valor predeterminado de 0 ("no administrado") desactiva esta administración
    # automática y le permite controlar las áreas de metadatos
    # usadas a nivel de volumen físico individual mediante 'pvchange
    # --metadataignore y/n'.

    # vgmetadatacopies = 0

    # Tamaño predeterminado aproximado de áreas de metadatos en disco en sectores.
    # Debe aumentarlo si tiene grandes grupos de volúmenes o
    # si desea retener en disco una gran cantidad de historia de sus cambios de metadatos.

    # pvmetadatasize = 255

    # Lista de directorios que contienen copias vivas de metadatos de formato de texto.
    # Estos directorios no deber ser volúmenes lógicos.
    # Es posible usar LVM2 con un par de directorios aquí,
    # preferiblemente en diferentes  sistemas de archivos (non-LV), y con ningún otro
    # on-disk metadata (pvmetadatacopies = 0). O puede ser una adición de áreas de
    # metadatos en disco.
    # La funcionalidad se añadía originalmente para simplificar la prueba y no está
    # soportada bajo situaciones de poca memoria - la máquina se podría bloquear.
    #
    # Nunca modifique a mano archivos en estos directorios  a menos que
    # usted esté absolutamente seguro de que sabe lo que está haciendo. Use
    # la herramienta provista para hacer los cambios (por ejemplo, vgcfgrestore).

    # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
#}

# Demonio de eventos
#
dmeventd {
    # mirror_library es la biblioteca utilizada al monitorizar un dispositivo de espejo.
    #
    # "libdevmapper-event-lvm2mirror.so" intenta recuperarse de
    # las fallas.  Remueve los dispositivos que fallan desde un grupo de volumen y 
    # reconfigura un espejo cuando es necesario. Si no se proporciona ninguna biblioteca de espejo,
    #los espejos no serán monitorizados a través de dmeventd.

    mirror_library = "libdevmapper-event-lvm2mirror.so"

    # snapshot_library es la biblioteca utilizada para monitorizar un dispositivo de instantánea.
    #
    # "libdevmapper-event-lvm2snapshot.so" monitoriza el filtraje de
    # instantáneas y emite una advertencia a través de syslog cuando el uso de la
    # instantánea excede 80%. La advertencia se repite cuando el 85%, 90% y
    # 95% de la instantánea se llena.

    snapshot_library = "libdevmapper-event-lvm2snapshot.so"

    # Ruta completa del binario dmeventd.
    #
    # ejecutable = "/sbin/dmeventd"
}