#!/bin/sh # Variables (edit these as needed) ARRAY_NAME="md0" MOUNT_POINT="/mnt/md0" MDADM_CONF="/etc/mdadm/mdadm.conf" # Colors RED="\e[31m" GREEN="\e[32m" YELLOW="\e[33m" MAGENTA="\e[35m" CYAN="\e[36m" BOLD="\e[1m" NC="\e[0m" echo "${CYAN}${BOLD}=== RAID Array Setup Script ===${NC}" if ! sudo mdadm --help >/dev/null 2>&1; then echo "${YELLOW}[+]${NC} Installing mdadm package..." sudo apt install mdadm -y echo "${GREEN}[✓]${NC} mdadm installed successfully" else echo "${GREEN}[✓]${NC} mdadm is already installed" fi # Check if array is already assembled if [ "/dev/${ARRAY_NAME}" ]; then echo "${GREEN}[✓]${NC} Array /dev/${ARRAY_NAME} exists." sudo mdadm --detail "/dev/${ARRAY_NAME}" cat /proc/mdstat # Check if array is degraded if sudo mdadm --detail "/dev/${ARRAY_NAME}" | grep -q "degraded"; then echo "${RED}[!] WARNING:${NC} Array is degraded! Check which drives need to be re-added." echo "${YELLOW}[i]${NC} You may need to run: ${CYAN}sudo mdadm --manage /dev/${ARRAY_NAME} --re-add ${NC}" fi else echo "${YELLOW}[+]${NC} Assembling RAID array..." sudo mdadm --assemble --scan fi # Optionally update mdadm.conf if ! grep -q "/dev/${ARRAY_NAME}" "$MDADM_CONF"; then echo "${YELLOW}[+]${NC} Updating $MDADM_CONF..." sudo mdadm --detail --scan | sudo tee -a "$MDADM_CONF" fi # Mount the array if [ ! -d "$MOUNT_POINT" ]; then sudo mkdir -p "$MOUNT_POINT" echo "${GREEN}[✓]${NC} Mount point created" fi if ! mountpoint -q "$MOUNT_POINT"; then echo "${YELLOW}[+]${NC} Mounting /dev/${ARRAY_NAME} to $MOUNT_POINT..." sudo mount "/dev/${ARRAY_NAME}" "$MOUNT_POINT" echo "${GREEN}[✓]${NC} Array mounted successfully at $MOUNT_POINT" else echo "${GREEN}[✓]${NC} Array is already mounted at $MOUNT_POINT" fi echo "${CYAN}${BOLD}=== Setup Complete ===${NC}" echo "${CYAN}[i]${NC} Array device: ${CYAN}/dev/${ARRAY_NAME}${NC}" echo "${CYAN}[i]${NC} Mount point: ${CYAN}$MOUNT_POINT${NC}"