lunes, 3 de septiembre de 2012

LVM


LVM

¿ Que es LVM ?
Sus siglas en ingles son Logical Volume Manager, es una funcion del kernel de linux que nos permite administrar los discos, por medio de LVM podemos aumentar o disminuir VL o VG cosa que no podemos hacer con los volumenes fisicos.

¿ Como funciona ? 
La base del LVM son los PV ( Volumenes Fisicos ) que son las particiones del disco con sistema LVM, con estos volumenes fisicos se crean los VG ( Grupos De Volumenes ) estos volumenes son los que nos proporcionan la cantidad de espacio que podemos asignar a todos los volumenes logicos que queramos crear y por ultimo estan lo LV ( Volumenes Logicos ) que son los volumens con los que trabajamos a la final, son a los que le implementamos el sistema de archivos y los podemos ver como dispositivos montados en un punto por ejemplo /home.

Fuente: http://madrigaladmin.blogspot.com/2011/08/implementacion-de-lvm.html


VOLUME GROUP     : (grupo volumen) Es el punto de abstracción más alto en LVM.Este concepto define la unión de varios volúmenes físicos y lógicos en una unidad administrativa.

PHYSICAL GROUP    : (grupo físico) Habitualmente es un disco duro, pero puede ser algo que parezca un disco duro (RAIDS por software)
LOGICAL VOLUME    : (volumen lógico) Es el equivalente a una partición en un sistema que no es LVM. El volumen lógico es visto como un dispositivo de bloque, ya que puede contener un sistema de ficheros.
PHYSICAL EXTENT    : (extensión física) Cada volumen físico está dividido en trozos de datos, eso es lo que se conoce como extensión física. Estas extensiones tienen el mismo tamaño que las extensiones lógicas para el grupo de volúmenes.
LOGICAL EXTENT    : (extensión lógica) Cada volumen lógico está dividido en trozos de datos, eso es lo que se conoce como extensión lógica. El tamaño de las extensiones es igual para todos los volúmenes lógicos en el grupo volumen.

Imagen desde: http://madrigaladmin.blogspot.com/2011/08/implementacion-de-lvm.html

COMANDOS.-
# fdisk /dev/sdc
Command (m for help): n
e extended
p primary partition (1-4)
p
Partition number (1-4):
1
First cylinder (1-1044, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044):
Using default value 1044
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# pvcreate /dev/sdc1
Con esto generamos el disco fisico, para que sea veo por el grupo de volúmenes de discos.
# vgcreate gv1 /dev/sdc1
Con esto generamos el grupo de volumenes.
# lvcreate -L 7,6 GB -n vl1 gv1
Con esto, se genera el Volumen Logico, desde cual puede ser accedido desde el Sistema Operativo.
# mkfs.ext3 /dev/gv1/vl1
Montamos la particion del volumen, par aver que todo este marchando como esperamos
mount /dev/gv1/vl1 /mnt
Una vez, que hacemos esto, booteamos el equipo. Si todo anda bien, al realizar un mount, veremos algo similar a esto.
debian:~# mount
/dev/sda3 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda2 on /boot type ext3 (rw)
/dev/mapper/gv1-vl1 on /var type ext3 (rw,errors=remount-ro)
Veamos la ultima linea,
/dev/mapper/gv1-vl1 on /var type ext3 (rw,errors=remount-ro)
Esto significa, que ya tenemos un volumen logico, y en el , montado el directorio /var.
Viendo las diferencias:
Realizando un df, vemos que el tamaño ocupado en /, disminuyo, y que se genero un volumen logico.
debian:/# df
S.ficheros Bloques de 1K Usado Dispon Uso% Montado en
/dev/sda3 2877872 618312 2113372 23% /
tmpfs 128484 0 128484 0% /lib/init/rw
udev 10240 68 10172 1% /dev
tmpfs 128484 0 128484 0% /dev/shm
/dev/sda2 279999 28188 237353 11% /boot
/dev/mapper/gv1-vl1 7845572 411752 7035280 6% /var
AGREGANDO DISCO A UN FS
Supongamos, aunque este no es el caso, que necesitamos agregar un disco nuevo, a nuestro volumen logico. Para esto, conectamos un disco mas, que nuestro OS, lo va a detectar como sdb, y obviamente, lo formateamos.
debian:/# pvcreate /dev/sdb1
Physical volume “/dev/sdb1″ successfully created
debian:/# vgextend gv1 /dev/sdb1
Volume group “gv1″ successfully extended
debian:/# vgdisplay -v
Finding all volume groups
Finding volume group “gv1″
— Volume group —
VG Name gv1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 9,99 GB
PE Size 4,00 MB
Total PE 2558
Alloc PE / Size 1946 / 7,60 GB
Free PE / Size 612 / 2,39 GB
VG UUID J3TtQI-wo2U-IQgp-DNvU-jsNz-lUo6-yPjYHW
— Logical volume —
LV Name /dev/gv1/vl1
VG Name gv1
LV UUID cqX3IW-N1Gq-xo75-NQDJ-hFyZ-p6Ia-0nVah6
LV Write Access read/write
LV Status available
# open 1
LV Size 7,60 GB
Current LE 1946
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:0
— Physical volumes —
PV Name /dev/sdc1
PV UUID gMTq2t-H27D-7X1a-vRAR-BJfo-56KW-oCR02x
PV Status allocatable
Total PE / Free PE 2047 / 101
PV Name /dev/sdb1
PV UUID Q4FSVy-IzHd-GZHx-bj0J-sW6j-7aJB-o1HW80
PV Status allocatable
Total PE / Free PE 511 / 511
### lvextend -L +1,6G /dev/gv1/vl1
Rounding up size to full physical extent 1,60 GB
Extending logical volume vl1 to 9,20 GB
Logical volume vl1 successfully resized
### resize2fs -p /dev/gv1/vl1
resize2fs 1.40-WIP (14-Nov-2006)
Filesystem at /dev/gv1/vl1 is mounted on /var; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/gv1/vl1 to 2412544 (4k) blocks.
The filesystem on /dev/gv1/vl1 is now 2412544 blocks long.
Ahora, realizaremos un df –k, para ver la nueva asignacion de espacio.
### df
S.ficheros Bloques de 1K Usado Dispon Uso% Montado en
/dev/sda3 2877872 618316 2113368 23% /
tmpfs 128484 0 128484 0% /lib/init/rw
udev 10240 68 10172 1% /dev
tmpfs 128484 0 128484 0% /dev/shm
/dev/sda2 279999 28188 237353 11% /boot
/dev/mapper/gv1-vl1 9498256 411756 8605240 5% /var
Y vemos, con en la ultima linea, disponemos de mayor espacio en var. Con esto, podemos imaginarnos un monton de utilidades.
COMANDOS UTILES PARA GESTION LVM
### COMANDO DE VOLUMEN FISICO
Pvchange         –>  Cambia los atributos de un volumen físico
pvcreate           –> Crea un volumen físico
pvdata             –> Muestra información de depuración sobre un volumen físico
pvdisplay         –> Muestra información sobre un volumen físico
pvmove                       –> Mueve extensiones físicas de un volumen físico a otro.
pvscan             –> Localiza y enumera todos los volúmenes físicosNotas:
### COMANDO DE GRUPO DE VOLUMEN
Vgcfgbackup    –> Hace una copia del área del descriptor de grupo volumen
vgcfgrestore    –> Recupera el área del descriptor de grupo volumen al disco
vgchange                     –> Cambia los atributos de un grupo volumen
vgck                –> Comprueba la consistencia del área del descriptor de grupo volumen
vgcreate                       –> Crea un grupo volumen a partir de volúmenes físicos
vgdisplay        –> Muestra los atributos de un grupo volumen
vgexport         –> Exporta un grupo volumen del sistema
vgextend          –> Añade volúmenes físicos a un grupo volumen
vgimport         –> Importa un grupo volumen al sistema
vgmerge          –> Combina dos grupos volumen
vgmknodes     –> Combina un directorio y los archivos especiales de un grupo volumen
vgreduce         –> Elimina volúmenes físicos de un grupo volumen
vgremove        –> Elimina un grupo volumen
vgrename        –> Renombra un grupo volumen
vgscan                         –> Localiza y enumera todos los grupos volumen del sistema
vgsplit             –> Divide un grupo volumen
### COMANDOS DE VOLUMEN LOGICO
lvchange                      –> Cambia los atributos de un volumen lógico
lvcreate                        –> Crea un volumen lógico
lvdisplay          –> Muestra los atributos de un volumen lógico
lvextend           –> Incrementa el tamaño de un volumen lógico
lvreduce           –> Reduce el tamaño de un volumen lógico
lvremove          –> Elimina un volumen lógico
lvrename          –> Renombra un volumen lógico
lvscan             –> Localiza y enumera todos los volúmenes lógicos, creando /etc/lvmtab y /etc/lvmtab.d/*
### COMANDOS ADMINISTRACION VOLUMENES LOGICOS
Lvmchange       –> Cambia los atributos del sistema LVM
lvmdiskscan     –> Localiza y enumera todos los discos disponibles, los dispositivos múltiples y las particiones
lvmsadc           –> Recoge información sobre la actividad de LVM
lvmsar              –> Muestra información sobre la actividad de LVM

No hay comentarios:

Publicar un comentario