nvme0n2p1
y nvme0n3p1
) para RAID 1.mdadm
.tar
.Este script es un conjunto de pasos para configurar, administrar y probar una partición RAID 1 en un sistema Linux. RAID 1 es un tipo de configuración en la que los datos se duplican (espejo) en dos o más discos para aumentar la redundancia y la seguridad. Vamos a desglosar y explicar cada paso de este script para que entiendas qué hace cada comando.
Particionar los discos `nvme0n2` y `nvme0n3`
lsblk
- Lista los dispositivos de bloque disponibles en tu sistema para que puedas identificar los discos que usarás en el RAID.
fdisk /dev/nvme0n2
- Abre la herramienta `fdisk` para gestionar particiones en el disco `nvme0n2`.
n # Crear una nueva partición
p # Crear una partición primaria
1 # Especificar el número de la partición
enter # Usar el valor por defecto para el primer sector
enter # Usar el valor por defecto para el último sector (tamaño total)
t # Cambiar el tipo de partición
L # Listar todos los tipos de particiones disponibles
FD # Asignar el tipo de partición RAID (Linux RAID autodetect)
p # Mostrar la tabla de particiones
w # Guardar los cambios y salir
*Repetir lo mismo para `nvme0n3`:**
fdisk /dev/nvme0n3
- Se sigue la misma secuencia de particionamiento en el segundo disco `nvme0n3`.
lsblk
```
- Después de crear las particiones, se utiliza `lsblk` para verificar que las particiones se han creado correctamente en ambos discos.
dnf install -y mdadm
- Instala la herramienta `mdadm` que se usa para gestionar RAID en Linux.
¿Crear el array RAID 1:
mdadm -C /dev/md0 -l 1 -n 2 /dev/nvme0n2p1 /dev/nvme0n3p1
- Crea un array RAID 1 llamado `/dev/md0` con dos discos, usando las particiones `/dev/nvme0n2p1` y `/dev/nvme0n3p1`.
mkfs.ext4 /dev/md0
- Formatea el array RAID con el sistema de archivos ext4.
mount /dev/md0 /mnt
- Monta el array RAID en el directorio `/mnt` para que puedas acceder a él.
lsblk
cat /proc/mdstat
- `lsblk` muestra los dispositivos de bloque montados, y `cat /proc/mdstat` muestra el estado del RAID, asegurando que todo esté funcionando correctamente.
### 4. **Realizar copia de seguridad**
dnf install tar
- Instala la herramienta `tar` para crear archivos comprimidos.
tar zcf /mnt/buckup.tar.gz /etc
- Crea una copia de seguridad comprimida del directorio `/etc` y la guarda en el RAID montado en `/mnt`.
mdadm -f /dev/md0 /dev/nvme0n3p1
``` - Simula la falla del disco `nvme0n3p1` en el array RAID.
mdadm -r /dev/md0 /dev/nvme0n3p1
- Remueve el disco `nvme0n3p1` del array RAID.
cat /proc/mdstat
- Verifica nuevamente el estado del RAID para confirmar que el disco ha sido marcado como fallido y removido.
sfdisk -d /dev/nvme0n2p1 | sfdisk /dev/nvme0n3p1
- Clona la tabla de particiones de `nvme0n2p1` a `nvme0n3p1` para preparar el segundo disco para ser añadido nuevamente al RAID.
mdadm -a /dev/md0 /dev/nvme0n3p1
- Añade el disco `nvme0n3p1` nuevamente al array RAID.
umount /mnt
- Desmonta el array RAID del directorio `/mnt`.
mdadm --stop /dev/md0
- Detiene el array RAID.
mdadm --zero-superblock /dev/nvme0n2p1
mdadm --zero-superblock /dev/nvme0n3p1
- Elimina las superblocks RAID de las particiones en ambos discos, para limpiar los discos.
raid con php y bash
/var/www/html/
raid_manager.php
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>RAID Manager</title></head><body> <h1>RAID Manager</h1> <form method="POST"> <label for="raid-type">Choose RAID type:</label> <select name="raid-type" id="raid-type" required> <option value="1">RAID 1 (Mirroring)</option> <option value="0">RAID 0 (Striping)</option> </select> <br><br>
<label for="disk1">Disk 1:</label> <input type="text" name="disk1" id="disk1" placeholder="/dev/nvme0n2" required> <br><br>
<label for="disk2">Disk 2:</label> <input type="text" name="disk2" id="disk2" placeholder="/dev/nvme0n3" required> <br><br>
<label for="mount-point">Mount Point:</label> <input type="text" name="mount-point" id="mount-point" placeholder="/mnt/raid" required> <br><br>
<button type="submit" name="create">Create RAID</button> <button type="submit" name="clean">Clean Disks</button> </form>
<?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['create'])) { $raidType = $_POST['raid-type']; $disk1 = $_POST['disk1']; $disk2 = $_POST['disk2']; $mountPoint = $_POST['mount-point'];
echo "<h2>Creating RAID...</h2>";
// Comando para crear el RAID $createCmd = "sudo mdadm --create --verbose /dev/md0 --level=$raidType --raid-devices=2 $disk1 $disk2"; $formatCmd = "sudo mkfs.ext4 /dev/md0"; $mountCmd = "sudo mkdir -p $mountPoint && sudo mount /dev/md0 $mountPoint";
// Ejecutar los comandos $output = shell_exec("$createCmd 2>&1"); echo "<pre>$output</pre>";
$output = shell_exec("$formatCmd 2>&1"); echo "<pre>$output</pre>";
$output = shell_exec("$mountCmd 2>&1"); echo "<pre>$output</pre>";
echo "<p>RAID created and mounted at $mountPoint</p>"; }
if (isset($_POST['clean'])) { echo "<h2>Cleaning Disks...</h2>";
// Comandos para desmontar los puntos de montaje $unmountRaid = "sudo umount /mnt/raid"; $unmountRaid1 = "sudo umount /mnt/raid1"; echo "<h3>Unmounting RAID devices...</h3>"; $output = shell_exec("$unmountRaid 2>&1"); echo "<pre>$output</pre>"; $output = shell_exec("$unmountRaid1 2>&1"); echo "<pre>$output</pre>";
// Comandos para detener los RAIDs $stopRaid0 = "sudo mdadm --stop /dev/md0"; $stopRaid1 = "sudo mdadm --stop /dev/md1"; echo "<h3>Stopping RAID devices...</h3>"; $output = shell_exec("$stopRaid0 2>&1"); echo "<pre>$output</pre>"; $output = shell_exec("$stopRaid1 2>&1"); echo "<pre>$output</pre>";
// Comandos para limpiar los superbloques $cleanSuperblocks = "sudo mdadm --zero-superblock /dev/nvme0n2 /dev/nvme0n3 /dev/nvme0n4 /dev/nvme0n5"; echo "<h3>Cleaning superblocks...</h3>"; $output = shell_exec("$cleanSuperblocks 2>&1"); echo "<pre>$output</pre>";
// Comando para limpiar las firmas restantes con wipefs $wipeDisks = "sudo wipefs -a /dev/nvme0n2 /dev/nvme0n3 /dev/nvme0n4 /dev/nvme0n5"; echo "<h3>Wiping disks...</h3>"; $output = shell_exec("$wipeDisks 2>&1"); echo "<pre>$output</pre>";
echo "<p>Disks cleaned successfully!</p>"; } } ?></body></html>sudo mdadm --zero-superblock --force /dev/nvme0n2 /dev/nvme0n3 /dev/nvme0n4 /dev/nvme0n5sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/nvme0n2 /dev/nvme0n3sudo mdadm --stop /dev/md0sudo mdadm --stop /dev/md1sudo mdadm --zero-superblock --force /dev/nvme0n2sudo mdadm --zero-superblock --force /dev/nvme0n3sudo mdadm --zero-superblock --force /dev/nvme0n4sudo mdadm --zero-superblock --force /dev/nvme0n5lsblkcat /proc/mdstatsudo mdadm --remove /dev/md0sudo mdadm --remove /dev/md1sudo mdadm --detail --scan > /etc/mdadm.conf
No hay comentarios.:
Publicar un comentario