Archivo etiqueta LVM
LVM en Fedora / Red Hat
Por Luis Gallardo - Linux - 26/01/2012
Enlace al video: http://blip.tv/lgallardo/lvm-en-fedora-red-hat-5908538
En este video podemos ver el proceso de instalación usando LVM en Fedora (vale también para Red Hat). Como nota aclaratoria, el directorio que debe estar fuera del LVM es /boot, aun y cuando en el video se crea la raíz, la cual incluye a /boot.
Si no entiendes algunos de los términos de LVM, puedes revisar el artículo anterior donde se habló sobre los conceptos básicos de LVM y algunas oŕdenes para crear un LVM a mano.
Logical Volume Manager (LVM)
Por Luis Gallardo - Linux - 18/11/2011
En el esquema de particionamiento tradicional de discos el administrador del sistema planifica con antelación el uso que se le dará cada partición. Por ejemplo, para una laptop con disco duro de 120 GB y RAM de 1 GB se puede tener el siguiente esquema de particiones:
- 1 GB para swap (/dev/sda1),
- 12 GB para la raíz (/dev/sda2),
- 107 GB para /home (/dev/sda3), es decir, el resto del disco.
Hasta aquí todo bien, pero qué pasa si el día de mañana el tamaño de la RAM aumenta a 2 GB? Para invernar habrá que aumentar la swap, y como ya se particionó todo el disco y no se dejó espacio lo que queda es reparticionar el disco, bien sea redimensionando con utilidades que lo permitan, siempre y cuando el sistema de archivo también lo permita (por ejemplo, los sistemas ext[2|3|4] permite redimensionamiento).
¿No existe algo más flexible? Si, se llama LVM (Logical Volume Manager) , y en esencia permite redimensionar en caliente las particiones, para por ejemplo, quitar 1GB de /home (/dev/sda3) y dárselo a la swap (/dev/sda1).
LVM (Logical Volume Manager)
Para poder usar LVM primero se debe asignar volúmenes físicos, luego asignar volúmenes de grupo y por último volúmenes lógicos. Todo esto parece confuso a la primera, pero vamos a explicar cada uno de estos términos y cómo se relacionan:
- Volúmenes físicos: Es el soporte final donde se guardaran los datos, y pueden ser varios discos o incluso particiones de un disco. No guarda relación directa con los puntos de montajes. Ejemplos de volúmenes físicos: /dev/sda , /dev/sdb1, etc.
- Volúmenes de grupo: Es la agrupación de los volúmenes físicos en un volumen que permite ver todos los discos y particiones como uno solo dispositivo. Ejemplo de volumen de grupo: /dev/vg00
- Volúmenes lógicos: Son los volúmenes donde irán nuestros sistemas de archivos (ext2, ext3,xfs,vfat, por ejemplo) y por ende los puntos de montaje (/, /home, swap, /usr, /var, etc). En este nivel es donde se hace el formateo del sistema de archivos a usar, y es donde los datos se distribuirán a nivel lógico, similar a las particiones que acostumbramos a usar. Ejemplo de volúmenes lógicos: /dev/vg00/lv_rootfs, /dev/vg00/lv_swap, /dev/vg00/lv_home.
Instalación de LVM
En Debian puede usarse LVM instalando el siguiente paquete:
aptitude install lvm2
En otras distribuciones como Fedora, Red Hat o el mismo Ubuntu deben buscar el nombre adecuado del paquete para su instalación.
Órdenes de LVM
Para crear un LVM con sus volúmenes físicos, de grupo y lógicos veamos algunas de las instrucciones que tenemos disponible:
Volúmenes físicos
| Orden | Descripción |
| pvcreate | Crea volúmenes físicos para ser usado por LVM |
| pvs | Muestra información acerca los volúmenes lógicos |
| pvdisplay | Muestra varios atributos de los volúmenes físicos |
| pvresize | Redimensiona volúmenes físicos |
| pvmove | Mueve datos de un volumen físico a otro. |
Volúmenes de grupo
| Orden | Descripción |
| vgcreate | Crea volúmnes de grupo para ser usado por LVM |
| vgs | Muestra información acerca de los volúmenes de grupo |
| vgdisplay | Muestra varios atributos de los volúmenes de grupo |
| vgextend | Agrega volúmenes físicos a un volumen de grupo |
| vfreduce | Quita volúmenes físicos del volumen de grupo |
| vgremove | Elimina volúmenes de grupo |
Volúmenes lógicos
| Orden | Descripción |
| lvcreate | Crea volúmnes lógicos para ser usado por LVM |
| lvs | Muestra información acerca de los volúmenes lógicos |
| lvdisplay | Muestra varios atributos de los volúmenes lógicos |
| lvresize | lvreduce | lvextend | Redimensiona volúmenes lógicos |
| lvmove | Elimina volúmenes lógicos del sistema |
Ejemplo de creación de un LVM
Supongamos que se tiene el disco /dev/sdb libre con 8 GB, con dos particiones de 4GB cada una (/dev/sdb1 y /dev/sdb2), y sobre estas particiones se quiere crear un LVM que alojará los puntos de montajes: La raíz (/) de 1 GB, la swap de 1 GB (swap) y el resto de los 6 GB al directorio de los usuarios (/home). Para hacer el LVM podemos escribir las siguientes órdenes:
root@buckbeak:~# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created root@buckbeak:~#pvcreate /dev/sdb2 Physical volume "/dev/sdb2" successfully created root@buckbeak:~# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 lvm2 a- 4.00g 4.00g /dev/sdb2 lvm2 a- 3.99g 3.99g root@buckbeak:~# vgcreate vg_group01 /dev/sdb1 /dev/sdb2 Volume group "vg_group01" successfully created root@buckbeak:~# vgs VG #PV #LV #SN Attr VSize VFree vg_group01 2 0 0 wz--n- 7.99g 7.99g root@buckbeak:~# lvcreate -n lv_rootfs vg_group01 -L 1G Logical volume "lv_rootfs" created root@buckbeak:~# lvcreate -n lv_swap vg_group01 -L 1G Logical volume "lv_swap" created root@buckbeak:~# lvcreate -n lv_home vg_group01 -L 6G Volume group "vg_group01" has insufficient free space (1534 extents): 1536 required root@buckbeak:~# lvcreate -n lv_home vg_group01 -l 1534 Logical volume "lv_home" created root@buckbeak:~# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert lv_home vg_group01 -wi-a- 5.99g lv_rootfs vg_group01 -wi-a- 1.00g lv_swap vg_group01 -wi-a- 1.00g
Ahora se puede dar el sistema de archivo para cada uno de los volúmenes lógicos:
root@buckbeak:~# mkfs.ext4 /dev/vg_group01/lv_rootfs 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 34 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. root@buckbeak:~# mkfs.ext4 /dev/vg_group01/lv_home 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 393216 inodes, 1570816 blocks 78540 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1610612736 48 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 20 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. root@buckbeak:~# mkswap /dev/vg_group01/lv_swap mkswap: /dev/vg_group01/lv_swap: warning: don't erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 1048572 KiB no label, UUID=e743b4f3-1c80-4503-be88-6934d575cd55 root@buckbeak:~# swapon /dev/vg_group01/lv_swap root@buckbeak:~# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2064376 8 -1 /dev/dm-5 partition 1048568 0 -2
Si se quieren usar estos volúmenes lógicos, bien puenden montarse con la orden mount o especificarlos en el archivo /etc/fstab para que sea montados al iniciar el sistema.
Planeta Linux
Sígueme