Software RAID para Linux
16 de junio de 2022El RAID por hardware tiene muchas ventajas. Sin embargo, a menos que esté ejecutando una gran infraestructura y realmente necesite los beneficios de HW RAID para una solución empresarial, yo prefiero un RAID Linux por software llamado mdadm porque ofrece muchas ventajas prácticas. Describiré los beneficios y cómo usar mdadm en este tutorial.
Puede averiguar qué es un RAID en wikipedia. Sólo señalaré que la gente suele confundir diferentes términos e impresiones, por lo que es una buena idea estudiar los términos exactos. RAID no es una copia de seguridad. RAID se utiliza para consolidar el espacio en disco o para proporcionar más disponibilidad de servicio o mejor rendimiento. Algunas placas base se venden con RAID, pero, en realidad, se trata de RAID por software + controlador de Windows. Este tipo de RAID se denomina fake RAID.
¿Qué RAID usar? RAID 0, RAID 1, RAID 5, RAID 6, RAID 10. RAID 1 es la elección más típica debido a la redundancia de datos, facilidad de uso y la necesidad de sólo un disco adicional. Por otro lado, el RAID 0 por sí solo es una elección completamente inapropiada para la implementación de servidores porque reduce la seguridad de la retención de datos. Su uso sólo es apropiado cuando estamos dispuestos a permitir fallos o pérdidas de datos - es decir, respaldo de datos.
Raid de vídeo
Puedes encontrar una descripción verbal de lo que es y no es RAID en este vídeo:
Linux Software RAID
El RAID por software de Linux, llamado mdadm, es una solución que está a nivel del kernel de Linux.
-
Sus principales ventajas son:
- estabilidad .
- independencia del HW .
- transparencia .
- capacidad de migrar entre diferentes HW y distribuciones de Linux .
Por cierto, si necesitas RAID, puedes usar no sólo mdadm sino también el sistema de ficheros BTRFS o la tecnología LVM.
Particionamiento del disco
El tamaño de la partición es individual a tus necesidades. Puedes usar las herramientas fdisk, cfdisk, parted o la gráfica gparted para particionar.
¿Cómo particionar? Podemos derivar fácilmente la partición del sistema existente, pero con RAID en mente, puede ser mejor elegir sólo una gran partición en todo el disco. La razón para una única partición con RAID en cada disco es el rendimiento. Esto se debe a que el controlador RAID intenta optimizar las lecturas desde el array y lee desde el primer disco que no hace nada o desde el disco desde el que solicitó acceso por última vez a la partición más cercana. (La situación se describe para RAID1) Dado que la última zona a la que se accedió se almacena en la información sobre cada array RAID, este algoritmo no se comportará de forma muy eficiente con múltiples arrays en un único disco.
Puede crear una disposición idéntica en un segundo disco simplemente usando este comando:
sfdisk -d /dev/sda | sfdisk /dev/sdb
Creación de un RAID
Creación de un RAID 1 a partir de dos discos
mdadm --create /dev/md1 l 1 -n 2 /dev/sda1 /dev/sdb2
A continuación, puede crear, por ejemplo, un sistema de archivos JFS en este dispositivo de bloque recién creado, montar el dispositivo en una estructura de directorios y empezar a guardar datos.
Crear un RAID 5 que se supone que tiene tres discos, pero de momento sólo tenemos dos:
mdadm --create /dev/md/data -l5 -n3 /dev/sdb3 /dev/sdd3 missing
Añadir un disco
Añade un nuevo disco sin usar al RAID:
mdadm /dev/md0 --add /dev/sdc1
Extracción del disco
El disco puede ser marcado como defectuoso por el sistema o podemos marcarlo manualmente:
mdadm /dev/md0 --fail /dev/sdc1
Eliminación de un disco defectuoso del RAID:
mdadm /dev/md0 --remove /dev/sdb1 /dev/sdc1
Si el disco se quita físicamente del servidor, todavía tiene que ser eliminado del RAID en el sistema. Porque de lo contrario se seguirá considerando como usado cuando se conecte a un PC.
Guardar configuración
Es una buena idea guardar la configuración de todos los RAIDs en un fichero de configuración.
Los RAIDs tienen que estar configurados.
Podemos pro-scanear el sistema y dejar la salida directamente al final del fichero de configuración:
mdadm --detail --scan >> /etc/mdadm/mdadm.confO hacer lo mismo para un array de discos específico:
mdadm --detail /dev/md1 --brief >>/etc/mdadm.conf
También es buena idea tener habilitado el servicio mdadm:
systemctl enable mdadm.service
Intercambiar un RAID
¿Cómo hacer un swap y un RAID?
-
Hay dos enfoques:
- Poner swap en RAID
- Poner swap en RAID1
No es aconsejable poner swap en un RAID por software debido a la posibilidad de bloqueo que puede ocurrir cuando el sistema se queda sin memoria libre. A mí personalmente nunca me ha pasado.
Si estás ejecutando un RAID 1 por software para proporcionar más disponibilidad y no pones el swap en RAID 1, entonces la muerte de un disco significará un fallo. Si intercambias a RAID 1 no pasa nada.
Yo pongo el swap en RAID 1.
Comprobando el estado del RAID
Puedes obtener una lista y detalles de todos los RAID usando el siguiente comando:
cat /proc/mdstat
Inicia la comprobación de datos en el RAID:
echo "check" > /sys/block/md1/md/sync_action
Comando para iniciar la sincronización del RAID:
echo reparar >/sys/block/md<#>/md/sync_action
El número de errores se puede rastrear en este archivo del RAID respectivo:
cat /sys/block/md*/md/mismatch_cnt
Si su sistema no pliega automáticamente la matriz de discos al arrancar, por ejemplo si está arrancando desde un CD de rescate, puede plegarla manualmente con este comando:
mdadm --assemble --verbose /dev/md1 /dev/sdb1
Detención de la matriz RAID:
mdadm --stop /dev/mdXi
Eliminar la información RAID del disco:
mdadm --zero-superblock /dev/XHaga esto si ha invalidado el RAID del disco. Esto eliminará todos los metadatos RAID y el sistema ya no considerará que el disco pertenece a un RAID.
Si está migrando el servidor a RAID debe asegurarse de que ha actualizado la configuración en el gestor de arranque, fstab archivo, y un nuevo initramfs archivo generado, de lo contrario no será capaz de boot con éxito.
Copias de seguridad
Asegúrese de configurar un gestor de arranque (típicamente GRUB) y escribirlo en todos los discos. De lo contrario, puede tener un problema arrancando el servidor si no hay gestor de arranque en ningún sitio.
Manual de Mdadm
Videotutorial sobre cómo crear un RAID1 por software en Linux:
Otros recursos y temas
Para más tutoriales sobre servidores Linux, consulta el ebook.
La próxima vez ampliaré la información referente a Gestión de volúmenes lógicos.
Artículos sobre un tema similar
VMware frente a Proxmox: comparación de rendimiento
GitLab CI/CD: automatización de pruebas y despliegue de aplicaciones
Migración de VPS de VMware a Proxmox
Cambio en las licencias de VMware
Ejecución de Microsoft SQL Server en Linux
Copia de seguridad: el Proxmox Backup Server
Linux como router y cortafuegos
Cómo subir una imagen Docker al Registro Docker
Linux: gestión de volúmenes lógicos
Ejecutar una aplicación web detrás de un proxy
Migración de correo electrónico
Construcción multietapa Docker
Copia de seguridad de los datos al encender el ordenador
Podman
Importación de Windows a la virtualización Proxmox
Docker y correo PHP
Virtualización Proxmox
Docker y Cron
Lenovo ThinkPad X1 Carbon: puesta en servicio del módem LTE EM7544
Proyecto Yocto: Cree un sistema operativo personalizado para dispositivos integrados
Preparación de un servidor Linux para ejecutar una aplicación web en Python
Cómo solucionar el bajo rendimiento de los archivos compartidos en Docker
Cómo empezar a utilizar Docker correctamente
Instalación de Linux en un servidor HPE ProLiant DL320e dedicado
Cómo poner a prueba una aplicación web
Por qué utilizar el sistema de archivos JFS
Cómo arrancar desde un disco de 4TB con GTP usando UEFI
Sistema de archivos Btrfs
Raspberry PI
WINE - ejecución de programas Windous en Linux
Sistema operativo GNU/Linux
Boletin informativo
Si está interesado en recibir noticias puntuales por correo electrónico.
Puedes registrarte rellenando tu email
suscripción de noticias.
+