viernes, 3 de febrero de 2012

Instalación y uso de LVM en Ubuntu


Instalación de LVM
Por defecto el kernel de GNU/Linux viene soporte para LVM. Para poder trabajar con LVM es necesario la instalación del paquete lvm2 el cual contiene todo el software necesario para configurar/administrar las particiones gestionadas por LVM. Con este fin se hace uso del comando:




ej@tolinux0:~$ sudo apt-get install lvm2                                                                                     
Particionamiento del disco duro
Para particionar el disco se usa fdisk:
ej@tolinux0:~$ sudo fdisk /dev/sdd                                                                                            
n  //nueva partición.
p  //primaria.
3 //número de la partición.
143 //primer cilindro (opción por defecto).
191 //último cilindro (opción por defecto).
p //ver el estado actual de las particiones.
t // cambiar el tipo de partición.
3 //partición número tres.
8e //partición LVM
p// ver el estado actual de las particiones.
w //escribir los cambios.
ej@tolinux0:~$ sudo fdisk /dev/sde                                                                                            
n  //nueva partición.
p  //primaria.
1 //número de la partición.
1 //primer cilindro (opción por defecto).
130 //último cilindro (opción por defecto).
p //ver el estado actual de las particiones.
t // cambiar el tipo de partición.
1 //partición número tres.
8e //partición LVM
p// ver el estado actual de las particiones.
w //escribir los cambios.
Definir los volúmenes físicos.
Para el trabajo con los volúmenes físicos, se cuenta principalmente con los siguientes comandos:
·         pvcreate, para crear nuevos volúmenes físicos.
·         pvscan, para mostrar los volúmenes físicos creados.
·         pvdisplay, para mostrar las características de un volumen físico.
·         pvchange, para cambiar atributos de un volumen físico.
·         pvmove, para mover los datos a otro volumen físico.
Creamos un volumen físico con la partición (/dev/sdd3) usando el siguiente comando:
ej@tolinux0:~$ sudo pvcreate /dev/sdd3                                                                                     
Luego se crea el otro volumen físico usando lapartición /dev/sde1.
ej@tolinux0:~$ sudo pvcreate /dev/sde1                                                                                     
Una vez creados ambos volúmenes físicos ejcutamos el comando pvscan para ver el estado de los mismos:
ej@tolinux0:~$ sudo pvscan                                                                                                           
  PV /dev/sdd3         lvm2 [1.91 GB]
  PV /dev/sde1         lvm2 [1019.53 MB]
  Total: 2 [2.90 GB] / in use: 0 [0   ] / in no VG: 2 [2.90 GB]
Definir los volúmenes de grupo
Un volumen de grupo (volume group) es la unión de uno o varios volúmenes físicos en
 un volumen administrativo. Para hacernos una idea, seria un disco duro virtual que
 puede estar formado por uno o varios discos duros físicos. A continuación los comandos más usados para el trabajo con el mismo:
·         vgcreate, para crear nuevos volúmenes de grupo.
·         vgscan, para mostrar los volúmenes de grupo creados.
·         vgdisplay, para mostrar las características de un volumen de grupo.
·         vgremove, para eliminar un volumen de grupo.
·         vgreduce, para eliminar volúmenes físicos de un volumen de grupo.
·         vgextend, para añadir volúmenes físicos de un volumen de grupo.
Ahora se crea un volumen lógico con los dos volúmenes físicos que creamos anteriormente usando el siguiente comando:
ej@tolinux0:~$ sudo vgcreate datos /dev/sdd3 /dev/sde1                                                            
  Volume group "datos" successfully created
Para conformar la creación de este se ejecuta el comando:
ej@tolinux0:~$ sudo vgscan                                                                                                      
  Reading all physical volumes.  This may take a while...
  Found volume group "datos" using metadata type lvm2
Definir los volúmenes lógicos
Un volumen lógico es el equivalente a una partición en un disco duro.Los comandos mas usados para el trabajo con el mismo son:
·         lvcreate, para crear nuevos volúmenes lógicos.
·         lvscan, para mostrar los volúmenes lógicos creados.
·         lvdisplay, para mostrar las características de un volumen lógico.
·         lvremove, para eliminar un volumen de lógico.
·         lvreduce, para reducir el tamaño del volumen lógico.
·         lvextend, para aumentar el tamaño del volumen lógico.
·         lvrename, para renombrar el tamaño del volumen lógico.
A continuación se crea un volumen lógico (partición lógica) con un tamaño de 1.5GB:
ej@tolinux0:~$ sudo lvcreate -L1.5G -n vol1 /dev/datos                                                   
Luego se puede crear otro volumen lógico con el resto del espacio disponible en el volumen de grupo. Para saber el espacio que queda disponible en el volumen de grupo, se puede usar el comando:
ej@tolinux0:~$ sudo vgdisplay                                                                                                   
Este comando brinda información importante sobre el volumen de grupo. La información relacionada con el espacio disponible es: Free  PE / Size       358 / 1.4 GB
Para crear el  nuevo volumen lógico se ejecuta:
ej@tolinux0:~$ sudo lvcreate -l358 -n vol2 /dev/datos                                                                  
En este caso en vez de pasar como parámetro -L y el tamaño se hace uso de -l358 que significa “Logical Extents Number” y es más exacto que el tamaño en GB o MB.
Una vez definidos los volúmenes lógicos, se pueden ver los mismos haciendo uso del comando:
ej@tolinux0:~$ sudo lvscan                                                                                                       
  ACTIVE            '/dev/datos/vol1' [1.50 GB] inherit
  ACTIVE            '/dev/datos/vol2' [1.40 GB] inherit
Dar formato a los volúmenes lógicos
Ahora, ya se puede dar formato a los volúmenes lógicos. Se trabaja con ellos
 exactamente igual que con una partición física, pero el dispositivo será
  /dev/volume_group_name/logical_volume_name
En este caso ejecutamos los siguientes comandos:
ej@tolinux0:~$ sudo mkfs -t ext3 /dev/datos/vol1      // Dar formato extender 3.                
ej@tolinux0:~$ sudo mkdir /mnt/vol1                 // Crear un punto de montaje para Vol1.    
ej@tolinux0:~$ sudo mount /dev/datos/vol1 /mnt/vol1/      // Montar Vol1.                         

ej@tolinux0:~$ sudo mkfs -t ext3 /dev/datos/vol2      // Dar formato extender 3.                
ej@tolinux0:~$ sudo mkdir /mnt/vol2                 // Crear un punto de montaje para Vol1.    
ej@tolinux0:~$ sudo mount /dev/datos/vol2 /mnt/vol2/      // Montar Vol1.                         
Por último se pueden agregar las siguientes líneas en el fichero /etc/fstab para que los volúmenes lógicos sean montados siempre que el sistema arranque:
/dev/data/vol1 /mnt/vol1 ext3 defaults 0 0                                                                                             
/dev/data/vol2 /mnt/vol2 ext3 defaults 0 0                                                                                             
Añadir particiones físicas al grupo de volúmenes
Puede que en algún momento se quede sin espacio libre un grupo de
 volúmenes. Ante situación la idea es añadir más volúmenes físicos al grupo.
Como se hizo anteriormente, lo primero es crear la partición:
ej@tolinux0:~$ sudo fdisk /dev/sdf                                                                                             
n  //nueva partición.
p  //primaria.
1 //número de la partición.
1 //primer cilindro (opción por defecto).
130 //último cilindro (opción por defecto).
p //ver el estado actual de las particiones.
t // cambiar el tipo de partición.
8e //partición LVM
p// ver el estado actual de las particiones.
w //escribir los cambios.
Ahora debe crearse el volumen físico:
ej@tolinux0:~$ sudo pvcreate /dev/sdf1                                                                                     
Luego debe extenderse el volumen de grupo con el volumen físico creado:
ej@tolinux0:~$ sudo vgextend datos /dev/sdf1
  Volume group "datos" successfully extended

Ahora la partición /dev/sdf1 forma parte del volumen de grupo “datos” y se podrá crear o
aumentar más particiones lógicas.

Para ver el nuevo tamaño del volumen de grupo se puede ejecutar:
ej@tolinux0:~$ sudo vgdisplay                                                                                                   
Modificar el tamaño de los volúmenes lógicos
Lo primero que de debe hacer antes de modificar el tamaño de un volumen lógico es  desmontarlo. Para desmontar el volumen de ejecuta el siguiente comando:
ej@tolinux0:~$ sudo umount /mnt/vol1                                                                                       
Existen dos opciones, o decirle el tamaño final de la partición:
# lvextend -L10G /dev/datos/vol1
# lvreduce -L1G /dev/datos/vol1

O bien decirle el tamaño a aumentar/reducir:
# lvextend -L+1G /dev/datos/vol1
# lvreduce -L-1G /dev/datos/vol1

En este caso vamos a usar la opción del “tamaño a aumentar”.
 Para ello ejecutamos:
ej@tolinux0:~$ sudo lvextend -L+1016M /dev/datos/vol1
Extending logical volume vol1 to 2.49 GB
Logical volume vol1 successfully resized

El valor del volumen a aumentar se extrae de los resultados devueltos por el comando:
ej@tolinux0:~$ sudo vgdisplay                                                                                                     
Al ejecutarse lvscan se puede ver el nuevo tamaño del volumen lógico:
ej@tolinux0:~$ sudo lvscan
ACTIVE            '/dev/datos/vol1' [2.49 GB] inherit
ACTIVE            '/dev/datos/vol2' [1.40 GB] inherit

Como se hace uso de ext3, se usará la herramienta resize2fs (del paquete e2fsprogs)
para darle formato a la partición. Antes de hacer esto es necesario ejecutar e2fsck para
chequear que el sistema de archivos ext3 se encuentra en buen estado.
ej@tolinux0:~$ sudo e2fsck -f /dev/datos/vol1                                                                                        
ej@tolinux0:~$ sudo resize2fs /dev/datos/vol1
resize2fs 1.38 (30-Jun-2005)

Resizing the filesystem on /dev/datos/vol1 to 653312 (4k) blocks.

The filesystem on /dev/datos/vol1 is now 653312 blocks long.
Luego se vuelve a montar la partición, normalmente, con el mount como se ha echo antes:

ej@tolinux0:~$ sudo mount -t ext3 /dev/datos/vol1 /mnt/vol1                                                       
Es bueno aclarar que ninguno de los datos almacenados en el volumen lógico aumentado corren riesgo de perderse.

No hay comentarios:

Publicar un comentario