Gestión del Administrador de volumen lógico
Guía del Gestor de LVM
Edición 3
Resumen
Introducción
1. Sobre este manual Copiar enlaceEnlace copiado en el portapapeles!
2. Audiencia Copiar enlaceEnlace copiado en el portapapeles!
3. Versiones de software Copiar enlaceEnlace copiado en el portapapeles!
| Software | Descripción |
|---|---|
|
RHEL5
|
referencia a RHEL5 o superior
|
|
GFS
|
referencia a GFS para RHEL5 o superior
|
4. Documentación relacionada Copiar enlaceEnlace copiado en el portapapeles!
- Manual de instalación de Red Hat Enterprise Linux — proporciona información sobre la instalación de Red Hat Enterprise Linux 5.
- Manual de implementación de Red Hat Enterprise Linux — Proporciona información sobre la implementación, configuración y administración de Red Hat Enterprise Linux 5.
- Sinopsis de Red Hat Cluster Suite — Proporciona un resumen de alto nivel de la suite de cluster de Red Hat.
- Configuración y administración de Red Hat Cluster — Proporciona información sobre la instalación, configuración y administración de los componentes de Red Hat Cluster.
- Sistema de archivos global (GFS) Configuración y administración — Proporciona información sobre la instalación, configuración y mantenimiento de Red Hat GFS (Red Hat Global File System).
- Sistema de archivos global 2: Configuración y administración — Proporciona información sobre la instalación, configuración y mantenimiento de Red Hat GFS (Red Hat Global File System).
- Uso de multirutas de Mapeo de Dispositivos — Proporciona información sobre el uso del soporte de multirutas de mapeo de dispositivos de Red Hat Enterprise Linux 5.
- Uso de GNBD con el sistema de archivos global — Proporciona un resumen sobre el uso de Dispositivos de Bloque de Red Global (GNBD) con Red Hat GFS.
- Administración del servidor virtual de Linux —Proporciona información sobre cómo configurar sistemas de alto rendimiento y servicios con el servidor virtual de Linux (LVS).
- Notas de lanzamiento de Red Hat Cluster Suite — Proporciona información sobre el lanzamiento actual de la suite de cluster de Red Hat.
5. Comentarios Copiar enlaceEnlace copiado en el portapapeles!
rh-cs.
Bugzilla component: Documentation-cluster
Book identifier: Cluster_Logical_Volume_Manager(EN)-5 (2009-01-05T15:20)
Capítulo 1. El administrador de volúmenes lógicos LVM Copiar enlaceEnlace copiado en el portapapeles!
1.1. Volúmenes lógicos Copiar enlaceEnlace copiado en el portapapeles!
- Capacidad flexibleCuando se utilizan volúmenes lógicos, los sistemas de archivos pueden extenderse a lo largo de varios discos, ya que se pueden agregar discos y particiones en un único volumen lógico.
- Grupos de almacenaje dimensionablesPuede extender los volúmenes lógicos o reducir los volúmenes lógicos con comandos de software sencillos, sin necesidad de volver a dar formato o crear particiones en los dispositivos de discos subyacentes.
- Asignación de datos en líneaPara implementar subsistemas de almacenamiento más modernos, más rápidos o resistentes, puede trasladar los datos mientras su sistema está activo. Los datos pueden ser reorganizados en discos mientras los discos están siendo utilizados. Por ejemplo, puede vaciar un disco antes de quitarlo.
- Nombres de dispositivos convenientesLos volúmenes de almacenaje lógico pueden ser administrados en grupos definidos por el usuario, los cuales se pueden especificar de acuerdo con las necesidades.
- Entrelazado de discoPuede crear un volumen lógico que entrelaza datos a lo largo de dos o más discos. Ésto incrementa dramáticamente la taza de transferencia.
- Volúmenes en espejosLos volúmenes lógicos proporcionan una manera conveniente de configurar copias para sus datos.
- Instantáneas del volumenAl usar volúmenes lógicos, usted puede crear instantáneas del dispositivo para obtener copias de seguridad consistentes o para probar el efecto de algunos cambios sin afectar los datos reales.
1.2. Sinopsis de la arquitectura LVM Copiar enlaceEnlace copiado en el portapapeles!
- capacidad flexible
- almacenamiento de metadatos más eficiente
- mejor formato de recuperación
- un nuevo formato de metadatos ASCII
- cambios atómicos a los metadatos
- copias redundantes de los metadatos
vgconvert. Para obtener mayor información en convertir el formato de metadatos LVM, consulte las páginas de manual vgconvert(8).
Figura 1.1. LVM Logical Volume Components
1.3. Administrador de volúmenes lógicos en cluster (CLVM) Copiar enlaceEnlace copiado en el portapapeles!
- Si sólo un nodo de su sistema requiere acceder al almacenamiento que está configurando como volúmenes lógicos, entonces puede utilizar LVM sin las extensiones de CLVM y los volúmenes lógicos creados con ese nodo son todos locales al nodo.
- Si está utilizando un sistema en cluster para recuperación de fallos donde únicamente un solo nodo que accede al almacenamiento está activo a cualquier momento, deberá utilizar los agentes de alta disponibilidad de administración de volúmenes lógicos (HA-LVM). Para mayor información sobre HA-LVM, consulte Configuración y administración de un Red Hat Cluster.
- Si más de un nodo de su cluster requiere acceder a su almacenamiento, el cual es compartido entre los nodos activos, entonces deberá utilizar CLVM. CLVM permite configurar volúmenes lógicos en almacenaje compartido al bloquear el acceso al almacenaje físico mientras el volumen lógico está siendo configurado. CLVM utiliza servicios de bloqueo en cluster para administrar el almacenaje compartido.
clmvd. El daemon clmvd es la extensión principal de cluster para LVM. El daemon clvmd se ejecuta en cada computador del cluster y distribuye las actualizaciones de metadatos de LVM en un cluster, presentando cada computador del cluster con el mismo panorama de volúmenes lógicos. Para mayor información sobre la instalación y administración de Red Hat Cluster Suite, consulte Configuración y administración de un Red Hat Cluster.
clmvd se inicie en el arranque, puede ejecutar un comando chkconfig ... on en el servicio clvmd, así:
# chkconfig clvmd on
clvmd no se ha iniciado, puede ejecutar un comando service ... start en el servicio clvmd, así:
# service clvmd start
Figura 1.2. Sinopsis de CLVM
Nota
clvmd) o los agentes de administración de alta disponibilidad de volumen lógico (HA-LVM). Si no puede utilizar ni el daemon clvmd ni el HA-LVM por razones operacionales o porque no tiene la debida autorización, no debe utilizar una instancia única de LVM en el disco compartido, ya que esto puede ocasionar corrupción de datos. Si tiene alguna duda, por favor contacte al representante de servicio Red Hat.
Nota
lvm.conf file for cluster-wide locking. Information on configuring the lvm.conf file to support clustered locking is provided within the lvm.conf file itself. For information about the lvm.conf file, see Apéndice B, Archivos de configuración LVM.
1.4. Sinopsis del documento Copiar enlaceEnlace copiado en el portapapeles!
- Capítulo 2, Componentes de LVM describes the components that make up an LVM logical volume.
- Capítulo 3, Sinopsis de la administración de LVM provides an overview of the basic steps you perform to configure LVM logical volumes, whether you are using the LVM Command Line Interface (CLI) commands or the LVM Graphical User Interface (GUI).
- Capítulo 4, Administración de LVM mediante comandos de CLI summarizes the individual administrative tasks you can perform with the LVM CLI commands to create and maintain logical volumes.
- Capítulo 5, Ejemplos de configuración de LVM provides a variety of LVM configuration examples.
- Capítulo 6, Solución de errores en LVM provides instructions for troubleshooting a variety of LVM issues.
- Capítulo 7, Administración de LVM con la interfaz gráfica de LVM summarizes the operating of the LVM GUI.
- Apéndice A, Mapeo de Dispositivos describes the Device Mapper that LVM uses to map logical and physical volumes.
- Apéndice B, Archivos de configuración LVM describes the LVM configuration files.
- Apéndice C, Etiquetas de objetos LVM describes LVM object tags and host tags.
- Apéndice D, Metadatos del grupo de volúmenes LVM describes LVM volume group metadata, and includes a sample copy of metadata for an LVM volume group.
Capítulo 2. Componentes de LVM Copiar enlaceEnlace copiado en el portapapeles!
2.1. Volúmenes físicos Copiar enlaceEnlace copiado en el portapapeles!
2.1.1. LVM Physical Volume Layout Copiar enlaceEnlace copiado en el portapapeles!
Nota
Figura 2.1. Distribución de un volumen físico
2.1.2. Múltiples particiones en un disco Copiar enlaceEnlace copiado en el portapapeles!
- Conveniencia administrativaEs fácil controlar el hardware en un sistema si cada disco real solo aparece una vez. Esto es particularmente cierto cuando el disco falla. Además, varios volúmenes físicos en un solo disco pueden hacer que el kernel advierta que hay particiones desconocidas durante el arranque.
- Rendimiento de entrelaceLVM no puede saber si dos volúmenes físicos están en el mismo disco físico. Si crea un volumen lógico entrelazado cuando dos volúmenes físicos están en el mismo disco físico, los enlaces pueden estar en diferentes particiones del mismo disco. Esto llevará a un decremento en el rendimiento.
2.2. Grupos de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
2.3. Volúmenes lógicos LVM Copiar enlaceEnlace copiado en el portapapeles!
2.3.1. Volúmenes lineales Copiar enlaceEnlace copiado en el portapapeles!
Figura 2.2. Mapas de extensiones
VG1 with a physical extent size of 4MB. This volume group includes 2 physical volumes named PV1 and PV2. The physical volumes are divided into 4MB units, since that is the extent size. In this example, PV1 is 100 extents in size (400MB) and PV2 is 200 extents in size (800MB). You can create a linear volume any size between 1 and 300 extents (4MB to 1200MB). In this example, the linear volume named LV1 is 300 extents in size.
Figura 2.3. Volumen lineal con volúmenes físicos disparejos
LV1, which is 250 extents in size (1000MB) and LV2 which is 50 extents in size (200MB).
Figura 2.4. Volúmenes lógicos múltiples
2.3.2. Volúmenes lógicos entrelazados Copiar enlaceEnlace copiado en el portapapeles!
- el primer grupo de datos se escribe a PV1
- el segundo grupo de datos se escribe a PV2
- el tercer grupo de datos se escribe a PV3
- el cuarto grupo de datos se escribe a PV1
Figura 2.5. Entrelazando datos a lo largo de tres PV
2.3.3. Volúmenes lógicos en espejo Copiar enlaceEnlace copiado en el portapapeles!
Figura 2.6. Mirrored Logical Volume
Nota
2.3.4. Volúmenes de instantáneas Copiar enlaceEnlace copiado en el portapapeles!
Nota
Nota
- Generalmente, una instantánea se toma cuando se necesita ejecutar una copia de seguridad en un volumen lógico sin detener el sistema en vivo que continuamente actualiza los datos.
- Puede ejecutar el comando
fscken un sistema de archivos de instantánea para revisar la integridad del sistema de archivos y determinar si el sistema de archivos original requiere reparación. - Porque la instantánea es de lectura y escritura, puede probar aplicaciones contra los datos en producción si toma una instantánea y ejecuta las pruebas en ella, sin tocar así los datos reales.
- Puede crear volúmenes para utilizar con el monitor de máquinas virtuales Xen. Puede utilizar la funcionalidad de instantáneas para crear una imagen de disco, crear la instantánea y modificar la instantánea para una instancia particular de domU. Puede crear otra instantánea y modificarla para otra instancia de domU. Como el único almacenamiento usado son trozos que cambiaron en el original o la instantánea, la mayoría del volumen es compartido.
Capítulo 3. Sinopsis de la administración de LVM Copiar enlaceEnlace copiado en el portapapeles!
3.1. Creación de volúmenes LVM en un cluster Copiar enlaceEnlace copiado en el portapapeles!
clmvd daemon, must be started at boot time, as described in Sección 1.3, “Administrador de volúmenes lógicos en cluster (CLVM)”.
lvm.conf file for cluster-wide locking. Information on configuring the lvm.conf file to support clustered locking is provided within the lvm.conf file itself. For information about the lvm.conf file, see Apéndice B, Archivos de configuración LVM.
Nota
clvmd) o los agentes de administración de volúmenes lógicos de alta disponibilidad (HA-LVM). Si no puede utilizar ni el daemon clvmd ni HA-LVM por razones operacionales o porque no tiene la debida autorización, no debe utilizar una instancia única de LVM en un disco compartido ya que esto puede conllevar a la corrupción de datos. Si tiene alguna duda, por favor contacte al representante de servicio de Red Hat.
3.2. Sinopsis de la creación de volúmenes lógicos Copiar enlaceEnlace copiado en el portapapeles!
- Inicialice las particiones a usar para el volumen LVM como volúmenes físicos (creando etiquetas en ellos).
- Cree un grupo de volúmenes.
- Cree un volumen lógico.
- Crear un sistema de archivos GFS en el volumen lógico con el comando
gfs_mkfs. - Crear un nuevo punto de montaje con el comando
mkdir. En un entorno de cluster, cree el punto de montaje en todos los nodos del cluster. - Monte el sistema de archivos. Añada una línea en
fstabpara cada nodo en el sistema.
3.3. Cómo aumentar el tamaño de un sistema de archivos en un volumen lógico Copiar enlaceEnlace copiado en el portapapeles!
- Cree un nuevo volumen físico.
- Extienda el grupo de volúmenes que contiene el volumen lógico con el sistema de archivos que está aumentando para incluir un nuevo volumen físico.
- Extienda el volumen lógico para incluir el nuevo volumen físico.
- Aumente el sistema de archivos.
3.4. Copia de seguridad del volumen lógico Copiar enlaceEnlace copiado en el portapapeles!
lvm.conf. Por defecto, las copias de seguridad de los metadatos se almacenan en el archivo /etc/lvm/backup y los archivos de metadatos se almacenan en /etc/lvm/archive. La duración en que los metadatos se almacenan en /etc/lvm/archive y la cantidad de éstos se determina en parámetros configurables del archivo de configuración lvm.conf. Una copia de seguridad del sistema diaria debería incluir el contenido del directorio /etc/lvm.
/etc/lvm/backup file with the vgcfgbackup command. You can restore metadata with the vgcfgrestore command. The vgcfgbackup and vgcfgrestore commands are described in Sección 4.3.12, “Cómo crear copias de seguridad de los metadatos del grupo de volúmenes”.
3.5. Registro Copiar enlaceEnlace copiado en el portapapeles!
- salida estándar/error
- syslog
- archivo de registro
- función de registro externo
/etc/lvm/lvm.conf file, which is described in Apéndice B, Archivos de configuración LVM.
Capítulo 4. Administración de LVM mediante comandos de CLI Copiar enlaceEnlace copiado en el portapapeles!
Nota
clvmd daemon. For information, see see Sección 3.1, “Creación de volúmenes LVM en un cluster”.
4.1. Uso de los comandos Copiar enlaceEnlace copiado en el portapapeles!
--units en un comando, las minúsculas indican que las unidades son múltiplos de 1024 mientras que las mayúsculas indican que son múltiplos de 1000.
lvol0 en un grupo de volúmenes llamado vg0 puede ser especificado como vg0/lvol0. Cuando una lista de grupos de volúmenes requerida se deja vacía, ésta se reemplaza con una lista de todos los grupos de volúmenes. Cuando se da un grupo de volúmenes en una opción que requiere una lista de volúmenes lógicos, todos los volúmenes lógicos del grupo son añadidos a la lista. Por ejemplo, el comando lvdisplay vg0 mostrará todos los volúmenes lógicos del grupo de volúmenes vg0.
-v, el cual puede ser introducido varias veces para aumentar la cantidad de mensajes de salida. El siguiente ejemplo muestra el mensaje de salida por defecto del comando lvcreate.
# lvcreate -L 50MB new_vg
Rounding up size to full physical extent 52.00 MB
Logical volume "lvol0" created
lvcreate con el argumento -v.
# lvcreate -v -L 50MB new_vg
Finding volume group "new_vg"
Rounding up size to full physical extent 52.00 MB
Archiving volume group "new_vg" metadata (seqno 4).
Creating logical volume lvol0
Creating volume group backup "/etc/lvm/backup/new_vg" (seqno 5).
Found volume group "new_vg"
Creating new_vg-lvol0
Loading new_vg-lvol0 table
Resuming new_vg-lvol0 (253:2)
Clearing start of logical volume "lvol0"
Creating volume group backup "/etc/lvm/backup/new_vg" (seqno 5).
Logical volume "lvol0" created
-vv, -vvv o -vvvv para incrementar los mensajes de salida y obtener más detalles sobre la ejecución del comando. El argumento -vvvv proporciona la mayor cantidad de información. El siguiente ejemplo muestra las primeras líneas del mensaje de salida de lvcreate con el el argumento -vvvv.
# lvcreate -vvvv -L 50MB new_vg
#lvmcmdline.c:913 Processing: lvcreate -vvvv -L 50MB new_vg
#lvmcmdline.c:916 O_DIRECT will be used
#config/config.c:864 Setting global/locking_type to 1
#locking/locking.c:138 File-based locking selected.
#config/config.c:841 Setting global/locking_dir to /var/lock/lvm
#activate/activate.c:358 Getting target version for linear
#ioctl/libdm-iface.c:1569 dm version OF [16384]
#ioctl/libdm-iface.c:1569 dm versions OF [16384]
#activate/activate.c:358 Getting target version for striped
#ioctl/libdm-iface.c:1569 dm versions OF [16384]
#config/config.c:864 Setting activation/mirror_region_size to 512
...
--help.
commandname --help
man:
man commandname
man lvm proporciona información general en línea sobre LVM.
/dev/sdf which is part of a volume group and, when you plug it back in, you find that it is now /dev/sdk. LVM will still find the physical volume because it identifies the physical volume by its UUID and not its device name. For information on specifying the UUID of a physical volume when creating a physical volume, see see Sección 6.4, “Cómo recuperar los metadatos de un volumen físico”.
4.2. Administración de volúmenes físicos Copiar enlaceEnlace copiado en el portapapeles!
4.2.1. Creación de volúmenes físicos Copiar enlaceEnlace copiado en el portapapeles!
4.2.1.1. Cómo establecer el tipo de partición Copiar enlaceEnlace copiado en el portapapeles!
fdisk o cfdisk. Para los dispositivos de disco completos, la tabla de particiones debe ser borrada. De esta forma se destruirán todos los datos en el disco. Puede quitar la tabla de particiones con el siguiente comando:
dd if=/dev/zero of=PhysicalVolume bs=512 count=1
4.2.1.2. Cómo inicializar los volúmenes físicos Copiar enlaceEnlace copiado en el portapapeles!
pvcreate para inicializar un dispositivo de bloque que será usado como volumen físico. La inicialización es análoga a la creación de formato de un sistema de archivos.
/dev/sdd1, /dev/sde1 y /dev/sdf1 para ser usados como volúmenes físicos LVM.
pvcreate /dev/sdd1 /dev/sde1 /dev/sdf1
pvcreate en la partición. El siguiente ejemplo inicializa /dev/hdb1 como un volumen físico LVM para ser usado como parte de un volumen lógico LVM.
pvcreate /dev/hdb1
4.2.1.3. Cómo buscar Dispositivos de Bloque Copiar enlaceEnlace copiado en el portapapeles!
lvmdiskscan, como se muestra en el siguiente ejemplo.
# lvmdiskscan
/dev/ram0 [ 16.00 MB]
/dev/sda [ 17.15 GB]
/dev/root [ 13.69 GB]
/dev/ram [ 16.00 MB]
/dev/sda1 [ 17.14 GB] LVM physical volume
/dev/VolGroup00/LogVol01 [ 512.00 MB]
/dev/ram2 [ 16.00 MB]
/dev/new_vg/lvol0 [ 52.00 MB]
/dev/ram3 [ 16.00 MB]
/dev/pkl_new_vg/sparkie_lv [ 7.14 GB]
/dev/ram4 [ 16.00 MB]
/dev/ram5 [ 16.00 MB]
/dev/ram6 [ 16.00 MB]
/dev/ram7 [ 16.00 MB]
/dev/ram8 [ 16.00 MB]
/dev/ram9 [ 16.00 MB]
/dev/ram10 [ 16.00 MB]
/dev/ram11 [ 16.00 MB]
/dev/ram12 [ 16.00 MB]
/dev/ram13 [ 16.00 MB]
/dev/ram14 [ 16.00 MB]
/dev/ram15 [ 16.00 MB]
/dev/sdb [ 17.15 GB]
/dev/sdb1 [ 17.14 GB] LVM physical volume
/dev/sdc [ 17.15 GB]
/dev/sdc1 [ 17.14 GB] LVM physical volume
/dev/sdd [ 17.15 GB]
/dev/sdd1 [ 17.14 GB] LVM physical volume
7 disks
17 partitions
0 LVM physical volume whole disks
4 LVM physical volumes
4.2.2. Cómo ver los volúmenes físicos Copiar enlaceEnlace copiado en el portapapeles!
pvs, pvdisplay y pvscan.
pvs command provides physical volume information in a configurable form, displaying one line per physical volume. The pvs command provides a great deal of format control, and is useful for scripting. For information on using the pvs command to customize your output, see Sección 4.9, “Reporte personalizado para LVM”.
pvdisplay proporciona un mensaje de salida de varias líneas para cada volumen físico. Muestra las propiedades físicas (tamaño, extensiones, grupo de volúmenes, etc.) en un formato fijo.
pvdisplay para un solo volumen físico.
# pvdisplay
--- Physical volume ---
PV Name /dev/sdc1
VG Name new_vg
PV Size 17.14 GB / not usable 3.40 MB
Allocatable yes
PE Size (KByte) 4096
Total PE 4388
Free PE 4375
Allocated PE 13
PV UUID Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
pvscan explora todos los dispositivos de bloque LVM soportados en el sistema por volúmenes físicos.
# pvscan
PV /dev/sdb2 VG vg0 lvm2 [964.00 MB / 0 free]
PV /dev/sdc1 VG vg0 lvm2 [964.00 MB / 428.00 MB free]
PV /dev/sdc2 lvm2 [964.84 MB]
Total: 3 [2.83 GB] / in use: 2 [1.88 GB] / in no VG: 1 [964.84 MB]
lvm.conf so that this command will avoid scanning specific physical volumes. For information on using filters to control which devices are scanned, see Sección 4.6, “Cómo controlar la exploración de dispositivos LVM a través de filtros”.
4.2.3. Cómo prevenir la asignación en un volumen físico Copiar enlaceEnlace copiado en el portapapeles!
pvchange. Esto puede ser necesario si hay errores de disco o si éste será removido del volumen físico.
/dev/sdk1.
pvchange -x n /dev/sdk1
-xy del comando pvchange para activar la asignación cuando esta ha sido previamente desactivada.
4.2.4. Cómo cambiar el tamaño de un volumen físico Copiar enlaceEnlace copiado en el portapapeles!
pvresize para actualizar LVM con el nuevo tamaño. Puede ejecutar este comando mientras LVM está usando el volumen físico.
4.2.5. Cómo remover volúmenes físicos Copiar enlaceEnlace copiado en el portapapeles!
pvremove. La ejecución de pvremove convierte en ceros los metadatos del LVM en un volumen físico vacío.
vgreduce command, as described in Sección 4.3.6, “Cómo remover un volumen físico de un grupo de volúmenes”.
# pvremove /dev/ram15
Labels on physical volume "/dev/ram15" successfully wiped
4.3. Administración del grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
4.3.1. Cómo crear grupos de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
vgcreate command. The vgcreate command creates a new volume group by name and adds at least one physical volume to it.
vg1 que contiene los volúmenes físicos /dev/sdd1 y /dev/sde1.
vgcreate vg1 /dev/sdd1 /dev/sde1
-s del comando vgcreate. Puede crear límites en el número de volúmenes físicos o lógicos que un grupo puede tener con las opciones -p y -l del comando vgcreate.
normal. Puede utilizar la opción --alloc del comando vgcreate para especificar una de las siguientes política de asignación: contiguous, anywhere o cling.
contiguous requiere que las nuevas extensiones sean adyacentes a las extensiones existentes. Si hay suficientes extensiones libres para satisfacer una solicitud de asignación, una política de asignación normal no las usará, pero la política de asignación anywhere sí lo hará, incluso si el asignar dos enlaces en el mismo volumen físico reduce el rendimiento. La política cling ubica nuevas extensiones en el mismo volumen físico que las extensiones en el mismo enlace del volumen lógico. Estas políticas pueden ser modificadas con el comando vgchange.
normal sólo se requieren en casos especiales donde se usted debe especificar asignaciones de extensiones inusuales o no estándar.
/dev con la siguiente estructura:
/dev/vg/lv/
mivg1 y mivg2, cada uno con tres volúmenes lógicos llamados lvo1, lvo2 y lvo3, esto crea seis archivos especiales de dispositivos:
/dev/myvg1/lv01
/dev/myvg1/lv02
/dev/myvg1/lv03
/dev/myvg2/lv01
/dev/myvg2/lv02
/dev/myvg2/lv03
4.3.2. Cómo crear grupos de volúmenes en un cluster Copiar enlaceEnlace copiado en el portapapeles!
vgcreate, de la misma forma que los crea en un único nodo.
-c n del comando vgcreate.
vg1 que contiene los volúmenes físicos /dev/sdd1 y /dev/sde1.
vgcreate -c n vg1 /dev/sdd1 /dev/sde1
-c option of the vgchange command, which is described in Sección 4.3.7, “Cómo cambiar los parámetros de un grupo de volúmenes”.
vgs, el cual visualiza el atributo c si el volumen está en cluster. El siguiente comando muestra los atributos de los grupos de volumen VolGroup00 y testvg1. En este ejemplo, VolGroup00 no está en cluster, mientras que testvg1 sí lo está, tal como lo indica el atributo c bajo el encabezado Attr.
[root@doc-07]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 2 0 wz--n- 19.88G 0
testvg1 1 1 0 wz--nc 46.00G 8.00M
vgs command, see Sección 4.3.4, “Cómo mostrar los grupos de volúmenes”Sección 4.9, “Reporte personalizado para LVM”, and the vgs man page.
4.3.3. Cómo agregar volúmenes físicos al grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
vgextend command. The vgextend command increases a volume group's capacity by adding one or more free physical volumes.
/dev/sdf1 al grupo de volúmenes vg1.
vgextend vg1 /dev/sdf1
4.3.4. Cómo mostrar los grupos de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
vgs y vgdisplay.
vgscan command will also display the volume groups, although its primary purpose is to scan all the disks for volume groups and rebuild the LVM cache file. For information on the vgscan command, see Sección 4.3.5, “Cómo explorar discos en búsqueda de grupos de volúmenes para construir el archivo de caché”.
vgs command provides volume group information in a configurable form, displaying one line per volume group. The vgs command provides a great deal of format control, and is useful for scripting. For information on using the vgs command to customize your output, see Sección 4.9, “Reporte personalizado para LVM”.
vgdisplay muestra las propiedades del grupo de volúmenes (como tamaño, extensiones, número de volúmenes físicos, etc) en una forma predeterminada. El siguiente ejemplo muestra la salida de un comando vgdisplay para el grupo de volúmenes new_vg. Si no especifica un grupo de volúmenes, todos los grupos de volúmenes existentes serán mostrados.
# vgdisplay new_vg
--- Volume group ---
VG Name new_vg
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 11
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 51.42 GB
PE Size 4.00 MB
Total PE 13164
Alloc PE / Size 13 / 52.00 MB
Free PE / Size 13151 / 51.37 GB
VG UUID jxQJ0a-ZKk0-OpMO-0118-nlwO-wwqd-fD5D32
4.3.5. Cómo explorar discos en búsqueda de grupos de volúmenes para construir el archivo de caché Copiar enlaceEnlace copiado en el portapapeles!
vgscan explora todos los dispositivos de disco soportados en el sistema en busca de volúmenes físicos LVM y grupos de volúmenes. Éste construye el archivo de caché LVM en /etc/lvm/.cache, el cual mantiene una lista de dispositivos LVM.
vgscan automáticamente al iniciar el sistema y en otros momentos durante la operación de LVM, tales como cuando se ejecuta el comando vgcreate o cuando LVM detecta una inconsistencia. Podría tener que ejecutar vgscan de forma manual cuando cambia la configuración del hardware, para que los nuevos dispositivos sean detectados por el sistema. Por ejemplo, cuando añada un disco al sistema en un SAN o realice una conexión en caliente de un nuevo disco que ha sido etiquetado como volumen físico.
lvm.conf file to restrict the scan to avoid specific devices. For information on using filters to control which devices are scanned, see Sección 4.6, “Cómo controlar la exploración de dispositivos LVM a través de filtros”.
vgscan.
# vgscan
Reading all physical volumes. This may take a while...
Found volume group "new_vg" using metadata type lvm2
Found volume group "officevg" using metadata type lvm2
4.3.6. Cómo remover un volumen físico de un grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
vgreduce command. The vgreduce command shrinks a volume group's capacity by removing one or more empty physical volumes. This frees those physical volumes to be used in different volume groups or to be removed from the system.
pvdisplay.
# pvdisplay /dev/hda1
-- Physical volume ---
PV Name /dev/hda1
VG Name myvg
PV Size 1.95 GB / NOT usable 4 MB [LVM: 122 KB]
PV# 1
PV Status available
Allocatable yes (but full)
Cur LV 1
PE Size (KByte) 4096
Total PE 499
Free PE 0
Allocated PE 499
PV UUID Sd44tK-9IRw-SrMC-MOkn-76iP-iftz-OVSen7
pvmove. A continuación, remueva el volumen físico con el comando vgreduce:
/dev/hda1 del grupo de volúmenes mi_grupo_vol.
# vgreduce my_volume_group /dev/hda1
4.3.7. Cómo cambiar los parámetros de un grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
vgchange command. Primarily, however, this command is used to deactivate and activate volume groups, as described in Sección 4.3.8, “Cómo activar y desactivar grupos de volúmenes”,
vg00 a 128.
vgchange -l 128 /dev/vg00
vgchange, vea las páginas man de vgchange(8).
4.3.8. Cómo activar y desactivar grupos de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
-a (--available) del comando vgchange.
mi_grupo_vol.
vgchange -a n my_volume_group
lvchange command, as described in Sección 4.4.4, “Cómo cambiar los parámetros de un grupo de volúmenes lógico”, For information on activating logical volumes on individual nodes in a cluster, see Sección 4.8, “Cómo activar volúmenes lógicos en nodos individuales en un cluster”.
4.3.9. Cómo remover grupos de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
vgremove.
# vgremove officevg
Volume group "officevg" successfully removed
4.3.10. Cómo separar un grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
vgsplit.
pvmove para forzar la separación.
smallvg del grupo de volúmenes original bigvg.
# vgsplit bigvg smallvg /dev/ram15
Volume group "smallvg" successfully split from "bigvg"
4.3.11. Cómo combinar grupos de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
vgmerge command. You can merge an inactive "source" volume with an active or an inactive "destination" volume if the physical extent sizes of the volume are equal and the physical and logical volume summaries of both volume groups fit into the destination volume groups limits.
my_vg en el grupo de volumen activo o inactivo databases dando información de ejecución verbosa.
vgmerge -v databases my_vg
4.3.12. Cómo crear copias de seguridad de los metadatos del grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
lvm.conf. Por defecto, las copias de seguridad de los metadatos se almacenan en /etc/lvm/backup y los archivos de los metadatos se almacenan en /etc/lvm/archives. Puede crear copias de seguridad de los metadatos de forma manual al archivo /etc/lvm/backup con el comando vgcfgbackup.
vgcfrestore restaura los metadatos de un grupo de volúmenes desde el archivo a todos los volúmenes físicos en el grupo de volúmenes.
vgcfgrestore command to recover physical volume metadata, see Sección 6.4, “Cómo recuperar los metadatos de un volumen físico”.
4.3.13. Cómo cambiar el nombrar de un grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
vgrename para renombrar un grupo de volúmenes existente.
vg02 a my_volume_group
vgrename /dev/vg02 /dev/my_volume_group
vgrename vg02 my_volume_group
4.3.14. Cómo mover un grupo de volúmenes a otro sistema Copiar enlaceEnlace copiado en el portapapeles!
vgexport y vgimport para ejecutar esta tarea.
vgexport desactiva un grupo de volúmenes haciéndolo inaccesible al sistema. Ésto permite la separación del volumen físico. El comando vgimport hace que la máquina tenga acceso al grupo de volúmenes que fue desactivado previamente con el comando vgexport.
- Asegúrese de que ningún usuario esté accediendo a los archivos en los volúmenes activos del grupo de volúmenes, luego desmonte los volúmenes lógicos.
- Utilice la opción
-a ndel comandovgchangepara marcar el grupo de volúmenes como inactivo. Ésto previene cualquier actividad en el grupo de volúmenes. - Utilice el comando
vgexportpara exportar el grupo de volúmenes. Esto previene que éste sea accedido por el sistema desde el cual lo está quitando.Después de exportar el grupo de volúmenes, el volumen físico se verá como parte de un grupo de volúmenes a exportar cuando se ejecute el comandopvscan, tal y como se muestra en el siguiente ejemplo.[root@tng3-1]# pvscan PV /dev/sda1 is in exported VG myvg [17.15 GB / 7.15 GB free] PV /dev/sdc1 is in exported VG myvg [17.15 GB / 15.15 GB free] PV /dev/sdd1 is in exported VG myvg [17.15 GB / 15.15 GB free] ...Cuando el sistema sea apagado, puede desconectar los discos que forman el grupo de volúmenes y conectarlos en el nuevo sistema. - Cuando los discos sean conectados en el nuevo sistema, utilice el comando
vgimportpara importar el grupo de volúmenes y que el sistema pueda tener acceso a éste. - Active el grupo de volúmenes con la opción
-a ydel comandovgchange. - Monte el sistema de archivos para que éste pueda ser usado.
4.3.15. Cómo recrear un directorio de grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
vgmknodes. Este comando revisa los archivos especiales de LVM2 en el directorio /dev que son necesarios para el volumen lógico activo. Crea cualquier archivo especial que se necesite y remueve aquellos que no se utilizan.
vgmknodes en el comando vgscan con la opción --mknodes del comando.
4.4. Administración del volumen lógico Copiar enlaceEnlace copiado en el portapapeles!
4.4.1. Cómo crear volúmenes lógicos Copiar enlaceEnlace copiado en el portapapeles!
lvcreate. Puede crear volúmenes lineales, volúmenes entrelazados y volúmenes en espejo, tal y como se describe en las siguientes subdivisiones.
lvol# en donde # es el número interno del volumen lógico.
4.4.1.1. Cómo crear volúmenes lineales Copiar enlaceEnlace copiado en el portapapeles!
vg1.
lvcreate -L 10G vg1
testlv en el grupo de volúmenes testvg, creando el dispositivo de bloque /dev/testvg/testlv.
lvcreate -L1500 -n testlv testvg
gfslv con las extensiones libres en el grupo de volumen vg0.
lvcreate -L 50G -n gfslv vg0
-l del comando lvcreate para especificar el tamaño del volumen lógico en extensiones. Esta opción también puede ser usada para especificar el porcentaje del grupo de volúmenes que se usará en el volumen lógico. El siguiente comando crea un volumen lógico llamado mylv que utiliza el 60% del espacio total en el grupo de volúmenes testvol
lvcreate -l 60%VG -n mylv testvg
-l de lvcreate para especificar el porcentaje del espacio libre restante en un grupo de volúmenes como el tamaño del volumen lógico. El siguiente comando crea un volumen lógico llamado yourlv que utiliza todo el espacio sin asignar en el grupo de volúmenes testvol.
lvcreate -l 100%FREE -n yourlv testvg
-l argument of the lvcreate command to create a logical volume that uses the entire volume group. Another way to create a logical volume that uses the entire volume group is to use the vgdisplay command to find the "Total PE" size and to use those results as input to the the lvcreate command.
mylv para llenar el grupo de volúmenes llamado testvg.
# vgdisplay testvg | grep "Total PE"
Total PE 10230
# lvcreate -l 10230 testvg -n mylv
lvcreate. El siguiente comando crea un volumen lógico llamado testlv en el grupo de volúmenes testvg asignado desde el volumen físico /dev/sdg1,
lvcreate -L 1500 -ntestlv testvg /dev/sdg1
/dev/sda1 que van desde 0 hasta 25 y las extensiones que van desde 50 hasta 125 del volumen físico /dev/sdb1 en el grupo de volúmenes testvg.
lvcreate -l 100 -n testlv testvg /dev/sda1:0-25 /dev/sdb1:50-125
/dev/sda1 y luego continúa desde la extensión 100.
lvcreate -l 100 -n testlv testvg /dev/sda1:0-25:100-
inherit, which applies the same policy as for the volume group. These policies can be changed using the lvchange command. For information on allocation policies, see Sección 4.3.1, “Cómo crear grupos de volúmenes”.
4.4.1.2. Cómo crear volúmenes entrelazados Copiar enlaceEnlace copiado en el portapapeles!
-i del comando lvcreate. Esto determina cuántos volúmenes físicos serán entrelazados por el volumen lógico. El número de enlaces no puede ser mayor al número de volúmenes físicos en el grupo de volúmenes (a menos de que se utilice la opción --alloc anywhere).
gfslv y está construido sobre el grupo vg0:
lvcreate -L 50G -i2 -I64 -n gfslv vg0
stripelv y está en el grupo de volúmenes testvg. El enlace utilizará los sectores 0-50 de /dev/sda1 y los sectores 50-100 de /dev/sdb1.
# lvcreate -l 100 -i2 -nstripelv testvg /dev/sda1:0-50 /dev/sdb1:50-100
Using default stripesize 64.00 KB
Logical volume "stripelv" created
4.4.1.3. Cómo crear volúmenes en espejo Copiar enlaceEnlace copiado en el portapapeles!
-m del comando lvcreate. Si se especifica -m1 se creará un espejo, creando dos copias del sistema de archivos: un volumen lógico lineal y una copia. De igual manera, si se especifica -m2 se crean dos espejos, con tres copias del sistema de archivos.
mirrorlv, y está construido sobre el grupo de volúmenes vg0:
lvcreate -L 50G -m1 -n gfslv vg0
-R para especificar el tamaño de la región en MB. LVM mantiene un registro pequeño para determinar cuáles regiones están sincronizadas con el espejo o espejos. Por defecto, este registro se almacena en el disco para mantener la persistencia a través de los reinicios. Puede especificar que este registro sea guardado en memoria con el argumento --corelog; eliminando así la necesidad de un dispositivo de registro adicional, pero requiere que el espejo sea sincronizado tras cada reinicio.
bigvg. El volumen lógico se llama ondiskmirvol y tiene un solo espejo. El volumen tiene 12MB en tamaño y mantiene el registro en memoria.
# lvcreate -L 12MB -m1 --corelog -n ondiskmirvol bigvg
Logical volume "ondiskmirvol" created
--alloc anywhere del comando vgcreate. Esto puede degradar el rendimiento, pero le permitirá crear un espejo incluso si tiene sólo dos dispositivos subyacentes.
vg0 consta solamente de dos dispositivos. El volumen en espejo creado por este comando es de 500 MB, se denomina mirrorlv, y se construye del grupo de volumen vg0.
lvcreate -L 500M -m1 -n mirrorlv -alloc anywhere vg0
nosync para indicar que una sincronización inicial desde el primer dispositivo no es requerida.
mirrorlv, y se construye del grupo de volúmenes vg0. El primer pilar del espejo está en el dispositivo /dev/sda1, el segundo está en /dev/sdb1 y el registro del espejo en /dev/sdc1.
lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1 /dev/sdb1 /dev/sdc1
mirrorlv y está construido del grupo de volúmenes vg0. El primer pilar del espejo comprende las extensiones desde 0 hasta 499 del dispositivo /dev/sda1, el segundo pilar del espejo abarca las extensiones desde 0 a 499 de /dev/sdb1 y el registro del espejo inicia en la extensión 0 de /dev/sdc1. Éstas son extensiones de 1MB. Si alguna de las extensiones especificadas ha sido asignadas éstas serán ignoradas.
lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1:0-499 /dev/sdb1:0-499 /dev/sdc1:0
Nota
4.4.1.4. Cómo cambiar la configuración del volumen en espejo Copiar enlaceEnlace copiado en el portapapeles!
lvconvert. También puede utilizar este comando para reconfigurar otros parámetros de un volumen lógico existente tal como corelog.
lvconvert command to restore the mirror. This procedure is provided in Sección 6.3, “Cómo recuperarse de una falla de un espejo LVM”.
vg00/lvol1 en un volumen lógico con espejo.
lvconvert -m1 vg00/lvol1
vg00/lvol1 en un volumen lógico lineal, quitando el pilar de espejo.
lvconvert -m0 vg00/lvol1
4.4.2. Números de dispositivos persistentes Copiar enlaceEnlace copiado en el portapapeles!
lvcreate y lvchange pasando las siguientes opciones:
--persistent y --major major --minor minor
fsid en el archivo a exportar para evitar establecer un número de dispositivo persistente dentro de LVM.
4.4.3. Cómo dimensionar volúmenes lógicos Copiar enlaceEnlace copiado en el portapapeles!
lvreduce. Si el volumen lógico contiene un sistema de archivos, reduzca el sistema de archivos primero (o utilice la interfaz gráfica de LVM) para que el volumen lógico sea tan grande como el sistema de archivos lo espera.
lvol1 en el grupo de volúmenes vg00 por tres extensiones lógicas.
lvreduce -l -3 vg00/lvol1
4.4.4. Cómo cambiar los parámetros de un grupo de volúmenes lógico Copiar enlaceEnlace copiado en el portapapeles!
lvchange. Para obtener una lista de los parámetros que pueden ser modificados, consulte la página de manual de lvchange(8).
lvchange command to activate and deactivate logical volumes. To activate and deactivate all the logical volumes in a volume group at the same time, use the vgchange command, as described in Sección 4.3.7, “Cómo cambiar los parámetros de un grupo de volúmenes”.
lvol1 en el grupo de volúmenes vg00 para que sea de solo lectura.
lvchange -pr vg00/lvol1
4.4.5. Cómo renombrar volúmenes lógicos Copiar enlaceEnlace copiado en el portapapeles!
lvrename.
lvold en el grupo de volúmenes vg02 a lvnew.
lvrename /dev/vg02/lvold /dev/vg02/lvnew
lvrename vg02 lvold lvnew
4.4.6. Cómo remover volúmenes lógicos Copiar enlaceEnlace copiado en el portapapeles!
lvremove. Desmonte el volumen lógico con el comando umount antes de removerlo. Además, en un entorno de cluster se debe desactivar el volumen lógico antes de removerlo.
/dev/testvg/testlv del grupo de volúmenes testvg. Note que en este caso el volumen lógico ha sido desactivado.
[root@tng3-1 lvm]# lvremove /dev/testvg/testlv
Do you really want to remove active logical volume "testlv"? [y/n]: y
Logical volume "testlv" successfully removed
lvchange -an. En este caso no verá el mensaje preguntando si desea remover el volumen lógico.
4.4.7. Cómo ver los volúmenes lógicos Copiar enlaceEnlace copiado en el portapapeles!
lvs, lvdisplay y lvscan.
lvs command provides logical volume information in a configurable form, displaying one line per logical volume. The lvs command provides a great deal of format control, and is useful for scripting. For information on using the lvs command to customize your output, see Sección 4.9, “Reporte personalizado para LVM”.
lvdisplay muestra las propiedades del volumen lógico (como tamaño, distribución y mapeo) en un formato fijo.
lvol2 en vg00. Si se han creado volúmenes lógicos de instantánea para este volumen lógico original, este comando muestra una lista de todos los volúmenes lógicos de instantáneas y sus estados (activo o inactivo).
lvdisplay -v /dev/vg00/lvol2
lvscan busca los volúmenes lógicos en el sistema y los lista, como en el siguiente ejemplo.
# lvscan
ACTIVE '/dev/vg0/gfslv' [1.46 GB] inherit
4.4.8. Cómo aumentar los volúmenes lógicos Copiar enlaceEnlace copiado en el portapapeles!
lvextend.
/dev/myvg/homevol a 12 GB.
# lvextend -L12G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
/dev/myvg/homevol.
# lvextend -L+1G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
lvcreate, puede utilizar la opción -l del comando lvextend para especificar el número de extensiones con las cuales incrementar el tamaño del volumen lógico. Puede asimismo utilizar el argumento para especificar un porcentaje del grupo de volúmenes o un porcentaje del espacio libre del grupo de volúmenes. El siguiente comando extiende el volumen lógico testlv para llenar todo el espacio sin asignar del grupo de volúmenes myvg.
[root@tng3-1 ~]# lvextend -l +100%FREE /dev/myvg/testlv
Extending logical volume testlv to 68.59 GB
Logical volume testlv successfully resized
4.4.9. Cómo extender un volumen entrelazado Copiar enlaceEnlace copiado en el portapapeles!
vg conformado de dos volúmenes físicos como se muestra con el siguiente comando vgs.
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 0 0 wz--n- 271.31G 271.31G
# lvcreate -n stripe1 -L 271.31G -i 2 vg
Using default stripesize 64.00 KB
Rounding up size to full physical extent 271.31 GB
Logical volume "stripe1" created
# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
stripe1 vg -wi-a- 271.31G /dev/sda1(0),/dev/sdb1(0)
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 1 0 wz--n- 271.31G 0
# vgextend vg /dev/sdc1
Volume group "vg" successfully extended
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 3 1 0 wz--n- 406.97G 135.66G
# lvextend vg/stripe1 -L 406G
Using stripesize of last segment 64.00 KB
Extending logical volume stripe1 to 406.00 GB
Insufficient suitable allocatable extents for logical volume stripe1: 34480
more required
# vgextend vg /dev/sdd1
Volume group "vg" successfully extended
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 4 1 0 wz--n- 542.62G 271.31G
# lvextend vg/stripe1 -L 542G
Using stripesize of last segment 64.00 KB
Extending logical volume stripe1 to 542.00 GB
Logical volume stripe1 successfully resized
lvextend inicial falla.
# lvextend vg/stripe1 -L 406G
Using stripesize of last segment 64.00 KB
Extending logical volume stripe1 to 406.00 GB
Insufficient suitable allocatable extents for logical volume stripe1: 34480
more required
# lvextend -i1 -l+100%FREE vg/stripe1
4.4.10. Cómo reducir volúmenes lógicos Copiar enlaceEnlace copiado en el portapapeles!
lvreduce para reducir el volumen. Después de reducir el volumen, monte de nuevo el sistema de archivos.
Aviso
lvol1 en el grupo de volúmenes vg00 a tres extensiones lógicas.
lvreduce -l -3 vg00/lvol1
4.5. Cómo crear volúmenes de instantáneas Copiar enlaceEnlace copiado en el portapapeles!
-s del comando lvcreate para crear un volumen de instantánea. Un volumen de instantánea tiene permisos de escritura.
Nota
/dev/vg00/snap. Esto crea una instantánea del volumen lógico original /dev/vg00/lvol1. Si el volumen lógico original contiene un sistema de archivos, puede montar el volumen lógico de la instantánea en un directorio cualquiera para poder tener acceso al sistema de archivos y crear una copia de seguridad mientras el sistema de archivos continúa siendo actualizado.
lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1
lvdisplay para ver la salida que incluye una lista de todos los volúmenes lógicos de instantáneas y sus estados (activo o inactivo).
/dev/new_vg/lvol0, para el cual el volumen de instantánea /dev/new_vg/newvgsnap ha sido creado.
# lvdisplay /dev/new_vg/lvol0
--- Logical volume ---
LV Name /dev/new_vg/lvol0
VG Name new_vg
LV UUID LBy1Tz-sr23-OjsI-LT03-nHLC-y8XW-EhCl78
LV Write Access read/write
LV snapshot status source of
/dev/new_vg/newvgsnap1 [active]
LV Status available
# open 0
LV Size 52.00 MB
Current LE 13
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:2
lvs, por defecto, muestra el volumen original y el porcentaje actual del volumen de instantánea que está siendo usado para cada volumen de instantánea. El siguiente ejemplo muestra la salida predeterminada para el comando lvs para un sistema que incluye el volumen lógico /dev/new_vg/lvol0, por el cual un volumen de instantánea /dev/new_vg/newvgsnap ha sido creado.
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
lvol0 new_vg owi-a- 52.00M
newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
Nota
lvs para asegurarse de que no esté llena. Una instantánea 100% llena se pierde completamente, debido a que la escritura a partes sin cambios del origen no podrá ocurrir sin dañar la instantánea.
4.6. Cómo controlar la exploración de dispositivos LVM a través de filtros Copiar enlaceEnlace copiado en el portapapeles!
vgscan se ejecuta para explorar el dispositivo de bloque en el sistema en busca de etiquetas LVM para determinar cuales de estas son volúmenes físicos y para leer los metadatos y construir una lista de grupos de volúmenes. El nombre de los volúmenes físicos son almacenados en el archivo de caché de cada nodo en el sistema, /etc/lvm/.cache. Otros comandos podrán leer este archivo para evitar explorar el sistema nuevamente.
lvm.conf. Los filtros consisten en una serie de expresiones regulares simples que se aplican a los nombres de dispositivos en el directorio /dev para decidir cuales dispositivos de bloque encontrados deben ser aceptados o rechazados.
a/loop/ es equivalente a a/.*loop.*/ y coincidirá con /dev/solooperation/lvol1.
filter = [ "a/.*/" ]
filter = [ "r|/dev/cdrom|" ]
filter = [ "a/loop.*/", "r/.*/" ]
filter =[ "a|loop.*|", "a|/dev/hd.*|", "r|.*|" ]
filter = [ "a|^/dev/hda8$|", "r/.*/" ]
lvm.conf file, see Apéndice B, Archivos de configuración LVM and the lvm.conf(5) man page.
4.7. Asignación de datos en línea Copiar enlaceEnlace copiado en el portapapeles!
pvmove
pvmove divide los datos a mover en secciones y crea espejos temporales para mover cada sección. Para obtener mayor información sobre la operación del comando pvmove, consulte la página del manual de pvmove(8).
pvmove command uses mirroring, it is not cluster-aware and needs exclusive access to a volume. For information on activating logical volumes on individual nodes in a cluster, see Sección 4.8, “Cómo activar volúmenes lógicos en nodos individuales en un cluster”.
/dev/sdc1 a otros volúmenes físicos en el grupo de volúmenes:
pvmove /dev/sdc1
MyLV.
pvmove -n MyLV /dev/sdc1
pvmove puede tardar mucho en ejecutarse, puede ejecutar el comando en el trasfondo para evitar mostrar el progreso en el primer plano. El siguiente comando traslada todas las extensiones asignadas al volumen físico /dev/sdc1 a /dev/sdf1 en el trasfondo.
pvmove -b /dev/sdc1 /dev/sdf1
pvmove -i5 /dev/sdd1
4.8. Cómo activar volúmenes lógicos en nodos individuales en un cluster Copiar enlaceEnlace copiado en el portapapeles!
pvmove no reconoce los clusters y necesita acceso exclusivo al volumen. Las instantáneas de LVM también requieren acceso al volumen.
lvchange -aey. Alternativamente, puede utilizar el comando lvchange -aly para activar el volumen lógico únicamente en el nodo local pero no exclusivamente. Posteriormente puede activarlos en nodos adicionales de forma concurrente.
4.9. Reporte personalizado para LVM Copiar enlaceEnlace copiado en el portapapeles!
pvs, lvs y vgs. El reporte que estos comandos generan incluye una línea de salida por cada objeto. Cada línea contiene una lista ordenada de campos de propiedades relacionadas con el objeto. Hay cinco formas de seleccionar los objetos que serán reportados: por volumen físico, por grupos de volúmenes, por segmentos de volúmenes físicos y segmentos de volúmenes lógicos.
- Un resumen de opciones de comando para controlar el formato del reporte generado.
- Una lista de los campos que puede seleccionar en cada objeto LVM.
- Un resumen de las opciones del comando usados para ordenar el reporte generado.
- Instrucciones para especificar las unidades de la salida del reporte.
4.9.1. Control del formato Copiar enlaceEnlace copiado en el portapapeles!
pvs, lvs o vgs usado determina el conjunto de campos predeterminados a mostrar y el orden en que éstos serán mostrados. Puede controlar la salida de estos comando con las siguientes opciones:
- Puede hacer que el campo muestre algo diferente al valor predeterminado con la opción
-o. Por ejemplo, el siguiente mensaje de salida utiliza los valores predeterminados depvs(el cual muestra información sobre los volúmenes físicos).# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G /dev/sdd1 new_vg lvm2 a- 17.14G 17.14GEl siguiente comando muestra sólo el nombre y el tamaño del volumen físico.# pvs -o pv_name,pv_size PV PSize /dev/sdb1 17.14G /dev/sdc1 17.14G /dev/sdd1 17.14G - Puede añadir un campo al mensaje de salida con el signo de adición (+), el cual es usado en combinación con la opción -o.El siguiente ejemplo muestra el UUID del volumen físico además de los campos predeterminados.
# pvs -o +pv_uuid PV VG Fmt Attr PSize PFree PV UUID /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G Joqlch-yWSj-kuEn-IdwM-01S9-X08M-mcpsVe /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-UqkCS - La opción
-vincluye algún campo adicional. Por ejemplo, el comandopvs -vmostrará los camposDevSizeyPV UUIDademás de los campos predeterminados.# pvs -v Scanning for physical volume names PV VG Fmt Attr PSize PFree DevSize PV UUID /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G 17.14G Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-tUqkCS - La opción
--noheadingssuprime el encabezado. Esta opción puede ser útil en scripts.El siguiente ejemplo utiliza la opción--noheadingsen combinación conpv_name, el cual genera una lista de todos los volúmenes físicos.# pvs --noheadings -o pv_name /dev/sdb1 /dev/sdc1 /dev/sdd1 - La opción
--separator separadorutiliza separador para separar cada campo. Esto puede ser útil en un script si está ejecutando un comandogrepsobre la salida.El siguiente ejemplo separa los campos de salida predeterminada del comandopvscon el signo de igualdad (=).# pvs --separator = PV=VG=Fmt=Attr=PSize=PFree /dev/sdb1=new_vg=lvm2=a-=17.14G=17.14G /dev/sdc1=new_vg=lvm2=a-=17.14G=17.09G /dev/sdd1=new_vg=lvm2=a-=17.14G=17.14GPara mantener los campos alineados cuando se utiliza la opciónseparatorutilice la opciónseparatorjunto con la opción--aligned.# pvs --separator = --aligned PV =VG =Fmt =Attr=PSize =PFree /dev/sdb1 =new_vg=lvm2=a- =17.14G=17.14G /dev/sdc1 =new_vg=lvm2=a- =17.14G=17.09G /dev/sdd1 =new_vg=lvm2=a- =17.14G=17.14G
-P argument of the lvs or vgs command to display information about a failed volume that would otherwise not appear in the output. For information on the output this argument yields, see Sección 6.2, “Cómo ver la información en dispositivos fallidos”.
pvs(8), vgs(8) y lvs(8).
# vgs -o +pv_name
VG #PV #LV #SN Attr VSize VFree PV
new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdc1
new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdd1
new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdb1
4.9.2. Selección de objetos Copiar enlaceEnlace copiado en el portapapeles!
pvs, vgs y lvs.
pvs, name significa pv_name, pero con el comando vgs, name se interpreta como vg_name.
pvs -o pv_free.
# pvs -o free
PFree
17.14G
17.09G
17.14G
El comando pvs Copiar enlaceEnlace copiado en el portapapeles!
pvs command, along with the field name as it appears in the header display and a description of the field.
| Opción | Encabezado | Descripción |
|---|---|---|
dev_size | DevSize | El tamaño del dispositivo subyacente en el cual el volumen físico fue creado |
pe_start | 1st PE | Balance al inicio de la primera extensión física en el dispositivo subyacente |
pv_attr | Attr | Estado del volumen físico: asignable (a), exportado (x). |
pv_fmt | Fmt | El formato de metadatos del volumen físico (lvm2 o lvm1) |
pv_free | PFree | El espacio libre restante en el volumen físico |
pv_name | PV | El nombre del volumen físico |
pv_pe_alloc_count | Alloc | Número de extensiones físicas usadas |
pv_pe_count | PE | Número de extensiones físicas |
pvseg_size | SSize | El tamaño de segmento del volumen físico |
pvseg_start | Start | La extensión física de inicio del segmento del volumen físico |
pv_size | PSize | El tamaño del volumen físico |
pv_tags | PV Tags | Etiquetas LVM añadidas al volumen físico |
pv_used | Used | La cantidad de espacio actualmente usada en el volumen físico |
pv_uuid | PV UUID | El UUID del volumen físico |
pvs muestra los siguientes campos por defecto: pv_name, vg_name, pv_fmt, pv_attr, pv_size, pv_free. La salida es ordenada según el campo pv_name.
# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G
/dev/sdd1 new_vg lvm2 a- 17.14G 17.13G
-v del comando pvs para añadir los siguientes campos a la salida predeterminada: dev_size, pv_uuid.
# pvs -v
Scanning for physical volume names
PV VG Fmt Attr PSize PFree DevSize PV UUID
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G 17.14G Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
/dev/sdd1 new_vg lvm2 a- 17.14G 17.13G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-tUqkCS
--segments del comando pvs para mostrar información sobre cada segmento de volumen físico. Un segmento es un grupo de extensiones. Un panorama de un segmento puede ser útil si desea ver si el volumen lógico está fragmentado
pvs --segments muestra los siguientes campos de forma predeterminada: pv_name, vg_name, pv_fmt, pv_attr, pv_size, pv_free, pvseg_start, pvseg_size. La salida está ordenada de acuerdo con el campo pv_name y pvseg_size dentro del volumen físico.
# pvs --segments
PV VG Fmt Attr PSize PFree Start SSize
/dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 0 1172
/dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 1172 16
/dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 1188 1
/dev/sda1 vg lvm2 a- 17.14G 16.75G 0 26
/dev/sda1 vg lvm2 a- 17.14G 16.75G 26 24
/dev/sda1 vg lvm2 a- 17.14G 16.75G 50 26
/dev/sda1 vg lvm2 a- 17.14G 16.75G 76 24
/dev/sda1 vg lvm2 a- 17.14G 16.75G 100 26
/dev/sda1 vg lvm2 a- 17.14G 16.75G 126 24
/dev/sda1 vg lvm2 a- 17.14G 16.75G 150 22
/dev/sda1 vg lvm2 a- 17.14G 16.75G 172 4217
/dev/sdb1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdc1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdd1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sde1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdf1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdg1 vg lvm2 a- 17.14G 17.14G 0 4389
pvs -a para ver los dispositivos detectados por LVM que no han sido inicializados como volúmenes físicos LVM.
# pvs -a
PV VG Fmt Attr PSize PFree
/dev/VolGroup00/LogVol01 -- 0 0
/dev/new_vg/lvol0 -- 0 0
/dev/ram -- 0 0
/dev/ram0 -- 0 0
/dev/ram2 -- 0 0
/dev/ram3 -- 0 0
/dev/ram4 -- 0 0
/dev/ram5 -- 0 0
/dev/ram6 -- 0 0
/dev/root -- 0 0
/dev/sda -- 0 0
/dev/sdb -- 0 0
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G
/dev/sdc -- 0 0
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G
/dev/sdd -- 0 0
/dev/sdd1 new_vg lvm2 a- 17.14G 17.14G
El comando vgs Copiar enlaceEnlace copiado en el portapapeles!
vgs command, along with the field name as it appears in the header display and a description of the field.
| Opción | Encabezado | Descripción |
|---|---|---|
lv_count | #LV | El número de volúmenes lógicos que el grupo de volúmenes contiene |
max_lv | MaxLV | El número máximo de volúmenes lógicos permitidos en el grupo de volúmenes (0 si no hay ningún límite) |
max_pv | MaxPV | El número máximo de volúmenes físicos permitidos en el grupo de volúmenes (0 si no hay ningún límite) |
pv_count | #PV | El número de volúmenes físicos que define el grupo de volúmenes |
snap_count | #SN | El número de instantáneas que el grupo de volúmenes contiene |
vg_attr | Attr | Estado del grupo de volúmenes: escribible (w), solo lectura (r), dimensionable (z), exportado (x), parcial (p) y en cluster (c). |
vg_extent_count | #Ext | El número de extensiones físicas en el grupo de volúmenes |
vg_extent_size | Ext | El tamaño de extensiones físicas en el grupo de volúmenes |
vg_fmt | Fmt | El formato de metadatos del grupo de volúmenes (lvm2 o lvm1) |
vg_free | VFree | Tamaño de espacio libre restante en el grupo de volúmenes |
vg_free_count | Free | Número de extensiones físicas libres en el grupo de volúmenes |
vg_name | VG | El nombre del grupo de volúmenes |
vg_seqno | Seq | Número que representa la revisión del grupo de volúmenes |
vg_size | VSize | El tamaño del grupo de volúmenes |
vg_sysid | SYS ID | ID del sistema de LVM1 |
vg_tags | VG Tags | Etiquetas LVM añadidas al grupo de volúmenes |
vg_uuid | VG UUID | El UUID del grupo de volúmenes |
vgs muestra los siguientes campos de forma predeterminada: vg_name, pv_count, lv_count, snap_count, vg_attr, vg_size, vg_free. La salida se ordena de acuerdo con el campo vg_name.
# vgs
VG #PV #LV #SN Attr VSize VFree
new_vg 3 1 1 wz--n- 51.42G 51.36G
-v del comando vgs para añadir los siguientes campos a la salida predeterminada: vg_extent_size, vg_uuid.
# vgs -v
Finding all volume groups
Finding volume group "new_vg"
VG Attr Ext #PV #LV #SN VSize VFree VG UUID
new_vg wz--n- 4.00M 3 1 1 51.42G 51.36G jxQJ0a-ZKk0-OpMO-0118-nlwO-wwqd-fD5D32
El comando lvs Copiar enlaceEnlace copiado en el portapapeles!
lvs command, along with the field name as it appears in the header display and a description of the field.
| Opción | Encabezado | Descripción | ||||||
|---|---|---|---|---|---|---|---|---|
| Chunk | Tamaño de unidad en el volumen de instantánea | ||||||
copy_percent | Copy% | El porcentaje de sincronización de un volumen lógico de espejo; también usado cuando las extensiones físicas son desplazadas con el comando pv_move | ||||||
devices | Devices | El dispositivo subyacente que conforma el volumen lógico: los volúmenes físicos, los volúmenes lógicos y las extensiones lógicas y extensiones físicas de inicio. | ||||||
lv_attr | Attr | El estado del volumen lógico. Los bits de atributos del volumen lógico son:
| ||||||
lv_kernel_major | KMaj | Número mayor del dispositivo del volumen lógico (-1 si está inactivo) | ||||||
lv_kernel_minor | KMIN | Número menor del dispositivo del volumen lógico (-1 si está inactivo) | ||||||
lv_major | Maj | El número de dispositivo mayor persistente del volumen lógico (-1 si no está especificado) | ||||||
lv_minor | Min | El número de dispositivo menor persistente del volumen lógico (-1 si no está especificado) | ||||||
lv_name | LV | El nombre del volumen lógico | ||||||
lv_size | LSize | El tamaño del volumen lógico | ||||||
lv_tags | LV Tags | Etiquetas LVM añadidas en el volumen lógico | ||||||
lv_uuid | LV UUID | El UUID del volumen lógico. | ||||||
mirror_log | Log | Dispositivo donde reside el registro del espejo | ||||||
modules | Modules | Objetivos de mapa de dispositivos del kernel correspondiente necesarios para utilizar este volumen lógico | ||||||
move_pv | Move | Volumen físico fuente de un volumen lógico temporal creado con el comando pvmove | ||||||
origin | Origin | El dispositivo original de un volumen de instantánea | ||||||
| Region | El tamaño de la unidad de un volumen lógico con espejo | ||||||
seg_count | #Seg | El número de segmentos en el volumen lógico | ||||||
seg_size | SSize | El tamaño de los segmentos en el volumen lógico | ||||||
seg_start | Start | Balance del segmento en el volumen lógico | ||||||
seg_tags | Seg Tags | Etiquetas LVM añadidas a los segmentos del volumen lógico | ||||||
segtype | Type | El tipo de segmento de un volumen lógico (por ejemplo: espejo, entrelazado, lineal) | ||||||
snap_percent | Snap% | Porcentaje actual de un volumen de instantánea que está siendo usado | ||||||
stripes | #Str | Número de instantáneas o espejos en un volumen lógico | ||||||
| Stripe | Tamaño de unidades del enlace en un volumen lógico entrelazado |
lvs muestra los siguientes campos de forma predeterminada: lv_name, vg_name, lv_attr, lv_size, origin, snap_percent, move_pv, mirror_log, copy_percent. La salida es ordenada según los campos vg_name y lv_name dentro del grupo de volúmenes.
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
lvol0 new_vg owi-a- 52.00M
newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
-v con el comando lvs se agregan los siguientes campos a la pantalla predeterminada: seg_count, lv_major, lv_minor, lv_kernel_major, lv_kernel_minor, lv_uuid.
# lvs -v
Finding all logical volumes
LV VG #Seg Attr LSize Maj Min KMaj KMin Origin Snap% Move Copy% Log LV UUID
lvol0 new_vg 1 owi-a- 52.00M -1 -1 253 3 LBy1Tz-sr23-OjsI-LT03-nHLC-y8XW-EhCl78
newvgsnap1 new_vg 1 swi-a- 8.00M -1 -1 253 5 lvol0 0.20 1ye1OU-1cIu-o79k-20h2-ZGF0-qCJm-CfbsIx
--segments del comando lvs para mostrar las columnas predeterminadas que enfatizan la información del segmento. Al utilizar la opción segments, el prefijo seg es opcional. El comando lvs --segments muestra los siguientes campos de forma predeterminada: lv_name, vg_name, lv_attr, stripes, segtype, seg_size. La salida predeterminada se ordena según el campo vg_name, lv_name dentro del grupo de volúmenes y seg_start dentro del volumen lógico. Si el volumen lógico está fragmentado, la salida del comando lo mostrará.
# lvs --segments
LV VG Attr #Str Type SSize
LogVol00 VolGroup00 -wi-ao 1 linear 36.62G
LogVol01 VolGroup00 -wi-ao 1 linear 512.00M
lv vg -wi-a- 1 linear 104.00M
lv vg -wi-a- 1 linear 104.00M
lv vg -wi-a- 1 linear 104.00M
lv vg -wi-a- 1 linear 88.00M
-v con el comando lvs --segments se añaden los siguientes campos a la salida predeterminada: seg_start, stripesize, chunksize.
# lvs -v --segments
Finding all logical volumes
LV VG Attr Start SSize #Str Type Stripe Chunk
lvol0 new_vg owi-a- 0 52.00M 1 linear 0 0
newvgsnap1 new_vg swi-a- 0 8.00M 1 linear 0 8.00K
lvs en un sistema con un volumen lógico configurado, seguido de la salida predeterminada del comando lvs con la opción segments especificada.
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
lvol0 new_vg -wi-a- 52.00M
# lvs --segments
LV VG Attr #Str Type SSize
lvol0 new_vg -wi-a- 1 linear 52.00M
4.9.3. Cómo ordenar los reportes de LVM Copiar enlaceEnlace copiado en el portapapeles!
lvs, vgs o pvs tiene que ser generada y almacenada internamente antes de que pueda ser ordenada en columnas de forma correcta. Puede especificar el argumento --unbuffered para mostrar la salida sin ordenar tal y como es generada.
-O de cualquiera de los comandos de reporte. No es necesario incluir estos campos dentro de la salida misma.
pvs con el nombre, el tamaño y el espacio libre del volumen físico.
# pvs -o pv_name,pv_size,pv_free
PV PSize PFree
/dev/sdb1 17.14G 17.14G
/dev/sdc1 17.14G 17.09G
/dev/sdd1 17.14G 17.14G
# pvs -o pv_name,pv_size,pv_free -O pv_free
PV PSize PFree
/dev/sdc1 17.14G 17.09G
/dev/sdd1 17.14G 17.14G
/dev/sdb1 17.14G 17.14G
# pvs -o pv_name,pv_size -O pv_free
PV PSize
/dev/sdc1 17.14G
/dev/sdd1 17.14G
/dev/sdb1 17.14G
-O y preceda el campo especificado con el carácter -.
# pvs -o pv_name,pv_size,pv_free -O -pv_free
PV PSize PFree
/dev/sdd1 17.14G 17.14G
/dev/sdb1 17.14G 17.14G
/dev/sdc1 17.14G 17.09G
4.9.4. Cómo especificar unidades Copiar enlaceEnlace copiado en el portapapeles!
--units del comando de reporte. Puede especificar (b)ytes, (k)ilobytes, (m)egabytes, (g)igabytes, (t)erabytes, (e)xabytes, (p)etabytes y fácil lectura (h). Este último es el valor predeterminado. Puede modificar el valor predeterminado si establece la opción units en la sección global del archivo lvm.conf.
pvs sea en megabytes y no en gigabytes.
# pvs --units m
PV VG Fmt Attr PSize PFree
/dev/sda1 lvm2 -- 17555.40M 17555.40M
/dev/sdb1 new_vg lvm2 a- 17552.00M 17552.00M
/dev/sdc1 new_vg lvm2 a- 17552.00M 17500.00M
/dev/sdd1 new_vg lvm2 a- 17552.00M 17552.00M
# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G
/dev/sdd1 new_vg lvm2 a- 17.14G 17.14G
# pvs --units G
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 18.40G 18.40G
/dev/sdc1 new_vg lvm2 a- 18.40G 18.35G
/dev/sdd1 new_vg lvm2 a- 18.40G 18.40G
pvs como un número de sectores.
# pvs --units s
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 35946496S 35946496S
/dev/sdc1 new_vg lvm2 a- 35946496S 35840000S
/dev/sdd1 new_vg lvm2 a- 35946496S 35946496S
pvs en unidades de 4 megabytes.
# pvs --units 4m
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 4388.00U 4388.00U
/dev/sdc1 new_vg lvm2 a- 4388.00U 4375.00U
/dev/sdd1 new_vg lvm2 a- 4388.00U 4388.00U
Capítulo 5. Ejemplos de configuración de LVM Copiar enlaceEnlace copiado en el portapapeles!
5.1. Cómo crear un volumen lógico LVM en tres discos Copiar enlaceEnlace copiado en el portapapeles!
nuevo_volumen_lógico que consta de los discos en /dev/sda1, /dev/sdb1 y /dev/sdc1
5.1.1. Cómo crear los volúmenes físicos Copiar enlaceEnlace copiado en el portapapeles!
Aviso
/dev/sda1, /dev/sdb1 y /dev/sdc1.
[root@tng3-1 ~]# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdc1" successfully created
5.1.2. Cómo crear el grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
nuevo_grupo_vol.
[root@tng3-1 ~]# vgcreate new_vol_group /dev/sda1 /dev/sdb1 /dev/sdc1
Volume group "new_vol_group" successfully created
vgs para mostrar los atributos del nuevo grupo de volúmenes.
[root@tng3-1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
new_vol_group 3 0 0 wz--n- 51.45G 51.45G
5.1.3. Cómo crear el volumen lógico Copiar enlaceEnlace copiado en el portapapeles!
nuevo_volumen_logico desde el grupo de volúmenes nuevo_grupo_vol. Este ejemplo crea un volumen lógico que utiliza 2GB del grupo de volúmenes.
[root@tng3-1 ~]# lvcreate -L2G -n new_logical_volume new_vol_group
Logical volume "new_logical_volume" created
5.1.4. Cómo crear un sistema de archivos Copiar enlaceEnlace copiado en el portapapeles!
[root@tng3-1 ~]# gfs_mkfs -plock_nolock -j 1 /dev/new_vol_group/new_logical_volume
This will destroy any data on /dev/new_vol_group/new_logical_volume.
Are you sure you want to proceed? [y/n] y
Device: /dev/new_vol_group/new_logical_volume
Blocksize: 4096
Filesystem Size: 491460
Journals: 1
Resource Groups: 8
Locking Protocol: lock_nolock
Lock Table:
Syncing...
All Done
[root@tng3-1 ~]# mount /dev/new_vol_group/new_logical_volume /mnt
[root@tng3-1 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/new_vol_group/new_logical_volume
1965840 20 1965820 1% /mnt
5.2. Cómo crear un volumen lógico entrelazado Copiar enlaceEnlace copiado en el portapapeles!
volumen_logico_entrelazado que entrelaza datos a través de los discos /dev/sda1, /dev/sdb1 y /dev/sdc1.
5.2.1. Cómo crear los volúmenes físicos Copiar enlaceEnlace copiado en el portapapeles!
Aviso
/dev/sda1, /dev/sdb1 y /dev/sdc1.
[root@tng3-1 ~]# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdc1" successfully created
5.2.2. Cómo crear el grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
grupo_vol_entrelazado.
[root@tng3-1 ~]# vgcreate striped_vol_group /dev/sda1 /dev/sdb1 /dev/sdc1
Volume group "striped_vol_group" successfully created
vgs para mostrar los atributos del nuevo grupo de volúmenes.
[root@tng3-1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
striped_vol_group 3 0 0 wz--n- 51.45G 51.45G
5.2.3. Cómo crear el volumen lógico Copiar enlaceEnlace copiado en el portapapeles!
volumen_logico_entrelazado desde el grupo de volúmenes grupo_vol_entrelazado. Este ejemplo crea un volumen lógico de 2 GB en tamaño, con enlaces y un tamaño de enlace de 4 KB.
[root@tng3-1 ~]# lvcreate -i3 -I4 -L2G -nstriped_logical_volume striped_vol_group
Rounding size (512 extents) up to stripe boundary size (513 extents)
Logical volume "striped_logical_volume" created
5.2.4. Cómo crear un sistema de archivos Copiar enlaceEnlace copiado en el portapapeles!
[root@tng3-1 ~]# gfs_mkfs -plock_nolock -j 1 /dev/striped_vol_group/striped_logical_volume
This will destroy any data on /dev/striped_vol_group/striped_logical_volume.
Are you sure you want to proceed? [y/n] y
Device: /dev/striped_vol_group/striped_logical_volume
Blocksize: 4096
Filesystem Size: 492484
Journals: 1
Resource Groups: 8
Locking Protocol: lock_nolock
Lock Table:
Syncing...
All Done
[root@tng3-1 ~]# mount /dev/striped_vol_group/striped_logical_volume /mnt
[root@tng3-1 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
13902624 1656776 11528232 13% /
/dev/hda1 101086 10787 85080 12% /boot
tmpfs 127880 0 127880 0% /dev/shm
/dev/striped_vol_group/striped_logical_volume
1969936 20 1969916 1% /mnt
5.3. Separación de un grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
milv se crea desde el grupo de volúmenes mivol, el cual consta de tres volúmenes físicos /dev/sda1, /dev/sdb1 y /dev/sdc1.
mivg consistirá de /dev/sda1 y /dev/sdb1. Un segundo grupo de volúmenes, tuvg consistirá de /dev/sdc1.
5.3.1. Cómo determinar el espacio libre Copiar enlaceEnlace copiado en el portapapeles!
pvscan para determinar cuánto espacio libre está disponible en el grupo de volúmenes.
[root@tng3-1 ~]# pvscan
PV /dev/sda1 VG myvg lvm2 [17.15 GB / 0 free]
PV /dev/sdb1 VG myvg lvm2 [17.15 GB / 12.15 GB free]
PV /dev/sdc1 VG myvg lvm2 [17.15 GB / 15.80 GB free]
Total: 3 [51.45 GB] / in use: 3 [51.45 GB] / in no VG: 0 [0 ]
5.3.2. Cómo desplazar los datos Copiar enlaceEnlace copiado en el portapapeles!
/dev/sdc1 a /dev/sdb1 con pvmove. pvmove puede durar un tiempo prolongado.
[root@tng3-1 ~]# pvmove /dev/sdc1 /dev/sdb1
/dev/sdc1: Moved: 14.7%
/dev/sdc1: Moved: 30.3%
/dev/sdc1: Moved: 45.7%
/dev/sdc1: Moved: 61.0%
/dev/sdc1: Moved: 76.6%
/dev/sdc1: Moved: 92.2%
/dev/sdc1: Moved: 100.0%
/dev/sdc1 está vacío.
[root@tng3-1 ~]# pvscan
PV /dev/sda1 VG myvg lvm2 [17.15 GB / 0 free]
PV /dev/sdb1 VG myvg lvm2 [17.15 GB / 10.80 GB free]
PV /dev/sdc1 VG myvg lvm2 [17.15 GB / 17.15 GB free]
Total: 3 [51.45 GB] / in use: 3 [51.45 GB] / in no VG: 0 [0 ]
5.3.3. Cómo dividir en grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
tuvg, utilice el comando vgsplit para separar el grupo de volúmenes mivg.
lvchange o el comando vgchange. El siguiente comando desactiva el volumen lógico mivl y luego divide el grupo de volúmenes tuvg del grupo de volúmenes mivg, moviendo el volumen físico /dev/sdc1 al nuevo grupo de volúmenes tuvg.
[root@tng3-1 ~]# lvchange -a n /dev/myvg/mylv
[root@tng3-1 ~]# vgsplit myvg yourvg /dev/sdc1
Volume group "yourvg" successfully split from "myvg"
vgs para ver los atributos de los dos grupos de volúmenes.
[root@tng3-1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 2 1 0 wz--n- 34.30G 10.80G
yourvg 1 0 0 wz--n- 17.15G 17.15G
5.3.4. Cómo crear un nuevo volumen lógico Copiar enlaceEnlace copiado en el portapapeles!
tulv.
[root@tng3-1 ~]# lvcreate -L5G -n yourlv yourvg
Logical volume "yourlv" created
5.3.5. Cómo crear el sistema de archivos y cómo montar el nuevo volumen lógico Copiar enlaceEnlace copiado en el portapapeles!
[root@tng3-1 ~]# gfs_mkfs -plock_nolock -j 1 /dev/yourvg/yourlv
This will destroy any data on /dev/yourvg/yourlv.
Are you sure you want to proceed? [y/n] y
Device: /dev/yourvg/yourlv
Blocksize: 4096
Filesystem Size: 1277816
Journals: 1
Resource Groups: 20
Locking Protocol: lock_nolock
Lock Table:
Syncing...
All Done
[root@tng3-1 ~]# mount /dev/yourvg/yourlv /mnt
5.3.6. Cómo activar y montar el volumen lógico original Copiar enlaceEnlace copiado en el portapapeles!
milv tuvo que ser desactivado anteriormente, éste debe ser activado de nuevo antes de poder ser montado.
root@tng3-1 ~]# lvchange -a y mylv
[root@tng3-1 ~]# mount /dev/myvg/mylv /mnt
[root@tng3-1 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/yourvg/yourlv 24507776 32 24507744 1% /mnt
/dev/myvg/mylv 24507776 32 24507744 1% /mnt
5.4. Cómo remover un disco de un volumen lógico Copiar enlaceEnlace copiado en el portapapeles!
5.4.1. Cómo mover las extensiones a un volumen físico existente Copiar enlaceEnlace copiado en el portapapeles!
mivg.
[root@tng3-1]# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdb1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G
/dev/sdb1 para poder quitarlas del grupo de volúmenes.
pvmove sin ninguna opción en el dispositivo desde el cual desea realizar la remoción y las extensiones serán distribuidas a otros dispositivos.
[root@tng3-1 ~]# pvmove /dev/sdb1
/dev/sdb1: Moved: 2.0%
...
/dev/sdb1: Moved: 79.2%
...
/dev/sdb1: Moved: 100.0%
pvmove, la distribución de extensiones es la siguiente:
[root@tng3-1]# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G
/dev/sdb1 myvg lvm2 a- 17.15G 17.15G 0
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G
vgreduce para remover el volumen físico /dev/sdb1 del grupo de volúmenes.
[root@tng3-1 ~]# vgreduce myvg /dev/sdb1
Removed "/dev/sdb1" from volume group "myvg"
[root@tng3-1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda1 myvg lvm2 a- 17.15G 7.15G
/dev/sdb1 lvm2 -- 17.15G 17.15G
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G
5.4.2. Cómo mover extensiones a un nuevo disco Copiar enlaceEnlace copiado en el portapapeles!
mivg:
[root@tng3-1]# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G
/dev/sdb1 myvg lvm2 a- 17.15G 15.15G 2.00G
/dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G
/dev/sdb1 a un nuevo dispositivo: /dev/sdd1.
5.4.2.1. Cómo crear un nuevo volumen físico Copiar enlaceEnlace copiado en el portapapeles!
/dev/sdd1.
[root@tng3-1 ~]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created
5.4.2.2. Cómo añadir el nuevo volumen físico al grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
/dev/sdd1 al grupo de volúmenes existente mivg
[root@tng3-1 ~]# vgextend myvg /dev/sdd1
Volume group "myvg" successfully extended
[root@tng3-1]# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G
/dev/sdb1 myvg lvm2 a- 17.15G 15.15G 2.00G
/dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G
/dev/sdd1 myvg lvm2 a- 17.15G 17.15G 0
5.4.2.3. Cómo desplazar los datos Copiar enlaceEnlace copiado en el portapapeles!
pvmove para mover los datos de /dev/sdb1 a /dev/sdd1.
[root@tng3-1 ~]# pvmove /dev/sdb1 /dev/sdd1
/dev/sdb1: Moved: 10.0%
...
/dev/sdb1: Moved: 79.7%
...
/dev/sdb1: Moved: 100.0%
[root@tng3-1]# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G
/dev/sdb1 myvg lvm2 a- 17.15G 17.15G 0
/dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G
/dev/sdd1 myvg lvm2 a- 17.15G 15.15G 2.00G
5.4.2.4. Cómo remover el volumen físico antiguo del grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
/dev/sdb1, puede removerlo del grupo de volúmenes.
[root@tng3-1 ~]# vgreduce myvg /dev/sdb1
Removed "/dev/sdb1" from volume group "myvg"
Capítulo 6. Solución de errores en LVM Copiar enlaceEnlace copiado en el portapapeles!
6.1. Diagnósticos en la solución de errores Copiar enlaceEnlace copiado en el portapapeles!
- Utilice
-v,-vv,-vvvo-vvvven cualquier comando para incrementar la cantidad de mensajes de salida. - If the problem is related to the logical volume activation, set 'activation = 1' in the 'log' section of the configuration file and run the command with the
-vvvvargument. After you have finished examining this output be sure to reset this parameter to 0, to avoid possible problems with the machine locking during low memory situations. - Ejecute el comando
lvmdump, el cual proporciona un volcado de información para propósitos de diagnóstico. Para obtener mayor información, consulte la página de manual (8) delvmdump - Ejecute los comandos
lvs -v,pvs -aodmsetup info -cpara obtener información adicional del sistema. - Examine la última copia de seguridad de los metadatos en el archivo
/etc/lvm/backupy las versiones archivadas en el archivo/etc/lvm/archive. - Revise la información de configuración actual ejecutando el comando
lvm dumpconfig. - Revise el archivo
.cacheen el directorio/etc/lvmpara obtener un registro de cuáles dispositivos tienen volúmenes físicos en ellos.
6.2. Cómo ver la información en dispositivos fallidos Copiar enlaceEnlace copiado en el portapapeles!
-P del comando lvs o vgs para ver la información sobre un volumen fallido que de otra forma no aparecería en los mensajes de salida. Esta opción permite algunas operaciones aunque los metadatos no sean completamente consistentes internamente. Por ejemplo, si uno de los dispositivos que conforman el grupo de volúmenes vg falla, el comando vgs mostraría el siguiente mensaje de salida.
[root@link-07 tmp]# vgs -o +devices
Volume group "vg" not found
-P del comando vgs, el grupo de volúmenes no se puede usar pero puede ver más información sobre el dispositivo fallido.
[root@link-07 tmp]# vgs -P -o +devices
Partial mode. Incomplete volume groups will be activated read-only.
VG #PV #LV #SN Attr VSize VFree Devices
vg 9 2 0 rz-pn- 2.11T 2.07T unknown device(0)
vg 9 2 0 rz-pn- 2.11T 2.07T unknown device(5120),/dev/sda1(0)
lvs sin la opción -P muestra el siguiente mensaje de salida.
[root@link-07 tmp]# lvs -a -o +devices
Volume group "vg" not found
-P se muestra el volumen lógico que ha fallado.
[root@link-07 tmp]# lvs -P -a -o +devices
Partial mode. Incomplete volume groups will be activated read-only.
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
linear vg -wi-a- 20.00G unknown device(0)
stripe vg -wi-a- 20.00G unknown device(5120),/dev/sda1(0)
pvs y lvs con la opción -P cuando uno de los espejos de un volumen lógico ha fallado.
root@link-08 ~]# vgs -a -o +devices -P
Partial mode. Incomplete volume groups will be activated read-only.
VG #PV #LV #SN Attr VSize VFree Devices
corey 4 4 0 rz-pnc 1.58T 1.34T my_mirror_mimage_0(0),my_mirror_mimage_1(0)
corey 4 4 0 rz-pnc 1.58T 1.34T /dev/sdd1(0)
corey 4 4 0 rz-pnc 1.58T 1.34T unknown device(0)
corey 4 4 0 rz-pnc 1.58T 1.34T /dev/sdb1(0)
[root@link-08 ~]# lvs -a -o +devices -P
Partial mode. Incomplete volume groups will be activated read-only.
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
my_mirror corey mwi-a- 120.00G my_mirror_mlog 1.95 my_mirror_mimage_0(0),my_mirror_mimage_1(0)
[my_mirror_mimage_0] corey iwi-ao 120.00G unknown device(0)
[my_mirror_mimage_1] corey iwi-ao 120.00G /dev/sdb1(0)
[my_mirror_mlog] corey lwi-ao 4.00M /dev/sdd1(0)
6.3. Cómo recuperarse de una falla de un espejo LVM Copiar enlaceEnlace copiado en el portapapeles!
[root@link-08 ~]# pvcreate /dev/sd[abcdefgh][12]
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sda2" successfully created
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
Physical volume "/dev/sdc1" successfully created
Physical volume "/dev/sdc2" successfully created
Physical volume "/dev/sdd1" successfully created
Physical volume "/dev/sdd2" successfully created
Physical volume "/dev/sde1" successfully created
Physical volume "/dev/sde2" successfully created
Physical volume "/dev/sdf1" successfully created
Physical volume "/dev/sdf2" successfully created
Physical volume "/dev/sdg1" successfully created
Physical volume "/dev/sdg2" successfully created
Physical volume "/dev/sdh1" successfully created
Physical volume "/dev/sdh2" successfully created
vg y el volumen en espejo groupfs.
[root@link-08 ~]# vgcreate vg /dev/sd[abcdefgh][12]
Volume group "vg" successfully created
[root@link-08 ~]# lvcreate -L 750M -n groupfs -m 1 vg /dev/sda1 /dev/sdb1 /dev/sdc1
Rounding up size to full physical extent 752.00 MB
Logical volume "groupfs" created
lvs para verificar la distribución de un volumen en espejo y los dispositivos subyacentes para el espejo y el registro del espejo. Note que en el primer ejemplo el espejo no está completamente sincronizado; debe esperar hasta que el campo Copy% muestre 100.00 antes de continuar.
[root@link-08 ~]# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
groupfs vg mwi-a- 752.00M groupfs_mlog 21.28 groupfs_mimage_0(0),groupfs_mimage_1(0)
[groupfs_mimage_0] vg iwi-ao 752.00M /dev/sda1(0)
[groupfs_mimage_1] vg iwi-ao 752.00M /dev/sdb1(0)
[groupfs_mlog] vg lwi-ao 4.00M /dev/sdc1(0)
[root@link-08 ~]# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
groupfs vg mwi-a- 752.00M groupfs_mlog 100.00 groupfs_mimage_0(0),groupfs_mimage_1(0)
[groupfs_mimage_0] vg iwi-ao 752.00M /dev/sda1(0)
[groupfs_mimage_1] vg iwi-ao 752.00M /dev/sdb1(0)
[groupfs_mlog] vg lwi-ao 4.00M i /dev/sdc1(0)
/dev/sda1 falla. Cualquier actividad en el volumen en espejo causa que LVM detecte el fallo. Cuando esto ocurre, LVM convierte el espejo en un volumen lineal sencillo. En este caso, para activar la conversión, ejecute un comando dd.
[root@link-08 ~]# dd if=/dev/zero of=/dev/vg/groupfs count=10
10+0 records in
10+0 records out
lvs para verificar que el dispositivo es un dispositivo lineal. Debido a que el disco falla, se produce un error de E/S.
[root@link-08 ~]# lvs -a -o +devices
/dev/sda1: read failed after 0 of 2048 at 0: Input/output error
/dev/sda2: read failed after 0 of 2048 at 0: Input/output error
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
groupfs vg -wi-a- 752.00M /dev/sdb1(0)
pvcreate command.
[root@link-08 ~]# pvcreate /dev/sda[12]
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sda2" successfully created
[root@link-08 ~]# pvscan
PV /dev/sdb1 VG vg lvm2 [67.83 GB / 67.10 GB free]
PV /dev/sdb2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdc1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdc2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdd1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdd2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sde1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sde2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdf1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdf2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdg1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdg2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdh1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdh2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sda1 lvm2 [603.94 GB]
PV /dev/sda2 lvm2 [603.94 GB]
Total: 16 [2.11 TB] / in use: 14 [949.65 GB] / in no VG: 2 [1.18 TB]
[root@link-08 ~]# vgextend vg /dev/sda[12]
Volume group "vg" successfully extended
[root@link-08 ~]# pvscan
PV /dev/sdb1 VG vg lvm2 [67.83 GB / 67.10 GB free]
PV /dev/sdb2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdc1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdc2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdd1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdd2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sde1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sde2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdf1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdf2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdg1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdg2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdh1 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sdh2 VG vg lvm2 [67.83 GB / 67.83 GB free]
PV /dev/sda1 VG vg lvm2 [603.93 GB / 603.93 GB free]
PV /dev/sda2 VG vg lvm2 [603.93 GB / 603.93 GB free]
Total: 16 [2.11 TB] / in use: 16 [2.11 TB] / in no VG: 0 [0 ]
[root@link-08 ~]# lvconvert -m 1 /dev/vg/groupfs /dev/sda1 /dev/sdb1 /dev/sdc1
Logical volume mirror converted.
lvs para verificar que los espejos sean restaurados.
[root@link-08 ~]# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
groupfs vg mwi-a- 752.00M groupfs_mlog 68.62 groupfs_mimage_0(0),groupfs_mimage_1(0)
[groupfs_mimage_0] vg iwi-ao 752.00M /dev/sdb1(0)
[groupfs_mimage_1] vg iwi-ao 752.00M /dev/sda1(0)
[groupfs_mlog] vg lwi-ao 4.00M /dev/sdc1(0)
6.4. Cómo recuperar los metadatos de un volumen físico Copiar enlaceEnlace copiado en el portapapeles!
Aviso
[root@link-07 backup]# lvs -a -o +devices
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find all physical volumes for volume group VG.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find all physical volumes for volume group VG.
...
/etc/lvm/archive. Revise el archivo VolumeGroupName_xxxx.vg para ver el último archivo válido conocido de los metadatos LVM para ese grupo de volúmenes.
partial (-P) podrá encontrar el UUID del volumen físico corrupto.
[root@link-07 backup]# vgchange -an --partial
Partial mode. Incomplete volume groups will be activated read-only.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
...
--uuid y --restorefile del comando pvcreate para restaurar el volumen físico. El siguiente ejemplo etiqueta el dispositivo /dev/sdh1 como un volumen físico con el UUID indicado anteriormente, FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk. Este comando restaura la etiqueta del volumen físico con la información de los metadatos contenidos en VG_00050.vg, el archivo más reciente de metadatos para el grupo de volumen . La opción restorefile ordena al comando pvcreate para que el nuevo volumen físico sea compatible con el anterior en el grupo de volúmenes, asegurando que los nuevos metadatos no sean ubicados en donde el antiguo volumen físico contiene los datos (lo cual puede pasar, por ejemplo, si el comando original pvcreate ha utilizado las opciones de la línea de comandos que controlan la ubicación de los metadatos o si el volumen físico fue originalmente creado utilizando una diferente versión del software que utiliza diferentes valores predeterminados). El comando pvcreate sobrescribe sólo las áreas de metadatos LVM y no afecta las áreas de datos existentes.
[root@link-07 backup]# pvcreate --uuid "FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk" --restorefile /etc/lvm/archive/VG_00050.vg /dev/sdh1
Physical volume "/dev/sdh1" successfully created
vgcfgrestore command to restore the volume group's metadata.
[root@link-07 backup]# vgcfgrestore VG
Restored volume group VG
[root@link-07 backup]# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
stripe VG -wi--- 300.00G /dev/sdh1 (0),/dev/sda1(0)
stripe VG -wi--- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
[root@link-07 backup]# lvchange -ay /dev/VG/stripe
[root@link-07 backup]# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
stripe VG -wi-a- 300.00G /dev/sdh1 (0),/dev/sda1(0)
stripe VG -wi-a- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
fsck para recuperar los datos.
6.5. Cómo remplazar un volumen físico perdido Copiar enlaceEnlace copiado en el portapapeles!
--partial and --verbose arguments of the vgdisplay command to display the UUIDs and sizes of any physical volumes that are no longer present. If you wish to substitute another physical volume of the same size, you can use the pvcreate command with the --restorefile and --uuid arguments to initialize a new device with the same UUID as the missing physical volume. You can then use the vgcfgrestore command to restore the volume group's metadata.
6.6. Cómo remover los volúmenes físicos perdidos desde un grupo de volúmenes Copiar enlaceEnlace copiado en el portapapeles!
vgchange. Puede remover todos los volúmenes lógicos que utilizan el volumen físico desde el grupo de volúmenes con la opción --removemissing del comando vgreduce.
vgreduce con la opción --test para verificar lo que será destruido.
vgreduce es reversible si utiliza el comando vgcfgrestorede forma inmediata para restaurar los metadatos del grupo de volúmenes a su estado previo. Por ejemplo, si utiliza la opción --removemissing del comando vgreduce sin la opción --test y se da cuenta que ha removido volúmenes lógicos que desea conservar, puede remplazar el volumen físico y utilizar el comando vgcfgrestore para retornar el grupo de volúmenes a su estado previo.
6.7. Extensiones libres insuficientes para un volumen lógico Copiar enlaceEnlace copiado en el portapapeles!
vgdisplay or vgs commands. This is because these commands round figures to 2 decimal places to provide human-readable output. To specify exact size, use free physical extent count instead of some multiple of bytes to determine the size of the logical volume.
vgdisplay, por defecto, incluye esta línea en el mensaje de salida para indicar las extensiones físicas libres.
# vgdisplay
--- Volume group ---
...
Free PE / Size 8780 / 34.30 GB
vg_free_count y vg_extent_count del comando vgs para ver las extensiones libres y el número total de extensiones.
[root@tng3-1 ~]# vgs -o +vg_free_count,vg_extent_count
VG #PV #LV #SN Attr VSize VFree Free #Ext
testvg 2 0 0 wz--n- 34.30G 34.30G 8780 8780
# lvcreate -l8780 -n testlv testvg
# vgs -o +vg_free_count,vg_extent_count
VG #PV #LV #SN Attr VSize VFree Free #Ext
testvg 2 1 0 wz--n- 34.30G 0 0 8780
-l argument of the lvcreate command. For information, see Sección 4.4.1.1, “Cómo crear volúmenes lineales”.
Capítulo 7. Administración de LVM con la interfaz gráfica de LVM Copiar enlaceEnlace copiado en el portapapeles!
system-config-lvm. El capítulo de LVM del Manual de implementación de Red Hat Enterprise Linux proporciona instrucciones detalladas para configurar volúmenes lógicos LVM a través de esta utilidad.
Apéndice A. Mapeo de Dispositivos Copiar enlaceEnlace copiado en el portapapeles!
dmraid se usa el Mapeo de Dispositivos. La interfaz de aplicación para el Mapeo de Dispositivos es la llamada de sistema ioctl. La interfaz de usuario es el comando dmsetup.
dmsetup command. For information about the format of devices in a mapping table, see Sección A.1, “Tabla de Mapas de Dispositivo”. For information about using the dmsetup command to query a device, see Sección A.2, “Comando dmsetup”.
A.1. Tabla de Mapas de Dispositivo Copiar enlaceEnlace copiado en el portapapeles!
start length mapping [mapping_parameters...]
start debe ser igual a 0. Los parámetros start + length en una línea deben ser iguales a start en la línea siguiente. Los parámetros especificados en una línea de la tabla de mapas depende del tipo de mapping especificado en la línea.
/dev/hda) o por el número mayor o menor en el formato major:minor. Se prefiere el formato mayor:menor porque evita bloqueos de nombre de rutas.
0 35258368 linear 8:48 65920
35258368 35258368 linear 8:32 65920
70516736 17694720 linear 8:16 17694976
88211456 17694720 linear 8:16 256
linear. Las líneas restantes constan de los parámetros para un destino linear.
- lineal
- entrelazado
- espejo
- instantánea e instantánea-origen
- error
- cero
- multirutas
- crypt
A.1.1. Destino de mapa lineal Copiar enlaceEnlace copiado en el portapapeles!
start length linear device offset
start- iniciando bloque en dispositivo virtual
length- longitud de este segmento
device- dispositivo de bloque, relacionado por el nombre de dispositivo en el sistema de archivos o por los números mayor y menor en el formato
major:minor offset- iniciando desplazamiento de mapas en el dispositivo
0 16384000 linear 8:2 41156992
/dev/hda.
0 20971520 linear /dev/hda 384
A.1.2. Destino de mapas entrelazados Copiar enlaceEnlace copiado en el portapapeles!
start length striped #stripes chunk_size device1 offset1 ... deviceN offsetN
device y offset para cada franja.
start- iniciando bloque en dispositivo virtual
length- longitud de este segmento
#stripes- número de franjas para el dispositivo virtual
chunk_size- número de sectores escritos para cada franja antes de cambiar a la siguiente; debe ser potencia de 2 al menos del tamaño de la página de kernel
device- dispositivo de bloque, relacionado por el nombre de dispositivo en el sistema de archivos o por los números mayor y menor en el formato
major:minor. offset- iniciando desplazamiento de mapas en el dispositivo
0 73728 striped 3 128 8:9 384 8:8 384 8:7 9789824
- 0
- iniciando bloque en dispositivo virtual
- 73728
- longitud de este segmento
- entrelazado 3 128
- franja a través de tres dispositivos con un tamaño de unidad de 128 bloques
- 8:9
- números mayor:menor del primer dispositivo
- 384
- iniciando desplazamiento del mapa en el primer dispositivo
- 8:8
- números mayor:menor de segundo dispositivo
- 384
- iniciando desplazamiento de mapas del segundo dispositivo
- 8:7
- números mayor:menor del tercer dispositivo
- 9789824
- iniciando desplazamiento de mapas en el tercer dispositivo
0 65536 striped 2 512 /dev/hda 0 /dev/hdb 0
A.1.3. Espejo de destino de mapa Copiar enlaceEnlace copiado en el portapapeles!
start length mirror log_type #logargs logarg1 ... logargN #devs device1 offset1 ... deviceN offsetN
start- iniciando bloque en dispositivo virtual
length- longitud de este segmento
log_type- Los tipos posibles de registro y sus argumentos son los siguientes:
core- El espejo es local y el registro de espejo se mantiene en el núcleo de la memoria. Este tipo de registro recibe 1 - 3 argumentos:regionsize [[
no]sync] [block_on_error] disk- El espejo es local y el registro de espejo se mantiene en disco. Este tipo de registro recibe 2 - 4 argumentos:logdevice regionsize [[
no]sync] [block_on_error] clustered_core- El espejo es puesto en cluster y el registro de espejo se mantiene en el núcleo de memoria. Este tipo de registro recibe 2 - 4 argumentos:regionsize UUID [[
no]sync] [block_on_error] clustered_disk- El espejo es puesto en cluster y el registro de espejo se guarda en el disco. Este tipo de registro recibe 3 - 5 argumentos:logdevice regionsize UUID [[
no]sync] [block_on_error]
LVM mantiene un registro pequeño que utiliza para mantener el rastro de las regiones que están sincronizadas con el espejo o espejos. El argumento regionsize especifica el tamaño de estas regiones.En un entorno en cluster, el argumento UUID es un identificador único asociado con el dispositivo de registro de espejo para que el estado de registro se pueda mantener a través del cluster.The optional[no]syncargument can be used to specify the mirror as "in-sync" or "out-of-sync". Theblock_on_errorargument is used to tell the mirror to respond to errors rather than ignoring them. #log_args- número de argumentos de registro que serán especificados en el mapa
logargs- los argumentos de registro para el espejo; el número de registro de argumentos de registro provisto es especificado por el parámetro
#log-argsy los argumentos de registro válidos son determinados por el parámetrolog_type. #devs- el número de pilares en el espejo; se especifica un dispositivo y un desplazamiento para cada pilar.
device- dispositivo de bloque para cada pilar de espejo, relacionado por el nombre de dispositivo en el sistema de archivos o por los números mayor o menor en el formato
major:minor. Un dispositivo de bloque y desplazamiento es especificado para cada pilar de espejo, como es indicado por el parámetro#devs. offset- iniciando desplazamiento de mapas en el dispositivo. Un dispositivo de bloque y desplazamiento es especificado por cada pilar de espejo, como es indicado por el parámetro
#devs.
0 52428800 mirror clustered_disk 4 253:2 1024 UUID block_on_error 3 253:3 0 253:4 0 253:5 0
- 0
- iniciando bloque en dispositivo virtual
- 52428800
- longitud de este segmento
- mirror clustered_disk
- destino espejo con un tipo de registro especificando que el espejo está en cluster y el registro de espejo está guardado en disco
- 4
- 4 argumentos de registro de espejo seguirán
- 253:2
- números mayor:menor del dispositivo de registro
- 1024
- tamaño de región que el registro de espejo utiliza para guardar rastro de lo que está en sincronización
UUID- UUID de dispositivo de registro de espejo para mantener información de registro a través de un cluster
block_on_error- espejo debe responder a errores
- 3
- número de pilares en espejo
- 253:3 0 253:4 0 253:5 0
- números mayor:menor y desplazamiento para dispositivos que conforman cada pilar de espejo
A.1.4. Destinos de mapa instantánea e instantánea-origen Copiar enlaceEnlace copiado en el portapapeles!
- Un dispositivo con un mapa
linearconformado por la tabla de mapas del volumen de destino. - Un dispositivo con un mapa
linearutilizado como dispositivo de copia-escrita (COW) para el volumen de destino; para cada escritura, los datos originales se guardan en el dispositivo COW de cada instantánea para mantener el contenido visible sin cambios (hasta que el dispositivo COW se llene). - Un dispositivo con un mapa de
snapshotcombinando #1 y #2, el cual es el volumen de instantánea visible - The "original" volume (which uses the device number used by the original source volume), whose table is replaced by a "snapshot-origin" mapping from device #1.
base y un volumen de instantánea llamado snap basado en ese volumen.
# lvcreate -L 1G -n base volumeGroup
# lvcreate -L 100M --snapshot -n snap volumeGroup/base
# dmsetup table|grep volumeGroup
volumeGroup-base-real: 0 2097152 linear 8:19 384
volumeGroup-snap-cow: 0 204800 linear 8:19 2097536
volumeGroup-snap: 0 2097152 snapshot 254:11 254:12 P 16
volumeGroup-base: 0 2097152 snapshot-origin 254:11
# ls -lL /dev/mapper/volumeGroup-*
brw------- 1 root root 254, 11 29 ago 18:15 /dev/mapper/volumeGroup-base-real
brw------- 1 root root 254, 12 29 ago 18:15 /dev/mapper/volumeGroup-snap-cow
brw------- 1 root root 254, 13 29 ago 18:15 /dev/mapper/volumeGroup-snap
brw------- 1 root root 254, 10 29 ago 18:14 /dev/mapper/volumeGroup-base
snapshot-origin es el siguiente:
start length snapshot-origin origin
start- iniciando bloque en dispositivo virtual
length- longitud de este segmento
origin- volumen de base de instantánea
snapshot-origin normalmente tendrá una o más instantáneas de base. Las lecturas serán asignadas directamente al dispositivo de respaldo. Para cada escritura, los datos originales serán guardados en el dispositivo COW de cada instantánea para mantener su contenido visible sin cambios hasta que se llene el dispositivo COW.
snapshot es el siguiente:
start length snapshot origin COW-device P|N chunksize
start- iniciando bloque en dispositivo virtual
length- longitud de este segmento
origin- volumen de base de instantánea
COW-device- Dispositivo en el cual las unidades cambiadas de datos son almacenadas
- P|N
- P (Persistente) o N (No persistente); indica si la instantánea sobrevivirá después del reinicio. Para instantáneas transitorias (N) se deben guardar menos metadatos en disco; estos pueden ser guardados en memoria por el kernel.
chunksize- Tamaño en sectores de unidades de datos cambiadas que serán almacenadas en el dispositivo COW.
snapshot-origin con un dispositivo de origen de 254:11.
0 2097152 snapshot-origin 254:11
snapshot con un dispositivo de origen de 254:11 y un dispositivo COW de 254:12. Este dispositivo de instantánea persiste a través de reinicios y el tamaño de unidad para los datos almacenados en el dispositivo COW es de 16 sectores.
0 2097152 snapshot 254:11 254:12 P 16
A.1.5. Destino de mapa error Copiar enlaceEnlace copiado en el portapapeles!
error sólo recibe los parámetros start y length.
error.
0 65536 error
A.1.6. Destino de mapas cero Copiar enlaceEnlace copiado en el portapapeles!
zero es un dispositivo de bloque equivalente de /dev/zero. Una operación de lectura para este mapa retorna bloques de ceros. Los datos escritos a este mapa son descartados, pero la escritura tiene éxito. El destino de mapas zero sólo recibe los parámetros start y length.
zero para un dispositivo 16Tb.
0 65536 zero
A.1.7. Destino de mapas multirutas Copiar enlaceEnlace copiado en el portapapeles!
multipath es el siguiente:
start length multipath #features [feature1 ... featureN] #handlerargs [handlerarg1 ... handlerargN] #pathgroups pathgroup pathgroupargs1 ... pathgroupargsN
pathgroupargs para cada grupo de rutas.
start- iniciando bloque en dispositivo virtual
length- longitud de este segmento
#features- El número de funcionalidades de multirutas, acompañado por esas funcionalidades. Si este parámetro es cero, entonces no hay parámetro
featurey el siguiente parámetro de mapa de dispositivos será#handlerargs. Actualmente, la funcionalidad multirutas soportada esqueue_if_no_path. Esto indica que este dispositivo en multirutas se establece a operaciones de E/S de cola si no hay ninguna ruta disponible.Por ejemplo, si la opciónno_path_retryen el archivomultipath.confse estableció a operaciones de E/S de cola sólo hasta que todas las rutas hayan sido marcadas como fallidas después intentar el número de veces establecido para utilizar las rutas, el mapa aparecerá como sigue hasta que todos los controladores de ruta hayan fallado el número de controles especificado.0 71014400 multipath 1 queue_if_no_path 0 2 1 round-robin 0 2 1 66:128 \ 1000 65:64 1000 round-robin 0 2 1 8:0 1000 67:192 1000Después de que todos los controladores de ruta hayan fallado el número de controles especificado, el mapa aparecería así:0 71014400 multipath 0 0 2 1 round-robin 0 2 1 66:128 1000 65:64 1000 \ round-robin 0 2 1 8:0 1000 67:192 1000 #handlerargs- El número de argumentos del manejador de hardware, seguido por esos argumentos. Un manejador de hardware especifica un módulo que será utilizado para realizar acciones específicas de hardware al cambiar grupos de rutas o al manejar errores de E/S. Si se establece a 0, entonces el siguiente parámetro será
#pathgroups. #pathgroups- El número de grupos de ruta. Un grupo de ruta es una serie de rutas sobre las cuales un dispositivo en multirutas cargará equilibrio. Hay una serie de parámetros
pathgroupargspara cada grupo de rutas. pathgroup- El siguiente grupo de ruta para probar.
pathgroupsargs- Cada grupo de ruta consta de los siguientes argumentos:
pathselector #selectorargs #paths #pathargs device1 ioreqs1 ... deviceN ioreqsNHay una serie de argumentos de ruta para cada ruta en el grupo de rutas.pathselector- Especifica el algoritmo en uso para determinar qué ruta utilizar en este grupo de ruta para la siguiente operación de E/S.
#selectorargs- El número de argumentos de selector de ruta que sigue este argumento en el mapa de multirutas. Actualmente, el valor de este argumento es siempre 0.
#paths- El número de rutas en este grupo de rutas.
#pathargs- El número de argumentos de ruta especificado para cada ruta en este grupo. Actualmente este número es siempre 1, el argumento
ioreqs. device- El número de dispositivo de bloque del la ruta, relacionada por los números mayor y menor en el formato
major:minor ioreqs- El número de peticiones de E/S para dirigirse a esta ruta antes de cambiar a la próxima ruta en el grupo actual.
Figura A.1. Destino de mapas multirutas
0 71014400 multipath 0 0 4 1 round-robin 0 1 1 66:112 1000 \
round-robin 0 1 1 67:176 1000 round-robin 0 1 1 68:240 1000 \
round-robin 0 1 1 65:48 1000
0 71014400 multipath 0 0 1 1 round-robin 0 4 1 66:112 1000 \
67:176 1000 68:240 1000 65:48 1000
A.1.8. Destino de mapas crypt Copiar enlaceEnlace copiado en el portapapeles!
crypt encripta los datos que pasan por el dispositivo especificado. Utiliza el Crypto API de kernel.
crypt es el siguiente:
start length crypt cipher key IV-offset device offset
start- iniciando bloque en dispositivo virtual
length- longitud de este segmento
cipher- Cipher consta de
cipher[-chainmode]-ivmode[:iv options].cipher- Los cipher disponibles se listan en
/proc/crypto(por ejemplo,aes). chainmode- Siempre usan
cbc. No utiliceebc; no utiliza un vector inicial (IV). ivmode[:iv options]- IV es un vector inicial usado para variar la codificación. El modo IV es
plainoessiv:hash. Univmodede-plainusa el número de sector (más desplazamiento IV) como el IV. Univmodede-essives una mejora para evitar la debilidad de la marca de agua digital.
key- Clave codificada, suministrada en hex
IV-offset- Desplazamiento de Vector inicial (IV)
device- dispositivo de bloque, relacionado por el nombre de dispositivo en el sistema de archivos o por los números mayor y menor en el formato
major:minor offset- iniciando desplazamiento de mapas en el dispositivo
crypt.
0 2097152 crypt aes-plain 0123456789abcdef0123456789abcdef 0 /dev/hda 0
A.2. Comando dmsetup Copiar enlaceEnlace copiado en el portapapeles!
dmsetup es una envoltura de la línea de comando para la comunicación con el Mapeo de Dispositivos. Para información general del sistema sobre dispositivos LVM, puede hallar de utilidad las opciones info, ls, status, y deps del comando dmsetup como se describe en las siguientes subdivisiones.
dmsetup, consulte la página de manual (8) de dmsetup.
A.2.1. Comando info dmsetup Copiar enlaceEnlace copiado en el portapapeles!
dmsetup info device proporciona información resumida sobre los dispositivos del Mapeo de Dispositivos. Si no especifica un nombre de dispositivo, la salida será información sobre todos los dispositivos del Mapeo de Dispositivos configurados actualmente. Si especifica el dispositivo, entonces este comando generará información sobre ese dispositivo únicamente.
dmsetup info proporciona información en la siguientes categorías:
Name- El nombre del dispositivo. Un dispositivo LVM se expresa como el grupo de volumen y el nombre de volumen lógico separado por un guión. Un guión en el nombre original se traduce a dos guiones.
State- Los posibles estados de dispositivo son
SUSPENDED,ACTIVE, yREAD-ONLY. El comandodmsetup suspendestablece un dispositivo a un estado de dispositivoSUSPENDED. Cuando un dispositivo es suspendido, todas las operaciones de E/S para ese dispositivo se detienen. El comandodmsetup resumerestaura un estado de dispositivo aACTIVE. Read Ahead- El número de bloques de datos leído por el sistema antes que cualquier archivo en el cual estén en curso operaciones de lectura. Por defecto, el kernel elige automáticamente un valor adecuado. Puede cambiar este valor con la opción
--readaheaddel comandodmsetup. Tables present- Possible states for this category are
LIVEandINACTIVE. AnINACTIVEstate indicates that a table has been loaded which will be swapped in when admsetup resumecommand restores a device state toACTIVE, at which point the table's state becomesLIVE. For information, see thedmsetupman page. Open count- La cuenta abierta de referencia indica las veces que se abre el dispositivo. El comando
mountabre un dispositivo. Event number- The current number of events received. Issuing a
dmsetup wait ncommand allows the user to wait for the n'th event, blocking the call until it is received. Major, minor- Número de dispositivo mayor y menor
Number of targets- El numero de partes que componen un dispositivo. Por ejemplo, un dispositivo lineal que genere 3 discos tendría 3 destinos. Un dispositivo lineal compuesto por el comienzo y el final de un disco, pero no por la mitad tendría 2 destinos.
UUID- UUID del dispositivo.
dmsetup info.
[root@ask-07 ~]# dmsetup info
Name: testgfsvg-testgfslv1
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 0
Event number: 0
Major, minor: 253, 2
Number of targets: 2
UUID: LVM-K528WUGQgPadNXYcFrrf9LnPlUMswgkCkpgPIgYzSvigM7SfeWCypddNSWtNzc2N
...
Name: VolGroup00-LogVol00
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 1
Event number: 0
Major, minor: 253, 0
Number of targets: 1
UUID: LVM-tOcS1kqFV9drb0X1Vr8sxeYP0tqcrpdegyqj5lZxe45JMGlmvtqLmbLpBcenh2L3
A.2.2. El comando dmsetup ls Copiar enlaceEnlace copiado en el portapapeles!
dmsetup ls. Puede listar dispositivos que tengan al menos un destino de un tipo especificado con el comando dmsetup ls --target target_type. Para otras opciones del comando dmsetup ls, consulte la página de manual dmsetup.
[root@ask-07 ~]# dmsetup ls
testgfsvg-testgfslv3 (253, 4)
testgfsvg-testgfslv2 (253, 3)
testgfsvg-testgfslv1 (253, 2)
VolGroup00-LogVol01 (253, 1)
VolGroup00-LogVol00 (253, 0)
[root@grant-01 ~]# dmsetup ls --target mirror
lock_stress-grant--02.1722 (253, 34)
lock_stress-grant--01.1720 (253, 18)
lock_stress-grant--03.1718 (253, 52)
lock_stress-grant--02.1716 (253, 40)
lock_stress-grant--03.1713 (253, 47)
lock_stress-grant--02.1709 (253, 23)
lock_stress-grant--01.1707 (253, 8)
lock_stress-grant--01.1724 (253, 14)
lock_stress-grant--03.1711 (253, 27)
A.2.3. Comando dmsetup status Copiar enlaceEnlace copiado en el portapapeles!
dmsetup status device proporciona información de estatus para cada destino en un dispositivo determinado. Si no especifica el nombre de dispositivo, la salida será información sobre todos los dispositivos de Mapeo de Dispositivo actualmente configurados. Puede listar el estatus únicamente de dispositivos que tengan al menos un destino de un tipo especificado con el comando dmsetup status --target target_type.
[root@ask-07 ~]# dmsetup status
testgfsvg-testgfslv3: 0 312352768 linear
testgfsvg-testgfslv2: 0 312352768 linear
testgfsvg-testgfslv1: 0 312352768 linear
testgfsvg-testgfslv1: 312352768 50331648 linear
VolGroup00-LogVol01: 0 4063232 linear
VolGroup00-LogVol00: 0 151912448 linear
A.2.4. Comando dmsetup deps Copiar enlaceEnlace copiado en el portapapeles!
dmsetup deps device proporciona un listado de pares (mayor, menor) para dispositivos relacionados por tabla de mapas para el dispositivo especificado. Si no se especifica el nombre de dispositivo, la salida será información sobre todos los dispositivos del Mapeo de Dispositivos.
[root@ask-07 ~]# dmsetup deps
testgfsvg-testgfslv3: 1 dependencies : (8, 16)
testgfsvg-testgfslv2: 1 dependencies : (8, 16)
testgfsvg-testgfslv1: 1 dependencies : (8, 16)
VolGroup00-LogVol01: 1 dependencies : (8, 2)
VolGroup00-LogVol00: 1 dependencies : (8, 2)
lock_stress-grant--02.1722:
[root@grant-01 ~]# dmsetup deps lock_stress-grant--02.1722
3 dependencies : (253, 33) (253, 32) (253, 31)
Apéndice B. Archivos de configuración LVM Copiar enlaceEnlace copiado en el portapapeles!
lvm.conf se carga desde el directorio especificado por la variable de entorno LVM_SYSTEM_DIR, la cual está establecida de forma predeterminada a /etc/lvm.
lvm.conf puede especificar archivos de configuración adicional. Los parámetros en archivos de configuración posteriores tienen prioridad sobre los parámetros en archivos anteriores. Para ver los parámetros en uso después de cargar todos los archivos de configuración, ejecute el comando lvm dumpconfig.
B.1. Archivos de configuración LVM Copiar enlaceEnlace copiado en el portapapeles!
- /etc/lvm/lvm.conf
- Archivos de configuración central leídos por las herramientas.
- etc/lvm/lvm_etiqueta_de_host.conf
- For each host tag, an extra configuration file is read if it exists:
lvm_hosttag.conf. If that file defines new tags, then further configuration files will be appended to the list of tiles to read in. For information on host tags, see Sección C.2, “Etiquetas de host”.
- /etc/lvm/.cache
- Archivo de caché del filtro de nombres de dispositivos (configurable)
- /etc/lvm/backup/
- Directorio para las copias de seguridad automáticas de los metadatos del grupo de volumen (configurable).
- /etc/lvm/archive/
- Directorio para los archivos de metadatos del grupo de volumen (la ruta del directorio y el tamaño del historial son configurables)
- /var/lock/lvm/
- En una configuración de un solo host, bloquea los archivos para prevenir la corrupción de los metadatos debido a la ejecución paralela de varias herramientas; en un cluster, se utiliza DLM a lo largo del cluster.
B.2. Archivo lvm.conf de ejemplo Copiar enlaceEnlace copiado en el portapapeles!
lvm.conf. Este archivo de configuración es el archivo predeterminado para la versión de RHEL 5.3. Si su sistema está ejecutando una versión diferente a la de RHEL5, algunas configuraciones pueden diferir.
[root@tng3-1 lvm]# cat /etc/lvm/lvm.conf
# This is an example configuration file for the LVM2 system.
# It contains the default settings that would be used if there was no
# /etc/lvm/lvm.conf file.
#
# Refer to 'man lvm.conf' for further information including the file layout.
#
# To put this file in a different directory and override /etc/lvm set
# the environment variable LVM_SYSTEM_DIR before running the tools.
# This section allows you to configure which block devices should
# be used by the LVM system.
devices {
# Where do you want your volume groups to appear ?
dir = "/dev"
# An array of directories that contain the device nodes you wish
# to use with LVM2.
scan = [ "/dev" ]
# If several entries in the scanned directories correspond to the
# same block device and the tools need to display a name for device,
# all the pathnames are matched against each item in the following
# list of regular expressions in turn and the first match is used.
preferred_names = [ ]
# Try to avoid using undescriptive /dev/dm-N names, if present.
# preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]
# A filter that tells LVM2 to only use a restricted set of devices.
# The filter consists of an array of regular expressions. These
# expressions can be delimited by a character of your choice, and
# prefixed with either an 'a' (for accept) or 'r' (for reject).
# The first expression found to match a device name determines if
# the device will be accepted or rejected (ignored). Devices that
# don't match any patterns are accepted.
# Be careful if there there are symbolic links or multiple filesystem
# entries for the same device as each name is checked separately against
# the list of patterns. The effect is that if any name matches any 'a'
# pattern, the device is accepted; otherwise if any name matches any 'r'
# pattern it is rejected; otherwise it is accepted.
# Don't have more than one filter line active at once: only one gets used.
# Run vgscan after you change this parameter to ensure that
# the cache file gets regenerated (see below).
# If it doesn't do what you expect, check the output of 'vgscan -vvvv'.
# By default we accept every block device:
filter = [ "a/.*/" ]
# Exclude the cdrom drive
# filter = [ "r|/dev/cdrom|" ]
# When testing I like to work with just loopback devices:
# filter = [ "a/loop/", "r/.*/" ]
# Or maybe all loops and ide drives except hdc:
# filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]
# Use anchors if you want to be really specific
# filter = [ "a|^/dev/hda8$|", "r/.*/" ]
# The results of the filtering are cached on disk to avoid
# rescanning dud devices (which can take a very long time).
# By default this cache is stored in the /etc/lvm/cache directory
# in a file called '.cache'.
# It is safe to delete the contents: the tools regenerate it.
# (The old setting 'cache' is still respected if neither of
# these new ones is present.)
cache_dir = "/etc/lvm/cache"
cache_file_prefix = ""
# You can turn off writing this cache file by setting this to 0.
write_cache_state = 1
# Advanced settings.
# List of pairs of additional acceptable block device types found
# in /proc/devices with maximum (non-zero) number of partitions.
# types = [ "fd", 16 ]
# If sysfs is mounted (2.6 kernels) restrict device scanning to
# the block devices it believes are valid.
# 1 enables; 0 disables.
sysfs_scan = 1
# By default, LVM2 will ignore devices used as components of
# software RAID (md) devices by looking for md superblocks.
# 1 enables; 0 disables.
md_component_detection = 1
# By default, if a PV is placed directly upon an md device, LVM2
# will align its data blocks with the the chunk_size exposed in sysfs.
# 1 enables; 0 disables.
md_chunk_alignment = 1
# If, while scanning the system for PVs, LVM2 encounters a device-mapper
# device that has its I/O suspended, it waits for it to become accessible.
# Set this to 1 to skip such devices. This should only be needed
# in recovery situations.
ignore_suspended_devices = 0
}
# This section that allows you to configure the nature of the
# information that LVM2 reports.
log {
# Controls the messages sent to stdout or stderr.
# There are three levels of verbosity, 3 being the most verbose.
verbose = 0
# Should we send log messages through syslog?
# 1 is yes; 0 is no.
syslog = 1
# Should we log error and debug messages to a file?
# By default there is no log file.
#file = "/var/log/lvm2.log"
# Should we overwrite the log file each time the program is run?
# By default we append.
overwrite = 0
# What level of log messages should we send to the log file and/or syslog?
# There are 6 syslog-like log levels currently in use - 2 to 7 inclusive.
# 7 is the most verbose (LOG_DEBUG).
level = 0
# Format of output messages
# Whether or not (1 or 0) to indent messages according to their severity
indent = 1
# Whether or not (1 or 0) to display the command name on each line output
command_names = 0
# A prefix to use before the message text (but after the command name,
# if selected). Default is two spaces, so you can see/grep the severity
# of each message.
prefix = " "
# To make the messages look similar to the original LVM tools use:
# indent = 0
# command_names = 1
# prefix = " -- "
# Set this if you want log messages during activation.
# Don't use this in low memory situations (can deadlock).
# activation = 0
}
# Configuration of metadata backups and archiving. In LVM2 when we
# talk about a 'backup' we mean making a copy of the metadata for the
# *current* system. The 'archive' contains old metadata configurations.
# Backups are stored in a human readeable text format.
backup {
# Should we maintain a backup of the current metadata configuration ?
# Use 1 for Yes; 0 for No.
# Think very hard before turning this off!
backup = 1
# Where shall we keep it ?
# Remember to back up this directory regularly!
backup_dir = "/etc/lvm/backup"
# Should we maintain an archive of old metadata configurations.
# Use 1 for Yes; 0 for No.
# On by default. Think very hard before turning this off.
archive = 1
# Where should archived files go ?
# Remember to back up this directory regularly!
archive_dir = "/etc/lvm/archive"
# What is the minimum number of archive files you wish to keep ?
retain_min = 10
# What is the minimum time you wish to keep an archive file for ?
retain_days = 30
}
# Settings for the running LVM2 in shell (readline) mode.
shell {
# Number of lines of history to store in ~/.lvm_history
history_size = 100
}
# Miscellaneous global LVM2 settings
global {
library_dir = "/usr/lib64"
# The file creation mask for any files and directories created.
# Interpreted as octal if the first digit is zero.
umask = 077
# Allow other users to read the files
#umask = 022
# Enabling test mode means that no changes to the on disk metadata
# will be made. Equivalent to having the -t option on every
# command. Defaults to off.
test = 0
# Default value for --units argument
units = "h"
# Whether or not to communicate with the kernel device-mapper.
# Set to 0 if you want to use the tools to manipulate LVM metadata
# without activating any logical volumes.
# If the device-mapper kernel driver is not present in your kernel
# setting this to 0 should suppress the error messages.
activation = 1
# If we can't communicate with device-mapper, should we try running
# the LVM1 tools?
# This option only applies to 2.4 kernels and is provided to help you
# switch between device-mapper kernels and LVM1 kernels.
# The LVM1 tools need to be installed with .lvm1 suffices
# e.g. vgscan.lvm1 and they will stop working after you start using
# the new lvm2 on-disk metadata format.
# The default value is set when the tools are built.
# fallback_to_lvm1 = 0
# The default metadata format that commands should use - "lvm1" or "lvm2".
# The command line override is -M1 or -M2.
# Defaults to "lvm1" if compiled in, else "lvm2".
# format = "lvm1"
# Location of proc filesystem
proc = "/proc"
# Type of locking to use. Defaults to local file-based locking (1).
# Turn locking off by setting to 0 (dangerous: risks metadata corruption
# if LVM2 commands get run concurrently).
# Type 2 uses the external shared library locking_library.
# Type 3 uses built-in clustered locking.
locking_type = 3
# If using external locking (type 2) and initialisation fails,
# with this set to 1 an attempt will be made to use the built-in
# clustered locking.
# If you are using a customised locking_library you should set this to 0.
fallback_to_clustered_locking = 1
# If an attempt to initialise type 2 or type 3 locking failed, perhaps
# because cluster components such as clvmd are not running, with this set
# to 1 an attempt will be made to use local file-based locking (type 1).
# If this succeeds, only commands against local volume groups will proceed.
# Volume Groups marked as clustered will be ignored.
fallback_to_local_locking = 1
# Local non-LV directory that holds file-based locks while commands are
# in progress. A directory like /tmp that may get wiped on reboot is OK.
locking_dir = "/var/lock/lvm"
# Other entries can go here to allow you to load shared libraries
# e.g. if support for LVM1 metadata was compiled as a shared library use
# format_libraries = "liblvm2format1.so"
# Full pathnames can be given.
# Search this directory first for shared libraries.
# library_dir = "/lib"
# The external locking library to load if locking_type is set to 2.
# locking_library = "liblvm2clusterlock.so"
}
activation {
# How to fill in missing stripes if activating an incomplete volume.
# Using "error" will make inaccessible parts of the device return
# I/O errors on access. You can instead use a device path, in which
# case, that device will be used to in place of missing stripes.
# But note that using anything other than "error" with mirrored
# or snapshotted volumes is likely to result in data corruption.
missing_stripe_filler = "error"
# How much stack (in KB) to reserve for use while devices suspended
reserved_stack = 256
# How much memory (in KB) to reserve for use while devices suspended
reserved_memory = 8192
# Nice value used while devices suspended
process_priority = -18
# If volume_list is defined, each LV is only activated if there is a
# match against the list.
# "vgname" and "vgname/lvname" are matched exactly.
# "@tag" matches any tag set in the LV or VG.
# "@*" matches if any tag defined on the host is also set in the LV or VG
#
# volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]
# Size (in KB) of each copy operation when mirroring
mirror_region_size = 512
# Setting to use when there is no readahead value stored in the metadata.
#
# "none" - Disable readahead.
# "auto" - Use default value chosen by kernel.
readahead = "auto"
# 'mirror_image_fault_policy' and 'mirror_log_fault_policy' define
# how a device failure affecting a mirror is handled.
# A mirror is composed of mirror images (copies) and a log.
# A disk log ensures that a mirror does not need to be re-synced
# (all copies made the same) every time a machine reboots or crashes.
#
# In the event of a failure, the specified policy will be used to
# determine what happens:
#
# "remove" - Simply remove the faulty device and run without it. If
# the log device fails, the mirror would convert to using
# an in-memory log. This means the mirror will not
# remember its sync status across crashes/reboots and
# the entire mirror will be re-synced. If a
# mirror image fails, the mirror will convert to a
# non-mirrored device if there is only one remaining good
# copy.
#
# "allocate" - Remove the faulty device and try to allocate space on
# a new device to be a replacement for the failed device.
# Using this policy for the log is fast and maintains the
# ability to remember sync state through crashes/reboots.
# Using this policy for a mirror device is slow, as it
# requires the mirror to resynchronize the devices, but it
# will preserve the mirror characteristic of the device.
# This policy acts like "remove" if no suitable device and
# space can be allocated for the replacement.
# Currently this is not implemented properly and behaves
# similarly to:
#
# "allocate_anywhere" - Operates like "allocate", but it does not
# require that the new space being allocated be on a
# device is not part of the mirror. For a log device
# failure, this could mean that the log is allocated on
# the same device as a mirror device. For a mirror
# device, this could mean that the mirror device is
# allocated on the same device as another mirror device.
# This policy would not be wise for mirror devices
# because it would break the redundant nature of the
# mirror. This policy acts like "remove" if no suitable
# device and space can be allocated for the replacement.
mirror_log_fault_policy = "allocate"
mirror_device_fault_policy = "remove"
}
####################
# Advanced section #
####################
# Metadata settings
#
# metadata {
# Default number of copies of metadata to hold on each PV. 0, 1 or 2.
# You might want to override it from the command line with 0
# when running pvcreate on new PVs which are to be added to large VGs.
# pvmetadatacopies = 1
# Approximate default size of on-disk metadata areas in sectors.
# You should increase this if you have large volume groups or
# you want to retain a large on-disk history of your metadata changes.
# pvmetadatasize = 255
# List of directories holding live copies of text format metadata.
# These directories must not be on logical volumes!
# It's possible to use LVM2 with a couple of directories here,
# preferably on different (non-LV) filesystems, and with no other
# on-disk metadata (pvmetadatacopies = 0). Or this can be in
# addition to on-disk metadata areas.
# The feature was originally added to simplify testing and is not
# supported under low memory situations - the machine could lock up.
#
# Never edit any files in these directories by hand unless you
# you are absolutely sure you know what you are doing! Use
# the supplied toolset to make changes (e.g. vgcfgrestore).
# dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
#}
# Event daemon
#
dmeventd {
# mirror_library is the library used when monitoring a mirror device.
#
# "libdevmapper-event-lvm2mirror.so" attempts to recover from
# failures. It removes failed devices from a volume group and
# reconfigures a mirror as necessary. If no mirror library is
# provided, mirrors are not monitored through dmeventd.
mirror_library = "libdevmapper-event-lvm2mirror.so"
# snapshot_library is the library used when monitoring a snapshot device.
#
# "libdevmapper-event-lvm2snapshot.so" monitors the filling of
# snapshots and emits a warning through syslog, when the use of
# snapshot exceedes 80%. The warning is repeated when 85%, 90% and
# 95% of the snapshot are filled.
snapshot_library = "libdevmapper-event-lvm2snapshot.so"
}
Apéndice C. Etiquetas de objetos LVM Copiar enlaceEnlace copiado en el portapapeles!
database.
lvs @database
C.1. Cómo añadir y remover etiquetas de objetos Copiar enlaceEnlace copiado en el portapapeles!
--addtag o --deltag del comando pvchange
--addtag o --deltag de los comandos vgchange o vgcreate
--addtag o --deltag de los comandos lvchange o lvcreate.
C.2. Etiquetas de host Copiar enlaceEnlace copiado en el portapapeles!
hosttags = 1 in the tags section, a host tag is automatically defined using the machine's hostname. This allow you to use a common configuration file which can be replicated on all your machines so they hold identical copies of the file, but the behavior can differ between machines according to the hostname.
tag1 y define tag2 si el nombre de host es host1.
tags { tag1 { } tag2 { host_list = ["host1"] } }
C.3. Cómo controlar la activación con etiquetas Copiar enlaceEnlace copiado en el portapapeles!
vgchange -ay) y solo activa vg1/lvol0 y cualquier volumen lógico o grupo de volúmenes con la etiqueta database en los metadatos de ese host.
activation { volume_list = ["vg1/lvol0", "@database" ] }
tags { hosttags = 1 }
vg1/lvol2 únicamente en el host db2, haga lo siguiente:
- Ejecute
lvchange --addtag @db2 vg1/lvol2desde cualquier host en el cluster. - Ejecute
lvchange -ay vg1/lvol2.
Apéndice D. Metadatos del grupo de volúmenes LVM Copiar enlaceEnlace copiado en el portapapeles!
--metadatacopies 0 del comando pvcreate. El número de copias de los metadatos que el volumen físico contendrá no puede ser modificada una vez hecha la selección inicial. Si se selecciona no tener ninguna copia, la actualización de la configuración será más rápida. Note, sin embargo, que cada grupo de volúmenes debe contener al menos un volumen físico con los metadatos (a menos que esté usando los parámetros de configuración avanzada que permiten almacenar los metadatos del grupo de volúmenes en un sistema de archivos). Si desea dividir el grupo de volúmenes en el futuro, cada grupo necesita al menos una copia de los metadatos.
--metadatasize del comando pvcreate. El tamaño por defecto es muy pequeño para grupos de volúmenes con numerosos volúmenes lógicos o volúmenes físicos.
D.1. La etiqueta del volumen físico Copiar enlaceEnlace copiado en el portapapeles!
pvcreate pone la etiqueta del volumen físico en el segundo sector de 512-byte. Esta etiqueta puede ser ubicada en cualquiera de los primero cuatro sectores, ya que las herramientas de LVM que exploran esta etiqueta revisan los primeros cuatro sectores. La etiqueta de volúmenes físicos inicia con la cadena LABELONE.
- UUID del volumen físico
- Tamaño del dispositivo del bloque en bytes
- Lista de ubicaciones de áreas de datos terminadas en NULL
- Listas de ubicaciones de área de metadatos terminadas en NULL
D.2. Contenido de metadatos Copiar enlaceEnlace copiado en el portapapeles!
- Información sobre cómo y cuándo fue creado
- Información sobre el grupo de volúmenes:
- Nombre y ID único
- Un número de versión que se incrementa cada vez que los metadatos son actualizados
- Cualquier propiedad: ¿Lectura/escritura? ¿Dimensionable?
- Cualquier límite administrativo sobre el número de volúmenes físicos y volúmenes lógicos que puede contener
- El tamaño de las extensiones (en unidades de sectores que tienen 512 bytes)
- Una lista sin orden de los volúmenes físicos que conforman el grupo de volúmenes, cada cual con:
- Su UUID, usado para determinar el dispositivo de bloque que lo contiene
- Cualquier propiedad, por ejemplo si el volumen físico es asignable
- El lugar del comienzo de la primera extensión del volumen físico (en sectores)
- El número de extensiones
- Una lista sin orden de los volúmenes lógicos. Cada uno con
- Una lista ordenada de los segmentos del volumen lógico. Para cada segmento los metadatos incluyen una relación aplicada a un alista ordenada de los segmentos del volumen físico o los segmentos del volumen lógico.
D.3. Metadatos de ejemplo Copiar enlaceEnlace copiado en el portapapeles!
myvg.
# Generated by LVM2: Tue Jan 30 16:28:15 2007
contents = "Text Format Volume Group"
version = 1
description = "Created *before* executing 'lvextend -L+5G /dev/myvg/mylv /dev/sdc'"
creation_host = "tng3-1" # Linux tng3-1 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686
creation_time = 1170196095 # Tue Jan 30 16:28:15 2007
myvg {
id = "0zd3UT-wbYT-lDHq-lMPs-EjoE-0o18-wL28X4"
seqno = 3
status = ["RESIZEABLE", "READ", "WRITE"]
extent_size = 8192 # 4 Megabytes
max_lv = 0
max_pv = 0
physical_volumes {
pv0 {
id = "ZBW5qW-dXF2-0bGw-ZCad-2RlV-phwu-1c1RFt"
device = "/dev/sda" # Hint only
status = ["ALLOCATABLE"]
dev_size = 35964301 # 17.1491 Gigabytes
pe_start = 384
pe_count = 4390 # 17.1484 Gigabytes
}
pv1 {
id = "ZHEZJW-MR64-D3QM-Rv7V-Hxsa-zU24-wztY19"
device = "/dev/sdb" # Hint only
status = ["ALLOCATABLE"]
dev_size = 35964301 # 17.1491 Gigabytes
pe_start = 384
pe_count = 4390 # 17.1484 Gigabytes
}
pv2 {
id = "wCoG4p-55Ui-9tbp-VTEA-jO6s-RAVx-UREW0G"
device = "/dev/sdc" # Hint only
status = ["ALLOCATABLE"]
dev_size = 35964301 # 17.1491 Gigabytes
pe_start = 384
pe_count = 4390 # 17.1484 Gigabytes
}
pv3 {
id = "hGlUwi-zsBg-39FF-do88-pHxY-8XA2-9WKIiA"
device = "/dev/sdd" # Hint only
status = ["ALLOCATABLE"]
dev_size = 35964301 # 17.1491 Gigabytes
pe_start = 384
pe_count = 4390 # 17.1484 Gigabytes
}
}
logical_volumes {
mylv {
id = "GhUYSF-qVM3-rzQo-a6D2-o0aV-LQet-Ur9OF9"
status = ["READ", "WRITE", "VISIBLE"]
segment_count = 2
segment1 {
start_extent = 0
extent_count = 1280 # 5 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv0", 0
]
}
segment2 {
start_extent = 1280
extent_count = 1280 # 5 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv1", 0
]
}
}
}
}
Apéndice E. Historial de revisión Copiar enlaceEnlace copiado en el portapapeles!
| Historial de revisiones | |||
|---|---|---|---|
| Revisión 3-6.400 | 2013-10-31 | ||
| |||
| Revisión 3-6 | 2012-07-18 | ||
| |||
| Revisión 1.0-0 | Thu Jan 29 2009 | ||
|
| |||
Índice
A
- activating logical volumes
- individual nodes, Cómo activar volúmenes lógicos en nodos individuales en un cluster
- activating volume groups, Cómo activar y desactivar grupos de volúmenes
- individual nodes, Cómo activar y desactivar grupos de volúmenes
- local node only, Cómo activar y desactivar grupos de volúmenes
- administrative procedures, Sinopsis de la administración de LVM
- allocation
- policy, Cómo crear grupos de volúmenes
- preventing, Cómo prevenir la asignación en un volumen físico
- archive file, Copia de seguridad del volumen lógico, Cómo crear copias de seguridad de los metadatos del grupo de volúmenes
B
- backup
- backup file, Cómo crear copias de seguridad de los metadatos del grupo de volúmenes
- block device
- scanning, Cómo buscar Dispositivos de Bloque
C
- cache file
- cluster environment, Administrador de volúmenes lógicos en cluster (CLVM), Creación de volúmenes LVM en un cluster
- CLVM
- clvmd daemon, Administrador de volúmenes lógicos en cluster (CLVM)
- command line units, Uso de los comandos
- configuration examples, Ejemplos de configuración de LVM
- creating
- logical volume, Cómo crear volúmenes lógicos
- logical volume, example, Cómo crear un volumen lógico LVM en tres discos
- LVM volumes in a cluster, Creación de volúmenes LVM en un cluster
- physical volumes, Creación de volúmenes físicos
- striped logical volume, example, Cómo crear un volumen lógico entrelazado
- volume group, clustered, Cómo crear grupos de volúmenes en un cluster
- volume groups, Cómo crear grupos de volúmenes
- creating LVM volumes
D
- data relocation, online, Asignación de datos en línea
- deactivating volume groups, Cómo activar y desactivar grupos de volúmenes
- exclusive on one node, Cómo activar y desactivar grupos de volúmenes
- local node only, Cómo activar y desactivar grupos de volúmenes
- device numbers
- device path names, Uso de los comandos
- device scan filters, Cómo controlar la exploración de dispositivos LVM a través de filtros
- device size, maximum, Cómo crear grupos de volúmenes
- device special file directory, Cómo crear grupos de volúmenes
- display
- sorting output, Cómo ordenar los reportes de LVM
- displaying
- logical volumes, Cómo ver los volúmenes lógicos, El comando lvs
- physical volumes, Cómo ver los volúmenes físicos, El comando pvs
- volume groups, Cómo mostrar los grupos de volúmenes, El comando vgs
E
- extent
- allocation, Cómo crear grupos de volúmenes
- definition, Grupos de volúmenes, Cómo crear grupos de volúmenes
F
- failed devices
- displaying, Cómo ver la información en dispositivos fallidos
- feedback, Comentarios
- file system
- growing on a logical volume, Cómo aumentar el tamaño de un sistema de archivos en un volumen lógico
- filters, Cómo controlar la exploración de dispositivos LVM a través de filtros
G
- growing file system
H
- help display, Uso de los comandos
I
- initializing
- partitions, Cómo inicializar los volúmenes físicos
- physical volumes, Cómo inicializar los volúmenes físicos
- Insufficient Free Extents message, Extensiones libres insuficientes para un volumen lógico
L
- linear logical volume
- converting to mirrored, Cómo cambiar la configuración del volumen en espejo
- creation, Cómo crear volúmenes lineales
- definition, Volúmenes lineales
- logging, Registro
- logical volume
- administration, general, Administración del volumen lógico
- changing parameters, Cómo cambiar los parámetros de un grupo de volúmenes lógico
- creation, Cómo crear volúmenes lógicos
- creation example, Cómo crear un volumen lógico LVM en tres discos
- definition, Volúmenes lógicos, Volúmenes lógicos LVM
- displaying, Cómo ver los volúmenes lógicos, Reporte personalizado para LVM, El comando lvs
- exclusive access, Cómo activar volúmenes lógicos en nodos individuales en un cluster
- extending, Cómo aumentar los volúmenes lógicos
- growing, Cómo aumentar los volúmenes lógicos
- linear, Cómo crear volúmenes lineales
- local access, Cómo activar volúmenes lógicos en nodos individuales en un cluster
- lvs display arguments, El comando lvs
- mirrored, Cómo crear volúmenes en espejo
- reducing, Cómo reducir volúmenes lógicos
- removing, Cómo remover volúmenes lógicos
- renaming, Cómo renombrar volúmenes lógicos
- resizing, Cómo dimensionar volúmenes lógicos
- shrinking, Cómo reducir volúmenes lógicos
- snapshot, Cómo crear volúmenes de instantáneas
- striped, Cómo crear volúmenes entrelazados
- lvchange command, Cómo cambiar los parámetros de un grupo de volúmenes lógico
- lvconvert command, Cómo cambiar la configuración del volumen en espejo
- lvcreate command, Cómo crear volúmenes lógicos
- lvdisplay command, Cómo ver los volúmenes lógicos
- lvextend command, Cómo aumentar los volúmenes lógicos
- LVM
- architecture overview, Sinopsis de la arquitectura LVM
- clustered, Administrador de volúmenes lógicos en cluster (CLVM)
- components, Sinopsis de la arquitectura LVM, Componentes de LVM
- custom report format, Reporte personalizado para LVM
- directory structure, Cómo crear grupos de volúmenes
- help, Uso de los comandos
- history, Sinopsis de la arquitectura LVM
- label, Volúmenes físicos
- logging, Registro
- logical volume administration, Administración del volumen lógico
- physical volume administration, Administración de volúmenes físicos
- physical volume, definition, Volúmenes físicos
- volume group, definition, Grupos de volúmenes
- LVM1, Sinopsis de la arquitectura LVM
- LVM2, Sinopsis de la arquitectura LVM
- lvmdiskscan command, Cómo buscar Dispositivos de Bloque
- lvreduce command, Cómo dimensionar volúmenes lógicos, Cómo reducir volúmenes lógicos
- lvremove command, Cómo remover volúmenes lógicos
- lvrename command, Cómo renombrar volúmenes lógicos
- lvs command, Reporte personalizado para LVM, El comando lvs
- display arguments, El comando lvs
- lvscan command, Cómo ver los volúmenes lógicos
M
- man page display, Uso de los comandos
- metadata
- mirrored logical volume
- converting to linear, Cómo cambiar la configuración del volumen en espejo
- creation, Cómo crear volúmenes en espejo
- definition, Volúmenes lógicos en espejo
- failure recovery, Cómo recuperarse de una falla de un espejo LVM
- reconfiguration, Cómo cambiar la configuración del volumen en espejo
O
- online data relocation, Asignación de datos en línea
P
- partition type, setting, Cómo establecer el tipo de partición
- partitions
- multiple, Múltiples particiones en un disco
- path names, Uso de los comandos
- persistent device numbers, Números de dispositivos persistentes
- physical extent
- preventing allocation, Cómo prevenir la asignación en un volumen físico
- physical volume
- adding to a volume group, Cómo agregar volúmenes físicos al grupo de volúmenes
- administration, general, Administración de volúmenes físicos
- creating, Creación de volúmenes físicos
- definition, Volúmenes físicos
- display, El comando pvs
- displaying, Cómo ver los volúmenes físicos, Reporte personalizado para LVM
- illustration, LVM Physical Volume Layout
- initializing, Cómo inicializar los volúmenes físicos
- layout, LVM Physical Volume Layout
- pvs display arguments, El comando pvs
- recovery, Cómo remplazar un volumen físico perdido
- removing, Cómo remover volúmenes físicos
- removing from volume group, Cómo remover un volumen físico de un grupo de volúmenes
- removing lost volume, Cómo remover los volúmenes físicos perdidos desde un grupo de volúmenes
- resizing, Cómo cambiar el tamaño de un volumen físico
- pvdisplay command, Cómo ver los volúmenes físicos
- pvmove command, Asignación de datos en línea
- pvremove command, Cómo remover volúmenes físicos
- pvresize command, Cómo cambiar el tamaño de un volumen físico
- pvs command, Reporte personalizado para LVM
- display arguments, El comando pvs
- pvscan command, Cómo ver los volúmenes físicos
R
- removing
- disk from a logical volume, Cómo remover un disco de un volumen lógico
- logical volume, Cómo remover volúmenes lógicos
- physical volumes, Cómo remover volúmenes físicos
- renaming
- logical volume, Cómo renombrar volúmenes lógicos
- volume group, Cómo cambiar el nombrar de un grupo de volúmenes
- report format, LVM devices, Reporte personalizado para LVM
- resizing
- logical volume, Cómo dimensionar volúmenes lógicos
- physical volume, Cómo cambiar el tamaño de un volumen físico
S
- scanning
- block devices, Cómo buscar Dispositivos de Bloque
- scanning devices, filters, Cómo controlar la exploración de dispositivos LVM a través de filtros
- snapshot logical volume
- creation, Cómo crear volúmenes de instantáneas
- snapshot volume
- definition, Volúmenes de instantáneas
- striped logical volume
- creation, Cómo crear volúmenes entrelazados
- creation example, Cómo crear un volumen lógico entrelazado
- definition, Volúmenes lógicos entrelazados
- extending, Cómo extender un volumen entrelazado
- growing, Cómo extender un volumen entrelazado
T
- troubleshooting, Solución de errores en LVM
U
- units, command line, Uso de los comandos
V
- verbose output, Uso de los comandos
- vgcfbackup command, Cómo crear copias de seguridad de los metadatos del grupo de volúmenes
- vgcfrestore command, Cómo crear copias de seguridad de los metadatos del grupo de volúmenes
- vgchange command, Cómo cambiar los parámetros de un grupo de volúmenes
- vgcreate command, Cómo crear grupos de volúmenes, Cómo crear grupos de volúmenes en un cluster
- vgdisplay command, Cómo mostrar los grupos de volúmenes
- vgexport command, Cómo mover un grupo de volúmenes a otro sistema
- vgextend command, Cómo agregar volúmenes físicos al grupo de volúmenes
- vgimport command, Cómo mover un grupo de volúmenes a otro sistema
- vgmerge command, Cómo combinar grupos de volúmenes
- vgmknodes command, Cómo recrear un directorio de grupo de volúmenes
- vgreduce command, Cómo remover un volumen físico de un grupo de volúmenes
- vgrename command, Cómo cambiar el nombrar de un grupo de volúmenes
- vgs command, Reporte personalizado para LVM
- display arguments, El comando vgs
- vgscan command, Cómo explorar discos en búsqueda de grupos de volúmenes para construir el archivo de caché
- vgsplit command, Cómo separar un grupo de volúmenes
- volume group
- activating, Cómo activar y desactivar grupos de volúmenes
- administration, general, Administración del grupo de volúmenes
- changing parameters, Cómo cambiar los parámetros de un grupo de volúmenes
- combining, Cómo combinar grupos de volúmenes
- creating, Cómo crear grupos de volúmenes
- creating in a cluster, Cómo crear grupos de volúmenes en un cluster
- deactivating, Cómo activar y desactivar grupos de volúmenes
- definition, Grupos de volúmenes
- displaying, Cómo mostrar los grupos de volúmenes, Reporte personalizado para LVM, El comando vgs
- extending, Cómo agregar volúmenes físicos al grupo de volúmenes
- growing, Cómo agregar volúmenes físicos al grupo de volúmenes
- merging, Cómo combinar grupos de volúmenes
- moving between systems, Cómo mover un grupo de volúmenes a otro sistema
- reducing, Cómo remover un volumen físico de un grupo de volúmenes
- removing, Cómo remover grupos de volúmenes
- renaming, Cómo cambiar el nombrar de un grupo de volúmenes
- shrinking, Cómo remover un volumen físico de un grupo de volúmenes
- splitting, Cómo separar un grupo de volúmenes
- example procedure, Separación de un grupo de volúmenes
- vgs display arguments, El comando vgs