¿Qué es LVM?
El administrador de volumen lógico (LVM) introduce una capa adicional entre los discos físicos y el sistema de archivos que permite que los sistemas de archivos:
– cambien de tamaño y se muevan fácilmente y en línea sin necesidad de una interrupción en todo el sistema.
– Uso discontinuo espacio en el disco
:nombres significativos para los volúmenes, en lugar de los nombres de dispositivos crípticos habituales.
:abarca varios discos físicos
Linux LVM es muy similar a HP-UX LVM y proporciona muchas otras características avanzadas como instantáneas, compatibilidad con clústeres (GFS2, OCFS y Lustre).
Conceptos
LVM se compone de pocas capas conceptuales, como el volumen físico, el volumen lógico y los sistemas de archivos.
Las capas conceptuales se componen a su vez de unidades más pequeñas como extensiones físicas (en el caso de volúmenes físicos) y extensiones lógicas (en el caso de volúmenes lógicos).
Volumen físico (VP)
Cada volumen físico puede ser una partición de disco, un disco completo, un metadispositivo o un archivo de bucle invertido. Usa el comando pvcreate para inicializar el almacenamiento para que lo use LVM. Inicializar un dispositivo de bloque como volumen físico coloca una etiqueta al inicio del dispositivo.
Grupo de volumen (VG)
Un grupo de volúmenes reúne una colección de volúmenes lógicos y volúmenes físicos en una unidad administrativa. El grupo de volúmenes se divide en extensiones físicas de tamaño fijo. El comando vgcreate crea un nuevo grupo de volúmenes utilizando la ruta de volumen físico del dispositivo especial de bloque configurada previamente para LVM con pvcreate.
– Los VG están compuestos por PV, que a su vez están compuestos por extensiones físicas (PE). El tamaño de PE puede diferir en diferentes VG y se define en el momento de crear VG.
– El tamaño predeterminado de PE es de 4 MB, pero puede cambiarlo al valor que desee en el momento de la creación de VG.
– En general, cuanto mayor sea el tamaño de PE, mejor será el rendimiento (aunque menos control granular de LV).
Volumen Lógico (LV)
Un volumen lógico es el equivalente conceptual de una partición de disco en un sistema que no es LVM. Los volúmenes lógicos son dispositivos de bloque que se crean a partir de las extensiones físicas presentes en el mismo grupo de volúmenes. Puede usar el comando lvcreate para crear un volumen lógico en un grupo de volúmenes existente.
Sistema de archivos
Los sistemas de archivos se crean sobre volúmenes lógicos. El comando mkfs se puede usar para crear un sistema de archivos sobre un volumen lógico. Una vez que se crea el sistema de archivos, podemos montar el volumen lógico según nuestras necesidades.
Empecemos
El ejemplo
En el siguiente ejemplo:
1. Cree 3 volúmenes físicos a partir de 3 discos físicos (/dev/sdb, /dev/sdc, /dev/sdd ).
2. Cree un grupo de volumen a partir de estos 3 PV (/dev/vg01 ).
3. Cree un Volumen Lgico en este VG (/dev/vg01/lvol01 ).
4. Cree un sistema de archivos en este LV y móntelo (/data01 ).
Crear volúmenes físicos
El pvcreate El comando se usa para inicializar el PV para que lo use LVM. Antes de crear el PV, asegúrese de que el disco esté visible en el sistema operativo. Para escanear los dispositivos de bloque que se usarán como PV, use el lvmdiskscan comando.
# lvmdiskscan ....... /dev/sdb [ 2.00 GiB] /dev/sdc [ 2.00 GiB] /dev/sdd [ 2.00 GiB] 3 disks 19 partitions 0 LVM physical volume whole disks 0 LVM physical volumes
Inicialice los dispositivos de bloque:
# pvcreate /dev/sdb /dev/sdc /dev/sdd Physical volume "/dev/sdb" successfully created Physical volume "/dev/sdc" successfully created Physical volume "/dev/sdd" successfully created
Mostrar volúmenes físicos
Use los comandos pvdisplay , pv y pvscan para mostrar los PV que acabamos de crear.
# pvdisplay "/dev/sdb" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb VG Name PV Size 2.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID Mt3F7z-a2AV-28Vn-uXe2-QejE-Z6tP-UMlQGM "/dev/sdc" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc VG Name PV Size 2.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 5m1Fuc-yTRn-I2vG-bMfU-6SE7-53EA-s8VQjt "/dev/sdd" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdd VG Name PV Size 2.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 1x3e2A-C0Lt-DrUA-tPSM-lsMu-sn70-qg1j8p
# pvscan PV /dev/sdb lvm2 [2.00 GiB] PV /dev/sdc lvm2 [2.00 GiB] PV /dev/sdd lvm2 [2.00 GiB] Total: 3 [6.00 GiB] / in use: 0 [0 ] / in no VG: 3 [6.00 GiB]
# pvs PV VG Fmt Attr PSize PFree /dev/sdb lvm2 a-- 2.00g 2.00g /dev/sdc lvm2 a-- 2.00g 2.00g /dev/sdd lvm2 a-- 2.00g 2.00g
Crear un grupo de volúmenes
Usa el vgcreate comando para crear el nuevo grupo de volúmenes vg01 usando los 3 PV que acabamos de crear. Podemos especificar las extensiones con -s opción y número máximo de PV y LV en el VG usando las opciones -p y -l respectivamente. Todas estas opciones son opcionales y no es necesario utilizarlas necesariamente.
# vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd Volume group "vg01" successfully created
Las opciones opcionales que se utilizan con el comando vgcreate son:
Opción | Significado |
---|---|
-s | Tamaño de la extensión física |
-p | Número máximo de PV |
-l | Número máximo de LV |
–asignar | política de asignación (ya sea contigua, en cualquier lugar o adherida) |
Mostrando la información de VG
Los comandos vgs y vgdisplay se pueden usar para mostrar la información sobre el VG que acabamos de crear:
# vgs vg01 VG #PV #LV #SN Attr VSize VFree vg01 3 0 0 wz--n- 5.99g 5.99g
# vgdisplay vg01 --- Volume group --- VG Name vg01 System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size 5.99 GiB PE Size 4.00 MiB Total PE 1533 Alloc PE / Size 0 / 0 Free PE / Size 1533 / 5.99 GiB VG UUID Cw7GGz-NH3o-Sax2-5jPv-buZS-938T-tmNKFa
Activación y desactivación de VG
El cambio vg El comando se puede utilizar para activar/desactivar un grupo de volumen.
Para desactivar un VG:
# vgchange -a n vg01 0 logical volume(s) in volume group "vg01" now active
Para activar un VG:
# vgchange -a y vg01 1 logical volume(s) in volume group "vg01" now active
Crear volumen lógico
El volumen lógico ahora se puede crear en el VG usando el comando lvcreate .
:si no especifica el nombre del LV en el comando, el LV recibe por defecto el nombre lvol# .
– Normalmente, si no especifica qué PV abarcará el LV, el volumen lógico se creará en el PV de forma gratuita.
– Para crear un volumen lógico lvol01 de 5 GB de tamaño:
# lvcreate -L 5G -n lvol01 vg01 Logical volume "lvol01" created
Crear un volumen rayado
Para crear un volumen rayado que abarque los 3 PV que creamos:
# lvcreate -L 5G -I 4096 -i 3 -n lvol01 vg01 Rounding size (1280 extents) up to stripe boundary size (1281 extents) Logical volume "lvol01" created
I - PVs to span while creating striped volume i - stripe unit
Creación de un volumen reflejado
Para crear un volumen reflejado de 3 vías que abarque los 3 PV (sdb, sdc, sdd):
# lvcreate -L 1G -m 2 -n lvol01 vg01 Logical volume "lvol01" created
También podemos especificar qué dispositivos se utilizarán al crear el LV duplicado. En nuestro caso, como solo teníamos 3 PV en el VG, el LV se crea de forma predeterminada en estos 3 PV.
Visualización de la información de LV
Los comandos lvdisplay , lvs y lvscan se puede utilizar para mostrar la información sobre el LV que acabamos de crear.
# lvs /dev/vg01/lvol01 LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert lvol01 vg01 mwi-a-m-- 1.00g lvol01_mlog 100.00
# lvdisplay /dev/vg01/lvol01 --- Logical volume --- LV Path /dev/vg01/lvol01 LV Name lvol01 VG Name vg01 LV UUID ptlmAV-mO42-fWiJ-e2Ml-r9kj-PFcC-MOexxw LV Write Access read/write LV Creation host, time localhost.localdomain, 2014-10-22 09:04:25 -0700 LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Mirrored volumes 3 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:4
# lvscan ACTIVE '/dev/vg01/lvol01' [1.00 GiB] inherit
Creación de un sistema de archivos
El paso final es crear un sistema de archivos en el nuevo LV que acabamos de crear y montarlo en un directorio para poder acceder a él y almacenar datos en él. El comando mkfs se puede usar para crear un sistema de archivos encima del LV.
# mkfs.ext4 /dev/vg01/lvol01 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 37 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
El volumen lógico se puede montar una vez que se crea el sistema de archivos. Asegúrese de agregar una entrada a /etc/fstab , para que se monte automáticamente cuando arranque el sistema.
# mkdir /data01 # mount /dev/vg01/lvol01 /data01
# vi /etc/fstab /dev/vg01/lvol01 /data01 ext4 defaults 0 0
# df -h /data01 Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg01-lvol01 1008M 34M 924M 4% /data01
La herramienta gráfica para administrar LVM
Hay una herramienta gráfica genial disponible (system-config-lvm ) en caso de que desee utilizar. Si aún no está instalado en el sistema, instálelo usando yum:
# yum install system-config-lvm
Para iniciar la herramienta de administración de LVM gráfico, ejecute el comando:
# system-config-lvm
Configuración de LVM:operaciones/utilidades de volumen lógico (LV)
Configuración de LVM:operaciones/utilidades de grupo de volumen (VG)
Configuración de LVM:operaciones/utilidades de volumen físico (PV)