En este momento estás viendo RAID y LVM. Sistemas de almacenamiento

RAID y LVM. Sistemas de almacenamiento

RAID y LVM. Sistemas de almacenamiento

Vamos a crear un raid 1, también llamado espejo, con dos discos, que nos proporcione redundancia y mayor velocidad de lectura y escritura. Sobre el raid crearemos un sistema LVM, que nos permitirá la posibilidad de redimensionar los volúmenes y realizar capturas de estado, añadiendo seguridad a nuestro sistema de almacenamiento, y facilitando su administración.

Este procedimiento lo podemos implementar directamente sobre el hardware y después instalar el sistema operativo. En este caso añadiremos a una máquina dos discos y crearemos un raid 1 con ellos. Sobre este raid crearemos un volumen lógico (LVM), haremos las particiones, las formatearemos y las montaremos en nuestro sistema de ficheros.

Sumario

  • Consideraciones previas
    • Definición de raid
    • Definición de LVM
  • Creación de un RAID 1
  • Creación de LVM
  • Formateo de las particiones (Volúmenes lógicos)
  • Montaje de los sistemas de ficheros

Consideraciones previas

Vamos a ver que es un raid y que es LVM, ya que nos ofrece diferentes alternativas.

Definición de raid

En informática, el acrónimo RAID (del inglés Redundant Array of Independent Disks, «conjunto redundante de discos independientes») hace referencia a un sistema de almacenamiento que usa múltiples discos duros entre los que distribuye o replican los datos.

Dependiendo de su configuración (a la que suele llamarse «nivel»), los beneficios de un RAID respecto a un único disco son uno o varios de los siguientes: mayor integridad, mayor tolerancia a fallos, mayor throughput (rendimiento) y mayor capacidad.

Puedes encontrar algo más de información sobre RAid en este enlace, donde se habla sobre la «reconstrucción de datos en discos duros».

Con un RAID 1 creamos una copia exacta (o espejo) de un conjunto de datos en dos o más discos. Esto resulta una ventaja muy útil cuando el rendimiento en lectura y escritura, y la seguridad, son más importantes que la capacidad, ya que perdemos la mitad del espacio de almacenamiento.

Tenemos que tener claro que un conjunto RAID 1 sólo puede ser tan grande como el más pequeño de sus discos. Es decir, al crear un espejo de los discos, solo dispondremos del espacio que ofrezca el más pequeño de ellos. Un RAID 1 clásico consiste en dos discos en espejo, lo que incrementa exponencialmente la fiabilidad respecto a un solo disco; es decir, la probabilidad de fallo del conjunto es igual al producto de las probabilidades de fallo de cada uno de los discos (pues para que el conjunto falle es necesario que lo hagan todos sus discos).

Tenemos dos opciones para la creación del raid. Hacerlo por hardware o por software.

Hardware

El manejo de los discos es realizado por el hardware del equipo, de manera que al sistema operativo se le ofrece un único disco, pudiendo ser en realidad cualquier tipo de RAID manejado por el hardware del equipo. Esta configuración la realizaremos directamente desde el BIOS, si el firmware de la motherboard cuenta con los drivers necesarios para poder manejar la controladora RAID por hardware. Es decir, si en un servidor contamos con tres discos y creamos un RAID5 por hardware, e instalamos un sistema operativo capaz de manejar la controladora de RAID, este verá un único disco duro que podremos particionar, formatear y utilizar como creamos oportuno, contando siempre con la seguridad y el rendimiento que nos ofrece el RAID.

Software

En un RAID creado por software, es el propio sistema operativo el que se encarga de la gestión del RAID. Tiene la ventaja de que podemos realizar el RAID con particiones en lugar de discos completos, y que no necesitaremos una motherboard con drivers específicos para el controlador hardware. Pero tiene el inconveniente de que consumirá recursos del sistema operativo para gestionar el RAID.

Definición de LVM

LVM (Logical Volume Manager) es una implementación de un gestor de volúmenes lógicos para el núcleo Linux, se utiliza para gestionar el espacio de almacenamiento. LVM establece una capa lógica entre el sistema de ficheros y las particiones del almacenamiento de datos utilizado. Esto le permite crear un sistema de ficheros que abarque varias particiones y/o discos. De este modo, por ejemplo, se puede combinar el espacio de almacenamiento de varias particiones o soportes de datos.

Este sistema aporta más ventajas a la implementación ya que podemos crear, ampliar o reducir los volúmenes lógicos (LV), sobre la marcha, sin necesidad de formatear los soportes de almacenamiento, tendremos los datos distribuidos por varios soportes, aumentando el rendimiento del sistema y es posible la realización de snapshots. Puedes ver como se implementa en este enlace a «lvm que es como se instala y gestiona»

Estructura de la implmentación

Creación de un RAID 1

Vamos a añadir dos discos de 5 Gb a una máquina y configuraremos un RAID 1 con ellos por software. Para ello tenemos que crear dos particiones del mismo tamaño (requisito de RAID-1), ya que se va a realizar un espejo entre el contenido de ambas. De esta manera conseguiremos mayor seguridad en los datos en caso de que uno de los discos falle, y duplicar la velocidad de lectura del disco.

Vemos los disco instalados con el comando «lsblk»

Comenzamos. En primer lugar tenemos que crear las particiones en nuestros discos. Para ello utilizamos el comando «fdisk», con los dos discos. Una vez que nos encontremos en la tabla de particiones crearemos una única partición con todo el espacio que tengamos del tipo «LINUX RAID AUTODETECT», después repetimos el proceso para el segundo disco.

Si no tuviésemos instalado el paquete «mdadm» lo instalamos

En Ubuntu/Debian

apt-get install mdadm

Red Hat y otras distribuciones que usan el gestor yum

yum -y install mdadm

Para crear el RAID utilizamos el comando «mdadm» (Multiple Device Administrator) con la siguiente sintaxis:

mdadm –-create /dev/md0 –-level=1 –-raid-devices=2 /dev/sd[lasletrasasignadas]

sudo mdadm –-create /dev/md0 –-level=1 –-raid-devices=2 /dev/sd[bc]
Creación del RAID 1

Si lo hiciésemos con particiones, en vez de con discos, deberíamos añadir el número de partición al final del comando. Nos puede dar un error «mdadm: you haven’t given enough devices (real or missing) to create this array» por no tener las particiones hechas.

Así creamos un RAID 1 llamado rd0 (/dev/md0) que contiene las particiones de los dos discos. Podemos ver el estado del raid ejecutando el comando mdadm con los siguientes parámetros

sudo mdadm --misc --detail /dev/md0
Comprobamos el RAID 1

Creación de LVM

Una vez creado el raid, podríamos instalar el sistema directamente en el, pero por las ventajas que ofrecen los volúmenes lógicos como hemos visto antes, posibilidad de realizar capturas de estado, y redimensionar volúmenes, creamos un volumen lógico sobre el RAID1 para realizar la instalación.

De nuevo, si no tenemos instalado el paquete lvm2, lo tendremos que instalar.

En Ubuntu/Debian

sudo apt-get install lvm2

Red Hat y otras distribuciones que usan el gestor yum

yum -y install lvm2

Y vamos con la configuración. Añadimos el volumen físico.

sudo pvcreate /dev/md0
Añadir volumen físico

Y lo comprobamos con

sudo pvdisplay
Comprobación volumen físico

A continuación, tenemos que crear un volumen de grupo al que vamos a llamar «sharefiles»

sudo vgcreate sharefiles /dev/md0
Creamos VG «sharefiles»

y lo comprobamos con «vgdisplay»

Comprobamos el volumen de grupo

Ahora que tenemos el volumen de grupo, creamos 3 volúmenes lógicos de 1 Gb cada uno, a los que nombraremos como «public», «private» y «shared».

sudo lvcreate --name public --size 1Gb sharefiles
sudo lvcreate --name private --size 1Gb sharefiles
sudo lvcreate --name shared --size 1Gb sharefiles
Creamos los LV

Lo comprobamos

sudo lvdisplay
Comprobamos LV

Formateo de las particiones (Volúmenes lógicos)

Les damos formato a las particiones, con ext4, con el comando «mkfs».

mkfs.ext4 /dev/sharefiles/public

mkfs.ext4 /dev/sharefiles/private

mkfs.ext4 /dev/sharefiles/shared
Formateamos con EXT4

Montaje de los sistemas de ficheros

Para tener las particiones creadas montadas en el sistema de forma permanente en los directorios que queramos, tenemos que proceder de la siguiente manera. Primero creamos los directorios donde serán montadas. En nuestro caso las montaremos en los directorios «Publico», «Privado» y «Compartido». Los creamos y comprobamos que existen

mkdir ~/Publico ~/Privado ~/Compartido
cd ~/
ls -l
Creación directorios para punto de montaje

Para hacer un montaje permanente tenemos que editar el fichero «fstab» y añadir los puntos de montaje. Tienes más información de la sintaxis de este fichero en el artículo «Cambiar la ubicación del directorio home a otro disco».

sudo nano /etc/fstab

Y añadimos las lineas

/dev/sharefiles/public	/home/Publico	ext4	defaults	0	2
/dev/sharefiles/private	/home/Privado	ext4	defaults	0	2
/dev/sharefiles/shared	/home/Compartido	ext4	defaults	0	2
Fichero fstab

Y con esto hemos terminado nuestra implementación, ganando en seguridad y velocidad de lectura y escritura de datos.

Si tienes algún comentario que hacer sobre este artículo, al pie del post tienes un formulario para hacerlo.

Si quieres contactar conmigo por cualquier otro asunto relacionado con el sitio, en la página de contacto, tienes un formulario más adecuado.

Y para suscribirte y recibir las novedades publicadas, tienes un enlace en el pie de la página o desde aquí mismo.

Esta entrada tiene 2 comentarios

  1. Tu primo Alfonso

    Qué fácil lo expones!!!
    Como siempre, directo, sencillo. Muy didáctico.

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.