diff --git a/rook/borrar_discos.sh b/rook/borrar_discos.sh new file mode 100755 index 0000000..df0bf99 --- /dev/null +++ b/rook/borrar_discos.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# ⚠️ AJUSTA ESTA LISTA A TUS DISCOS DE CEPH (NUNCA el del sistema) +DISKS=(sdb sdc sdd sde sdf sdg) + +echo "Discos objetivo:" +printf ' - /dev/%s\n' "${DISKS[@]}" +echo +read -r -p "¿Seguro que quieres LIMPIAR estos discos? Escribe 'SI' para continuar: " ok +[[ "$ok" == "SI" ]] || { echo "Cancelado."; exit 1; } + +for d in "${DISKS[@]}"; do + dev="/dev/$d" + echo ">>> Limpiando $dev" + + # 0) Opcional: si vienen de un cluster Ceph viejo, intenta zappearlos con ceph-volume + if command -v ceph-volume >/dev/null 2>&1; then + sudo ceph-volume lvm zap --destroy "$dev" || true + fi + + # 1) GPT/MBR + sudo sgdisk --zap-all "$dev" || true + + # 2) Firmas de FS/LVM/RAID + sudo wipefs -a "$dev" || true + + # 3) TRIM (si soporta). Si falla, hacemos un “zero header” de 10 MiB. + if ! sudo blkdiscard -f "$dev"; then + sudo dd if=/dev/zero of="$dev" bs=1M count=10 oflag=direct conv=fsync || true + fi + + # 4) Limpieza de particiones fantasma en el kernel + sudo partprobe "$dev" || true + + echo ">>> $dev limpiado." +done + +echo "Hecho."