LFCS: Ensamblaje de particiones como dispositivos RAID - Creación y administración de copias de seguridad del sistema - Parte 6


Recientemente, la Linux Foundation lanzó la certificación LFCS (Linux Foundation Certified Sysadmin), una oportunidad brillante para que los administradores de sistemas de todo el mundo demuestren, a través de un examen basado en el rendimiento, que son capaces de realizar soporte operativo general en sistemas Linux: soporte del sistema, primero -diagnóstico y monitoreo de nivel, además de escalada de problemas, cuando sea necesario, a otros equipos de soporte.

El siguiente video proporciona una introducción al programa de certificación de The Linux Foundation.

Esta publicación es la Parte 6 de una serie de 10 tutoriales, aquí en esta parte, explicaremos cómo ensamblar particiones como dispositivos RAID: creación y administración de copias de seguridad del sistema, que son necesarias para el examen de certificación LFCS.

Entendiendo RAID

La tecnología conocida como Matriz redundante de discos independientes ( RAID ) es una solución de almacenamiento que combina varios discos duros en una sola unidad lógica para proporcionar redundancia de datos y/o mejorar el rendimiento. en operaciones de lectura/escritura en disco.

Sin embargo, la tolerancia a fallos real y el rendimiento de E/S del disco dependen de cómo se configuran los discos duros para formar la matriz de discos. Dependiendo de los dispositivos disponibles y las necesidades de rendimiento/tolerancia a fallas, se definen diferentes niveles de RAID. Puede consultar la serie RAID aquí en Tecmint.com para obtener una explicación más detallada de cada nivel de RAID.

Guía de RAID : ¿Qué es RAID? Explicación de los conceptos de RAID y niveles de RAID

Nuestra herramienta de elección para crear, ensamblar, administrar y monitorear nuestros RAID de software se llama mdadm (abreviatura de administrador de múltiples discos).

---------------- Debian and Derivatives ----------------
# aptitude update && aptitude install mdadm 
---------------- Red Hat and CentOS based Systems ----------------
# yum update && yum install mdadm
---------------- On openSUSE ----------------
# zypper refresh && zypper install mdadm # 

El proceso de ensamblar particiones existentes como dispositivos RAID consta de los siguientes pasos.

Si una de las particiones se ha formateado anteriormente, o ha sido parte de otra matriz RAID anteriormente, se le pedirá que confirme la creación de la nueva matriz. Suponiendo que ha tomado las precauciones necesarias para evitar perder datos importantes que pueden haber residido en ellos, puede escribir y con seguridad y presionar Intro .

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

Para comprobar el estado de creación de la matriz, utilizará los siguientes comandos, independientemente del tipo de RAID. Estos son tan válidos como cuando estamos creando un RAID0 (como se muestra arriba), o cuando está en el proceso de configurar un RAID5, como se muestra en la imagen a continuación.

# cat /proc/mdstat
or 
# mdadm --detail /dev/md0	[More detailed summary]

Formatee el dispositivo con un sistema de archivos según sus necesidades/requisitos, como se explica en la Parte 4 de esta serie.

Indique al servicio de supervisión que “vigile” la matriz. Agregue la salida de mdadm –detail –scan a /etc/mdadm/mdadm.conf (Debian y derivados) o /etc/mdadm.conf (CentOS/openSUSE), así.

# mdadm --detail --scan
# mdadm --assemble --scan 	[Assemble the array]

Para asegurarse de que el servicio se inicie en el inicio del sistema, ejecute los siguientes comandos como root.

Debian y derivados, aunque debería comenzar a ejecutarse en el arranque de forma predeterminada.

# update-rc.d mdadm defaults

Edite el archivo /etc/default/mdadm y agregue la siguiente línea.

AUTOSTART=true
# systemctl start mdmonitor
# systemctl enable mdmonitor
# service mdmonitor start
# chkconfig mdmonitor on

En los niveles RAID que admiten redundancia, reemplace las unidades defectuosas cuando sea necesario. Cuando un dispositivo de la matriz de discos falla, se inicia automáticamente una reconstrucción solo si se agregó un dispositivo de repuesto cuando creamos la matriz por primera vez.

De lo contrario, debemos adjuntar manualmente una unidad física adicional a nuestro sistema y ejecutarlo.

# mdadm /dev/md0 --add /dev/sdX1

Donde /dev/md0 es la matriz que experimentó el problema y /dev/sdX1 es el nuevo dispositivo.

Puede que tenga que hacer esto si necesita crear una nueva matriz usando los dispositivos - ( Paso opcional ).

# mdadm --stop /dev/md0 				#  Stop the array
# mdadm --remove /dev/md0 			# Remove the RAID device
# mdadm --zero-superblock /dev/sdX1 	# Overwrite the existing md superblock with zeroes

Puede configurar una dirección de correo electrónico válida o una cuenta del sistema a la que enviar alertas (asegúrese de tener esta línea en mdadm.conf ). - ( Paso opcional )

MAILADDR root

En este caso, todas las alertas que recopila el demonio de monitoreo RAID se enviarán al buzón de correo de la cuenta raíz local. Una de estas alertas se parece a la siguiente.

Nota: Este evento está relacionado con el ejemplo en PASO 5 , donde un dispositivo fue marcado como defectuoso y el dispositivo de repuesto fue integrado automáticamente en la matriz por mdadm. Por lo tanto, " se agotaron " los dispositivos de repuesto en buen estado y recibimos la alerta.

El tamaño total de la matriz es n veces el tamaño de la partición más pequeña, donde n es el número de discos independientes en la matriz (necesitará al menos dos unidades). Ejecute el siguiente comando para ensamblar una matriz RAID 0 usando las particiones /dev/sdb1 y /dev/sdc1 .

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

Usos comunes : configuraciones que admiten aplicaciones en tiempo real donde el rendimiento es más importante que la tolerancia a fallas.

El tamaño total de la matriz es igual al tamaño de la partición más pequeña (necesitará al menos dos unidades). Ejecute el siguiente comando para ensamblar una matriz RAID 1 usando las particiones /dev/sdb1 y /dev/sdc1 .

# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

Usos habituales : instalación del sistema operativo o subdirectorios importantes, como /home .

El tamaño total de la matriz será ( n - 1 ) veces el tamaño de la partición más pequeña. El espacio " perdido " en ( n-1 ) se utiliza para el cálculo de paridad (redundancia) (necesitará al menos tres unidades).

Tenga en cuenta que puede especificar un dispositivo de repuesto (/dev/sde1 en este caso) para reemplazar una pieza defectuosa cuando ocurre un problema. Ejecute el siguiente comando para ensamblar una matriz RAID 5 usando las particiones /dev/sdb1 , /dev/sdc1 , /dev/sdd1 y /dev/sde1 como repuesto.

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1

Usos habituales : Web y servidores de archivos.

El tamaño total de la matriz será ( n * s) -2 * s , donde n es el número de discos independientes en la matriz y s es el tamaño del disco más pequeño. Tenga en cuenta que puede especificar un dispositivo de repuesto (/dev/sdf1 en este caso) para reemplazar una pieza defectuosa cuando ocurre un problema.

Ejecute el siguiente comando para ensamblar una matriz RAID 6 usando las particiones /dev/sdb1 , /dev/sdc1 , /dev/sdd1 , /dev/sde1 y /dev/sdf1 como repuesto.

# mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde --spare-devices=1 /dev/sdf1

Usos habituales : servidores de archivos y copias de seguridad con requisitos de gran capacidad y alta disponibilidad.

El tamaño total de la matriz se calcula según las fórmulas para RAID 0 y RAID 1 , ya que RAID 1 + 0 es una combinación de ambos. Primero, calcule el tamaño de cada espejo y luego el tamaño de la raya.

Tenga en cuenta que puede especificar un dispositivo de repuesto (/dev/sdf1 en este caso) para reemplazar una pieza defectuosa cuando ocurre un problema. Ejecute el siguiente comando para ensamblar una matriz RAID 1 + 0 usando las particiones /dev/sdb1 , /dev/sdc1 , /dev/sdd1 , /dev/sde1 y /dev/sdf1 como repuesto.

# mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]1 --spare-devices=1 /dev/sdf1

Usos comunes : servidores de aplicaciones y bases de datos que requieren operaciones de E/S rápidas.

Nunca está de más recordar que RAID con todas sus recompensas ¡NO ES UN REEMPLAZO DE BACKUPS! Escríbalo 1000 veces en la pizarra si es necesario, pero asegúrese de tener esa idea en mente en todo momento. Antes de comenzar, debemos tener en cuenta que no existe una solución única para todos para las copias de seguridad del sistema, pero aquí hay algunas cosas que debe tener en cuenta al planificar una estrategia de copia de seguridad.

  1. ¿Para qué utiliza su sistema? (¿Escritorio o servidor? Si se aplica el último caso, ¿cuáles son los servicios más críticos, cuya configuración sería un verdadero dolor de cabeza perder?)
  2. ¿Con qué frecuencia necesita realizar copias de seguridad de su sistema?
  3. ¿Cuáles son los datos (por ejemplo, archivos/directorios/volcados de bases de datos) que desea respaldar? También puede considerar si realmente necesita hacer una copia de seguridad de archivos grandes (como archivos de audio o video).
  4. ¿Dónde (es decir, el lugar físico y los medios) se almacenarán esas copias de seguridad?

Método 1 : Copia de seguridad de unidades completas con el comando dd . Puede realizar una copia de seguridad de un disco duro completo o de una partición creando una imagen exacta en cualquier momento. Tenga en cuenta que esto funciona mejor cuando el dispositivo está fuera de línea, lo que significa que no está montado y no hay procesos que accedan a él para operaciones de E/S.

La desventaja de este enfoque de copia de seguridad es que la imagen tendrá el mismo tamaño que el disco o la partición, incluso cuando los datos reales ocupen un pequeño porcentaje. Por ejemplo, si desea crear una imagen de una partición de 20 GB que solo está 10% llena, el archivo de imagen aún tendrá 20 GB en Talla. En otras palabras, no solo se realiza una copia de seguridad de los datos reales, sino de toda la partición. Puede considerar utilizar este método si necesita copias de seguridad exactas de sus dispositivos.

# dd if=/dev/sda of=/system_images/sda.img
OR
--------------------- Alternatively, you can compress the image file --------------------- 
# dd if=/dev/sda | gzip -c > /system_images/sda.img.gz 
# dd if=/system_images/sda.img of=/dev/sda
OR 

--------------------- Depending on your choice while creating the image  --------------------- 
gzip -dc /system_images/sda.img.gz | dd of=/dev/sda 

Método 2 : Realice una copia de seguridad de ciertos archivos / directorios con el comando tar , que ya se ha tratado en la Parte 3 de esta serie. Puede considerar utilizar este método si necesita mantener copias de archivos y directorios específicos (archivos de configuración, directorios de inicio de los usuarios, etc.).

Método 3 : sincronizar archivos con el comando rsync . Rsync es una versátil herramienta de copia de archivos remota (y local). Si necesita hacer una copia de seguridad y sincronizar sus archivos desde/hacia unidades de red, rsync es una opción.

Ya sea que esté sincronizando dos directorios locales o directorios locales <-> remotos montados en el sistema de archivos local, la sintaxis básica es la misma.

# rsync -av source_directory destination directory

Donde, -a se repite en subdirectorios (si existen), conserva enlaces simbólicos, marcas de tiempo, permisos y propietario/grupo original y -v detallado.

Además, si desea aumentar la seguridad de la transferencia de datos por cable, puede usar ssh sobre rsync .

# rsync -avzhe ssh backups [email protected]_host:/remote_directory/

Este ejemplo sincronizará el directorio de copias de seguridad en el host local con el contenido de /root/remote_directory en el host remoto.

Donde la opción -h muestra los tamaños de archivo en formato legible por humanos, y la marca -e se usa para indicar una conexión ssh.

Sincronización de directorios remotos → locales a través de ssh.

En este caso, cambie los directorios de origen y destino del ejemplo anterior.

# rsync -avzhe ssh [email protected]_host:/remote_directory/ backups 

Tenga en cuenta que estos son solo 3 ejemplos (los casos más frecuentes con los que es probable que se encuentre) del uso de rsync. Para más ejemplos y usos de los comandos rsync se pueden encontrar en el siguiente artículo.

Lea también : 10 comandos rsync para sincronizar archivos en Linux

Resumen

Como administrador de sistemas, debe asegurarse de que sus sistemas funcionen lo mejor posible. Si está bien preparado y si la integridad de sus datos está bien respaldada por una tecnología de almacenamiento como RAID y copias de seguridad regulares del sistema, estará seguro.

Si tiene preguntas, comentarios o más ideas sobre cómo se puede mejorar este artículo, no dude en hablar a continuación. Además, considere compartir esta serie a través de sus perfiles de redes sociales.