En el tema 2 vimos como crear un sistema LVM; algunas de sus ventajas son:
- LVM proporciona mucha más flexibilidad a la hora de distribuir el espacio disponible
- LVM permite mover y cambiar de tamaño los volúmenes creados bajo su control
- Existen varios beneficios inmediatos por usar LVM:
- Es posible aumentar y decrecer los volúmenes en caliente: esto permite redistribuir el espacio en las particiones según nos sea necesario; también se puede dejar espacio sin asignar e ir asignándolo según vaya siendo necesario
- Es posible añadir espacio de almacenamiento al sistema de volúmenes: si se añade un nuevo disco a la máquina se puede añadir este espacio a LVM y hacer crecer los volúmenes que contiene para aprovechar el nuevo espacio de almacenamiento
En este apartado veremos comandos para manejar sistemas LVM (nota: todos estos comandos tienen distintas opciones, ver páginas de manual)
- Información acerca de un grupo de volúmenes: vgdisplay o vgs
# vgdisplay GrupoVolumen
--- Volume group ---
VG Name GrupoVolumen
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 6
Open LV 6
Max PV 0
Cur PV 2
Act PV 2
VG Size 14,84 GB
PE Size 32,00 MB
Total PE 475
Alloc PE / Size 473 / 14,78 GB
Free PE / Size 2 / 64,00 MB
VG UUID N2NjFx-7ISe-J7hH-EX03-231w-XfbS-eCYfv0
- Información acerca de un volumen lógico: lvdisplay o lvs
# lvdisplay /dev/GrupoVolumen/homelv
--- Logical volume ---
LV Name /dev/GrupoVolumen/homelv
VG Name GrupoVolumen
LV UUID dI6BqF-LAeG-3fO9-jXcr-vNde-f7iF-y9Oa2l
LV Write Access read/write
LV Status available
# open 1
LV Size 1,00 GB
Current LE 32
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:1
- Información acerca de un volumen físico: pvdisplay o pvs
# pvdisplay /dev/hda2
--- Physical volume ---
PV Name /dev/hda2
VG Name GrupoVolumen
PV Size 9,88 GB / not usable 0
Allocatable yes (but full)
PE Size (KByte) 32768
Total PE 316
Free PE 0
Allocated PE 316
PV UUID U6rMMw-5Z9U-fhBH-4R6G-reeJ-ZVha-K4xyHs
Manejar volúmenes físicos y grupos de volúmenes
- Creación de un volumen físico (PV), sobre una partición tipo Linux LVM (8e)
# pvcreate /dev/hdc1
- Crear un grupo de volúmenes (VG), de nombre NuevoGrupo a partir de dos PVs
# vgcreate NuevoGrupo /dev/hda2 /dev/hdc1
- Activar un grupo de volúmenes: es necesario hacer esto antes de usarlo, pero normalmente el sistema lo hace por nosotros en el arranque
# vgchange -a y NuevoGrupo
- Borrar un VG (es necesario desactivarlo antes)
# vgchange -a n NuevoGrupo
# vgremove NuevoGrupo
- Añadir el PV /dev/hdc1 a un VG ya creado
# vgextend GrupoVolumen /dev/hdc1
- Quitar PVs de un VG
# vgreduce NuevoGrupo /dev/hda2
Trabajar con volúmenes lógicos
- Crear un volumen lógico (LV) de nombre testlv en el VG NuevoGrupo con un tamaño de 4.20 GB
# lvcreate -L4.20G -n testlv NuevoGrupo
- Crear un volumen lógico con nombre otrotestlv, con 2 stripes (número de volúmenes físicos entre los que se reparte el LV)
# lvcreate -i2 -L1G -n otrotestlv vg
- Destruir un volumen lógico (hay que desmontarlo antes)
# umount /dev/NuevoGrupo/otrotestlv
# lvremove /dev/NuevoGrupo/otrotestlv
- Agrandar un LV; se puede especificar el nuevo tamaño en bytes (-L) o LEs (-l), o la diferencia
# lvextend -L12G /dev/GrupoVolumen/homelv
# lvextend -L+1G /dev/GrupoVolumen/tmplv
# lvextend -l+200 /dev/GrupoVolumen/tmplv
- Reducir un LV: lvreduce funciona igual que el lvextend
Una vez creados los volúmenes lógicos sólo resta crear los sistemas de ficheros y montarlos
- se hace de la forma habitual (mkfs, mount)
# mkfs.ext3 /dev/GrupoVolumen/homelv
# mount -t ext3 /dev/GrupoVolumen/homelv /home
Si hemos agrandado un LV debemos agrandar el filesystem: comando fsadm
- Chequea y redimensiona un sistema de ficheros
- Front-end para los comandos específicos de diferentes filesystems (ext2/3/4, ReiserFS, XFS)
Ejemplo: aumenta a 2G el tamaño del filesystem
# fsadm resize /dev/mapper/volgr-usr 2048M
Si no se especifica tamaño, aumenta al máximo posible
Otros comandos dependen de cada filesystem particular:
- ext2/3/4
- comando resize2fs (en Debian, paquete e2fsprogs): permite alargar o encoger un filesystem ext2/3/etx44
# resize2fs /dev/GrupoVolumen/homelv
- ReiserFS
- comando resize_reiserfs o resizefs.reiserfs (en Debian, paquete reiserfsprogs)
- XFS
- el filesystem debe montarse que sea extensible; se usa el comando xfs_growfs (en Debian, paquete xfsprogs)
- JFS
- como XFS el filesystem debe montarse que sea extensible; se especifica el tamaño en el proceso de remontado:
# mount -o remount,resize=1048576 /home
Administración de Sistemas e Redes <ASR.USC[at]gmail.com>
Tomás Fernández Pena <tf.pena[at]usc.es>
Última actualización: 19-10-15 11:23 por tomas
Curso de Administración de Sistemas y Redes por Tomás Fernández Pena se distribuye bajo la licencia Creative Commons Recoñecemento-Compartir baixo a mesma licenza. 3.0 España.
Trabajo original en persoal.citius.usc.es/tf.pena/ASR.