Introducción:
Uno de los problemas más comunes con los que nos encontramos a veces es que nos quedamos cortos a la hora de definir nuestro esquema de particiones y debemos reformatear y particionar nuestro disco o particiones, o bien nos vemos en la necesidad de agregar nuevos discos a los ya existentes. Para facilitarnos estas tareas, entre otras cosas se incluyó LVM entre las capacidades del kernel de Linux.
Contenido:
Objetivos:
- Crear Volúmenes Lógicos.
- Asegurar nuestras particiones para restringir el acceso físico no autorizado a los datos.
- Poder aumentar y/o modificar los tamaños de las particiones en caso de ser necesario.
- Utilizar un fs con journalling.
Panorama
El sistema utilizado es un Debian Sarge, sobre un RAID5 por hardware, pero el efecto de la instalación será idéntico si lo hacemos en una partición sin arreglo o en un arreglo por Software.
La tecnología LVM
LVM son las siglas en inglés para Logical Volume Management (Administración de Volúmenes Lógicos).
- ¿Qué es LVM?
Uno de los problemas más comunes con los que nos encontramos a veces es que nos quedamos cortos a la hora de definir nuestro esquema de particiones y debemos reformatear y particionar nuestro disco o particiones, o bien nos vemos en la necesidad de agregar nuevos discos a los ya existentes. Para facilitarnos estas tareas, entre otras cosas se incluyó LVM entre las capacidades del kernel de Linux.
LVM es un concepto diferente respecto del manejo de la información, un nivel más alto que las particiones y los discos rígidos.
Terminología LVM
Los conceptos que manejamos son:
- Volumen físico: Representa una partición o disco rígido.
- Volumen lógico: Uno o más volúmenes físicos conforman un volumen lógico, similar a lo que llamamos comúnmente una partición, por ejemplo, un volumen lógico puede contener un sistema de archivos (/home, /var, etc).
- Grupo de Volúmenes: Uno o más volúmenes lógicos conforman un Grupo de Volúmenes. Similar a lo que normalmente usamos como un disco duro físico, sirve para unificar y administrar varios volúmenes lógicos.
-
¿Cómo funciona?
El VGDA (Volume Group Descriptor Area – Área de Descripción de Grupo de Volumen), funciona de manera similar a cómo funciona una tabla de particiones. Se localiza al comienzo de cada Volumen Físico, cada VGDA contiene la siguiente información:
- un descriptor de PV (Vol.Físico)
- un descriptor de VG (Grupo de Vol.)
- Los descriptores de los LV (Vol.Lógicos)
- Múltiples descriptores de PE (Physical Extents – la unidad de información de LVM)
Al arrancar el sistema, los Lvs y Vgs se activan y el VGDA se cargara en memoria.
El VGDA ayuda a identificar donde se alojan realmente los Lvs. Cuando el sistema desea acceder al dispositivo de almacenamiento, el mecanismo de mapeo, construido junto con el VGDA, es utilizado para acceder a la ubicación física real para efectuar las operaciones de E/S.
Configuración y puesta en marcha
Antes que nada, debemos tener instalados los paquetes y soporte en el kernel.
Como ya dijimos, utilizamos Debian Sarge, por lo cual ya sabemos que tenemos soporte nativo en el kernel. Deberías chequearlo para tu distribución, el kernel debe tener las siguientes opciones habilitadas:
Multi-device Support (RAID and LVM) –>
[*] Multiple devices driver support (RAID and LVM)
Logical volume manager (LVM) Support.
# apt-get install lvm2 |
nos instalará los paquetes necesarios.
Hay que tener en claro que, para transformar en lvm nuestro sistema, deberemos tener espacio suficiente en disco para mover temporalmente nuestra información desde la partición «común» a la nueva partición LVM. Por eso chequeamos nuestro espacio en disco:
# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 954M 447M 508M 47% / |
Crear particiones LVM
Podemos crear una partición LVM con fdisk, cfdisk u otra herramienta de particionado preferida, de la misma manera que creamos otro tipo de particiones, el código es 8e.
# fdisk /dev/sda |
Una vez creada la partición, verificamos con fdisk:
Device Boot Start End Blocks Id System /dev/sda1 * 1 506 4064413+ 83 Linux /dev/sda2 507 523 136552+ 5 Extended |
Crear Volúmenes Físicos
El comando para crear volúmenes físicos es pvcreate. Suponiendo que deseamos hacer un PV en /dev/sda3, y /dev/sda4, entonces:
# pvcreate /dev/sda3 pvcreate — -physical volume «/dev/sda3» successfully created |
Crear Grupos de volúmenes
Ahora, deberemos crear un grupo de Volumen, en el cual agruparemos los Pvs creados:
# vgcreate prueba /dev/sda3 /dev/sda4 vgcreate- — INFO: using default physical extent size 4 MB vgcreate- — INFO: maximum logical volume size is 255.99 Gigabyte |
Hemos creado un Grupo de Volumen llamado «prueba», el cual contiene a los volúmenes físicos /dev/sda3 y /dev/sda4. Podemos, además, si deseamos especificar el tamaño del «extent» (unidad mínima de inf) en el comando en el caso que el predeterminado de 4 MB no sea adecuado para nuestro objetivo.
Ahora, deberemos activar el Grupo de Volumen, mendiante el comando
# vgchange -ay prueba |
Para ver en detalle los VG en nuestro sistema:
# vgdisplay |
nos mostrará la información al respecto.
Crear Volúmenes Lógicos
Para crear volúmenes lógicos, utilizamos el comando lvcreate:
# lvcreate -L1G -nvolumen1 prueba |
Creamos un LV de 1 Gb llamado volumen1 en el VG prueba.
Crear un Sistema de Archivos
Ya estamos en condiciones de crear un filesystem en nuestra partición LVM (en éste caso reiserfs, pero puedes elegir el que te plazca, siempre que esté soportado por tu kernel ) :
# mkreiserfs /dev/prueba/volumen1 |
Por último, debemos montarlo para poder empezar a acceder:
# mkdir /mnt/lv1 |
Para que se monten automáticamente al inicio, agregamos en /etc/fstab:
/dev/prueba/volumen1 /mnt/lv1 reiserfs defaults 1 1 |
Crear la partición cifrada
Hasta aquí sería si queremos tener una partición LVM «cruda», pero como adelantamos en nuestro objetivos, además, deseamos tener nuestra información encriptada.
Para ello utilizaremos la capacidad del kernel 2.6 crypto.
Instalamos el paquete cryptsetup
# apt-get install cryptsetup |
Incluimos los módulos necesarios:
# modprobe dm_mod # modprobe dm_crypt # modprobe aes |
Ahora hacemos permanente la carga de los módulos:
# echo aes >> /etc/modules # echo dm_mod >> /etc/modules # echo dm_crypt >> /etc/modules |
A continuación, creamos la partición en la cual guardaremos la información cifrada (en nuestro caso /dev/prueba/volumen1:
# cryptsetup -y create info-crypt /dev/prueba/volumen1 |
Se nos pedirá ingresar la contraseña 2 veces. Cuidado!!! Si perdemos esta contraseña o introducimos de manera errónea, no podremos acceder a los datos guardados allí!.
Para hacer los cambios permanentes, debemos completar 2 pasos más:
agregar en /etc/fstab una línea con los siguientes datos:
/dev/prueba/volumen1 /info-crypt reiserfs defaults 0 1 |
y crear un archivo /etc/crypttab con los siguientes datos:
info-crypt /dev/prueba/volumen1 |
Por último, creamos el filesystem:
# mkfs.reiserfs /dev/prueba/volumen1 |
y lo montamos:
mount /info-crypt |
Verificamos que todo esté correcto:
# df -h |
Documentación consultada y recomendada:
Using the Logical Volume Manager – The Linux Gazette 84
LVM HowTo
Learning Linux LVM
EncryptedFilesystemHowto
Licencia del documento
El contenido de este documento está registrado bajo los términos de la licencia creative commons – Reconocimiento / Compartir Igual
Autor: Ricardo Frydman
URL: http://www.eureka-linux.com.ar