Lvm

De 33system wiki
Saltar a: navegación, buscar

<< Informatica

lvm

Teoría

Práctica

Básico

# instalamos los paquetes de lvm
apt-get install lvm2 lvm-common
# inicializamos la particion 7 del dispositivo raid como lvm
pvcreate /dev/md7
# mostramos la informacion de los dispositivos fisicos 
pvs
# creamos un grupo de volumenes llamado virt sobre /dev/md7
vgcreate virt /dev/md7
# creamos un volumen de 400GB con el nombre vserver sobre el grupo virt
lvcreate -L 400G -n vserver virt
# creamos un volumen de 50GB con el nombre isos sobre el grupo virt
lvcreate -L 50G -n isos virt
# creamos un volumen de 310GB con el nombre backup sobre el grupo virt
lvcreate -L 310G -n backup virt
# mostramos la informacion del grupo de volumenes
vgdisplay
# mostramos la informacion de los volumenes creados
lvdisplay

# Antes de redimensionar un volumen es necesario desmontarlo #
# aumentamos en 5GB el tamaño del volumen vserver
lvextend -L+5G /dev/virt/vserver
# aumentamos el tamaño del volumen isos [solo funciona si el tamaño (60) es mayor que el actual]
lvextend -L60G /dev/virt/isos
# reducimos el tamaño del volumen backup en 10GB
lvreduce -L-10G /dev/virt/backup

# cambiamos el nombre del volumen backup a backups
lvrename /dev/virt/backup /dev/virt/backups

# formateo de particiones #
# formateamos los volumenes como ext4
mkfs.ext4 /dev/virt/vserver
mkfs.ext4 /dev/virt/isos
mkfs.ext4 /dev/virt/backups

# montamos los volumenes en los directorios asignados #
# añadimos al final del archivo /etc/fstab las lineas de montado
vim /etc/fstab
=========================================================================================
# lvm 
/dev/virt/backups	/var/backups	ext4	defaults	0	0
/dev/virt/vserver	/opt/virt/vserver	ext4	defaults	0	0
/dev/virt/isos	/opt/virt/isos	ext4	defaults	0	0
=========================================================================================
# montamos las particiones
mount -a

Redimensionar un volumen con formato ext4

Reducción
# desmontamos el volumen
umount /dev/virt/pruebas
# revisamos el volumen en busca de fallos
e2fsck -f /dev/virt/pruebas
# redimensionamos el sistema de ficheros
resize2fs -p /dev/virt/pruebas 30G
# modificamos el tamaño del volumen
lvreduce -L 30G /dev/virt/pruebas
# revisamos el volumen en busca de fallos
e2fsck -f /dev/virt/pruebas
# montamos el volumen
mount /dev/virt/pruebas /mnt
Aumento
# desmontamos el volumen
umount /dev/virt/pruebas
# revisamos el volumen en busca de fallos
e2fsck -f /dev/virt/pruebas
# modificamos el tamaño del volumen
lvextend -L+50G /dev/virt/pruebas
# redimensionamos el sistema de ficheros
resize2fs -p /dev/virt/pruebas 80G
# revisamos el volumen en busca de fallos
e2fsck -f /dev/virt/pruebas
# montamos el volumen
mount /dev/virt/pruebas /mnt

Cambiar el nombre del grupo de volumenes

vgrename <original> <desired>

Migrar volúmenes de un servidor a otro

## instalamos el paquete PV para medir la transferencia de archivos
apt-get install pv
# lanzamos el comando para copiar el sistema de archivos a través de ssh
dd if=/dev/VolumeGroup/LogicalVolume bs=4096 | pv | ssh root@192.168.0.20 dd of=/dev/VolumeGroup/LogicalVolume bs=4096
# ó con compresion
dd if=/dev/volumegroupname/logicalvolume bs=4096 | pv | gzip | ssh root@78.46.36.22 'gzip -d | dd of=/dev/volumegroupname/logicalvolume'  bs=4096
  • Script para clonar estructura de volumenes
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

for i in $(lvdisplay | grep "LV Name" | awk '{print $3}'); do
  tamano=$(lvdisplay $i | grep "LV Size" | awk '{print $3}'| sed 's|,00||g')
  nombre=$(echo $i | awk -F'/' '{print $4'})
  destino="destination.33system.com"

  echo $nombre
  ssh root@$destino lvcreate -L $tamano\G -n $nombre virt
# ssh root@$destino lvremove -f $i
  dd if=$i bs=4096 | pv | gzip | ssh root@$destino 'gzip -d | dd of='$i''  bs=4096
  echo "- - -"
done

Montar particiones de un disco duro alojado en un LVM desde el host

kpartx -av /dev/mapper/vg-volume
# apareceran las nuevas particiones
ls /dev/mapper
  /dev/mapper/vg-volume
  /dev/mapper/vg-volume1
  /dev/mapper/vg-volume2
  /dev/mapper/vg-volume5

Herramienta gráfica de gestión de volúmenes

apt-get install system-config-lvm

Documentación