¿cuanta gente a visto el blog?

Crear RAID 1 con discos SSD en RaspberryPi

pi

toor


 sudo su

fdisk -l

mdadm --create /dev/md0 -- level=1 --raid-devices =2 /dev/sdc /dev/sdd

yes


fdisk -l

sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/nvme0n2 /dev/nvme0n3


cat /proc/mdstat

sudo mkfs.ext4 /dev/md0


sudo mkdir -p /mnt/raid0
sudo mount /dev/md0 /mnt/raid0


sudo mdadm --stop /dev/md0
sudo mdadm --remove /dev/md0
sudo mdadm --zero-superblock /dev/nvme0n2 /dev/nvme0n3
sudo wipefs -a /dev/nvme0n2 /dev/nvme0n3

sudo umount /mnt/raid0

sudo mdadm --stop /dev/md0
sudo mdadm --remove /dev/md0
sudo mdadm --zero-superblock /dev/nvme0n2 /dev/nvme0n3
sudo wipefs -a /dev/nvme0n2 /dev/nvme0n3
cat /proc/mdstat
lsblk

sudo nano /var/www/html/limpiar_raid.sh

#!/bin/bash

# Variables
RAID_DEVICE=$1
DISKS=$2

# Desmontar RAID si está montado
if mount | grep -q "/dev/$RAID_DEVICE"; then
  umount /dev/$RAID_DEVICE
fi

# Detener y eliminar el RAID
mdadm --stop /dev/$RAID_DEVICE
mdadm --remove /dev/$RAID_DEVICE

# Limpiar las configuraciones RAID de los discos
for DISK in $DISKS; do
  mdadm --zero-superblock /dev/$DISK
  wipefs -a /dev/$DISK
done
sudo chmod +x /var/www/html/limpiar_raid.sh


sudo nano /var/www/html/crear_raid.sh

#!/bin/bash

# Variables
RAID_TYPE=$1
RAID_NAME=$2
DISKS=$3

# Crear el RAID
mdadm --create --verbose /dev/$RAID_NAME --level=$RAID_TYPE --raid-devices=$(echo $DISKS | wc -w) $DISKS

# Crear el archivo de configuración para persistir el RAID después del reinicio
mdadm --detail --scan >> /etc/mdadm.conf

# Formatear el RAID
mkfs.ext4 /dev/$RAID_NAME

# Crear el punto de montaje y montar el RAID
mkdir -p /mnt/$RAID_NAME
mount /dev/$RAID_NAME /mnt/$RAID_NAME

# Salida
echo "RAID $RAID_NAME creado con éxito y montado en /mnt/$RAID_NAME"

sudo chmod +x /var/www/html/crear_raid.sh


sudo nano /var/www/html/limpiar_raid.sh


#!/bin/bash

# Variables
RAID_DEVICE=$1
DISKS=$2

# Desmontar el RAID si está montado
if mount | grep -q "/dev/$RAID_DEVICE"; then
  umount /dev/$RAID_DEVICE
  echo "Desmontado /dev/$RAID_DEVICE"
fi

# Detener y eliminar el RAID
mdadm --stop /dev/$RAID_DEVICE
mdadm --remove /dev/$RAID_DEVICE
echo "RAID $RAID_DEVICE detenido y eliminado"

# Limpiar las configuraciones RAID de los discos
for DISK in $DISKS; do
  mdadm --zero-superblock /dev/$DISK
  wipefs -a /dev/$DISK
  echo "Disco $DISK limpiado"
done

# Salida
echo "RAID $RAID_DEVICE y sus discos asociados han sido limpiados"

sudo chmod +x /var/www/html/limpiar_raid.sh

sudo nano /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">
        <h2>Crear RAID</h2>
        <label for="raid_type">Tipo de RAID:</label>
        <select name="raid_type" id="raid_type" required>
            <option value="0">RAID 0</option>
            <option value="1">RAID 1</option>
            <option value="5">RAID 5</option>
            <option value="6">RAID 6</option>
            <option value="10">RAID 10</option>
        </select><br><br>

        <label for="raid_name">Nombre del RAID (ej. md0):</label>
        <input type="text" name="raid_name" id="raid_name" required><br><br>

        <label for="disks">Discos (separados por espacio, ej. nvme0n2 nvme0n3):</label>
        <input type="text" name="disks" id="disks" required><br><br>

        <button type="submit" name="create_raid">Crear RAID</button>
    </form>

    <hr>

    <form method="POST">
        <h2>Limpiar RAID</h2>
        <label for="raid_device">RAID a limpiar (ej. md0):</label>
        <input type="text" name="raid_device" id="raid_device" required><br><br>

        <label for="disks">Discos asociados (separados por espacio, ej. nvme0n2 nvme0n3):</label>
        <input type="text" name="disks" id="disks" required><br><br>

        <button type="submit" name="clean_raid">Limpiar RAID</button>
    </form>

    <hr>

    <?php
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        if (isset($_POST['create_raid'])) {
            $raid_type = escapeshellarg($_POST['raid_type']);
            $raid_name = escapeshellarg($_POST['raid_name']);
            $disks = escapeshellarg($_POST['disks']);
            
            $command = "sudo /var/www/html/crear_raid.sh $raid_type $raid_name $disks";
            $output = shell_exec($command);
            echo "<h3>Resultado de la creación del RAID:</h3>";
            echo "<pre>$output</pre>";
        }

        if (isset($_POST['clean_raid'])) {
            $raid_device = escapeshellarg($_POST['raid_device']);
            $disks = escapeshellarg($_POST['disks']);
            
            $command = "sudo /var/www/html/limpiar_raid.sh $raid_device $disks";
            $output = shell_exec($command);
            echo "<h3>Resultado de la limpieza del RAID:</h3>";
            echo "<pre>$output</pre>";
        }
    }
    ?>
</body>
</html>

sudo visudo

apache ALL=(ALL) NOPASSWD: /var/www/html/crear_raid.sh
apache ALL=(ALL) NOPASSWD: /var/www/html/limpiar_raid.sh

ESC :wq


ls -l /var/www/html/raid_manager.php

sudo nano /etc/httpd/conf/httpd.conf

DirectoryIndex raid_manager.php index.php index.html

sudo systemctl restart httpd
sudo setenforce 0
sudo nano /etc/selinux/config



SELINUX=permissive

No hay comentarios.:

Publicar un comentario