Nota:
- Este tutorial está disponible en un entorno de laboratorio gratuito proporcionado por Oracle.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por valores específicos de su entorno en la nube.
Creación de una matriz RAID de software en Oracle Linux
Introducción
Una matriz redundante de discos independientes o dispositivo RAID es un dispositivo virtual creado a partir de dos o más dispositivos de bloques reales. Esta funcionalidad permite combinar varios dispositivos (normalmente unidades de disco o particiones de un disco) en un único dispositivo para alojar un único sistema de archivos. Algunos niveles de RAID incluyen redundancia, lo que permite que el sistema de archivos sobreviva algún grado de fallo del dispositivo.
El núcleo de Oracle Linux utiliza el controlador de varios dispositivos (MD) para admitir RAID de software de Linux y permite organizar unidades de disco en dispositivos RAID e implementar diferentes niveles de RAID.
Para obtener más información sobre estos diferentes niveles de RAID, consulte la documentación de Oracle.
Este tutorial funcionará con la utilidad MD (mdadm
) para crear un dispositivo RAID1 con un repuesto y, a continuación, solucionar un fallo de disco.
Objetivos
- Cree un dispositivo RAID1 con un repuesto
- Recuperar un dispositivo RAID1 con fallos
Requisitos
Cualquier sistema Oracle Linux 8 con las siguientes configuraciones:
- un usuario no raíz con permisos sudo
- Volúmenes en bloque adicionales para usar con RAID de software de Linux
Configuración del entorno del laboratorio
Nota: Al utilizar el entorno de prácticas gratuitas, consulte Aspectos básicos de las prácticas de Oracle Linux para obtener información sobre la conexión y otras instrucciones de uso.
-
Si aún no está conectado, abra un terminal y conéctese mediante ssh a cada instancia mencionada anteriormente.
ssh oracle@<ip_address_of_instance>
-
Verifique que los volúmenes en bloque existen.
sudo lsblk
La salida del entorno de prácticas libres debe mostrar
/dev/sda
para el sistema de archivos existente y los discos disponibles/dev/sdb
,/dev/sdc
y/dev/sdd
.
Instalar la utilidad MD
-
Si aún no está disponible en el sistema, instale la utilidad MD.
Compruebe si
mdadm
está instalado.sudo dnf list --installed mdadm
Si no está instalado, instale
mdadm
.sudo dnf -y install mdadm
Nota: El entorno de prácticas libres ya tiene instalada la utilidad MD.
Cree un dispositivo RAID.
RAID1 proporciona redundancia y resiliencia de datos mediante la escritura de datos idénticos en cada unidad de la matriz. Si una unidad falla, un reflejo puede satisfacer las solicitudes de E/S. La creación de reflejos es una solución costosa porque el sistema escribe la misma información en todos los discos de la matriz.
Características de RAID1:
- Incluye redundancia.
- Utiliza dos o más discos con cero o más discos de reserva.
- Mantiene un reflejo exacto de los datos escritos en cada disco.
- Los dispositivos de disco deben tener el mismo tamaño.
- Si un dispositivo de disco es mayor que otro, el dispositivo RAID será el tamaño del disco más pequeño.
- Permite eliminar o fallar hasta n-1 dispositivos de disco mientras todos los datos permanecen intactos.
- Si el sistema sobrevive a un bloqueo y hay discos de repuesto disponibles, la recuperación del reflejo RAID1 se realiza de manera automática e inmediata tras la detección del fallo.
- El rendimiento de escritura más lento se produce en comparación con un único disco debido a la escritura de los mismos datos en varios discos del conjunto de reflejos.
-
Enumere las opciones disponibles para crear un dispositivo RAID.
El uso de
mdadm --help
muestra utilizar la opción--create
para crear una nueva matriz a partir de dispositivos no utilizados.sudo mdadm --create --help
-
Cree un dispositivo RAID1 con un disco de repuesto.
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sdd
--create:
: crea la nueva matriz--level
: nivel de redada--raid-devices
: número de dispositivos activos en la matriz--spare-devices
: número de dispositivos de repuesto (extra) en la matriz inicial
En este comando, el dispositivo (matriz) se denomina
/dev/md0
y utiliza/dev/sdb
y/dev/sdc
para crear el dispositivo RAID1. El dispositivo/dev/sdd
se utiliza automáticamente como reserva para recuperarse del fallo de cualquier dispositivo activo.Para aceptar el indicador
Continue creating array?
, escribay
y pulseENTER
.Resultado de ejemplo:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sdd mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 mdadm: size set to 52395008K Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
Creación de un sistema de archivos
-
Cree un sistema de archivos ext4 en el dispositivo RAID y móntelo.
sudo mkfs.ext4 -F /dev/md0 sudo mkdir /u01 sudo mount /dev/md0 /u01
-
Informar el uso del disco del sistema de archivos.
df -h
Resultado de ejemplo:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ df -h Filesystem Size Used Avail Use% Mounted on ... /dev/md0 49G 53M 47G 1% /u01
-
Agregue una entrada a /etc/fstab y haga que el punto de montaje sea persistente tras los reinicios.
echo "/dev/md0 /data01 ext4 defaults 0 0" | sudo tee -a /etc/fstab > /dev/null
Verificación del dispositivo RAID
-
Obtiene detalles de la matriz.
sudo mdadm --detail /dev/md0
Resultado de ejemplo:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Sat Jun 4 20:08:32 2022 Raid Level : raid1 Array Size : 52395008 (49.97 GiB 53.65 GB) Used Dev Size : 52395008 (49.97 GiB 53.65 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sat Jun 4 20:28:58 2022 State : clean, resyncing Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Consistency Policy : resync Resync Status : 59% complete Name : ol-mdadm-2022-06-04-180415:0 (local to host ol-mdadm-2022-06-04-180415) UUID : f6c35144:66a24ae9:5b96e616:f7252a9f Events : 9 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 2 8 48 - spare /dev/sdd
En la salida,
State
muestra que la matriz está limpia y se está resincronizando. El resysc siempre se produce después de la creación inicial de la matriz o después de la recuperación. La salida muestra que la resincronización está completa al 59%. -
Compruebe la información en tiempo real del núcleo.
sudo cat /proc/mdstat
Resultado de ejemplo:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdd[2](S) sdc[1] sdb[0] 52395008 blocks super 1.2 [2/2] [UU] [==================>..] resync = 92.2% (48341824/52395008) finish=2.7min speed=24677K/sec unused devices: <none>
Crear archivo de configuración de RAID
-
(Opcional) Agregue la configuración de RAID a
/etc/mdadm.conf
El archivo de configuración identifica qué dispositivos son dispositivos RAID y a qué matriz pertenece un dispositivo específico. Según este archivo de configuración,
mdadm
puede ensamblar las matrices en el momento del inicio.sudo mdadm --examine --scan | sudo tee -a /etc/mdadm.conf
Resultado de ejemplo:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --examine --scan | sudo tee -a /etc/mdadm.conf ARRAY /dev/md/0 metadata=1.2 UUID=f6c35144:66a24ae9:5b96e616:f7252a9f name=ol-mdadm-2022-06-04-180415:0 spares=1
Gestionar Dispositivos RAID
Estas opciones son para gestionar los dispositivos de componentes dentro de una matriz, como agregar, eliminar o fallar un dispositivo.
-
Enumere las opciones disponibles para gestionar un dispositivo RAID.
sudo mdadm --manage --help
--add
: agrega en caliente dispositivos posteriores.--remove
: elimine los dispositivos no activos posteriores.--fail
: marca los dispositivos posteriores como defectuosos.
-
Sincronice las escrituras en caché con el almacenamiento persistente.
Esto es necesario antes de ejecutar cualquier gestión de discos para garantizar que todas las cachés de discos se escriban en el disco.
sudo sync
-
Marcar un disco como fallido.
sudo mdadm --manage /dev/md0 --fail /dev/sdb
-
Obtener detalles de matriz.
sudo mdadm --detail /dev/md0
Resultado de ejemplo:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Sat Jun 4 20:08:32 2022 Raid Level : raid1 Array Size : 52395008 (49.97 GiB 53.65 GB) Used Dev Size : 52395008 (49.97 GiB 53.65 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sat Jun 4 21:34:19 2022 State : clean, degraded, recovering Active Devices : 1 Working Devices : 2 Failed Devices : 1 Spare Devices : 1 Consistency Policy : resync Rebuild Status : 1% complete Name : ol-mdadm-2022-06-04-180415:0 (local to host ol-mdadm-2022-06-04-180415) UUID : f6c35144:66a24ae9:5b96e616:f7252a9f Events : 19 Number Major Minor RaidDevice State 2 8 48 0 spare rebuilding /dev/sdd 1 8 32 1 active sync /dev/sdc 0 8 16 - faulty /dev/sdb
La matriz se marca como degraded y recovering. La salida también muestra que el dispositivo de repuesto
/dev/sdd
está reconstruyendo automáticamente la matriz, mientras que/dev/sdb
tiene fallos. -
Elimine el disco fallido.
sudo mdadm --manage /dev/md0 --remove /dev/sdb
-
Sustituir el disco con fallos.
Sustituya el disco físico fallido del servidor por uno nuevo.
Nota: No hay nada que hacer para este paso al utilizar el entorno de prácticas libres. El laboratorio volverá a utilizar el dispositivo
dev/sdb
existente. -
Elimine la firma linux_raid_member anterior.
Una firma, metadatos, se escribe en un disco cuando se utiliza en una matriz RAID, y el disco no se puede mover a otro sistema o volver a representar hasta eliminar esas firmas.
sudo wipefs -a -f /dev/sdb
Advertencia: El comando
wipefs
es destructivo y elimina toda la tabla de particiones del disco de destino (/dev/sdb
) y las firmas. -
Agregue un nuevo repuesto a la matriz.
sudo mdadm --manage /dev/md0 --add /dev/sdb
-
Verifique que el disco de repuesto exista.
sudo mdadm --detail /dev/md0
En la parte inferior de la salida, el dispositivo
/dev/sdb
debe aparecer en la lista con State establecido en spare.
Para obtener más información:
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Build a Software RAID Array on Oracle Linux
F58429-01
June 2022
Copyright © 2022, Oracle and/or its affiliates.