Reinstalé Ubuntu y ahora no veo mi disco RAID

0

Originalmente tuve un sistema Ubuntu 12.04 con un arreglo RAID5 que construí usando mdadm.

Debido a problemas con los controladores de gráficos, el sistema 12.04 se bloqueó y tuve que reinstalar el sistema operativo. Después de varios intentos de instalación / reinstalación (e intente probar y usar la reparación de arranque desde un dispositivo livecd). Finalmente obtuve mi sistema de copia de seguridad ejecutando Ubuntu-Gnome 14.04. Pero ahora mi redada se ha ido.

Me temo que algo sucedió cuando usé la reparación de arranque. Recibí mensajes que decían: Raid detectó que deberías instalar mdadm (en ese momento lo hice), y luego me preguntó sobre algún otro programa de md y me dijo que eliminara eso porque causaba problemas con mdadm o algo así. También durante la prueba, gparted me gritó varias veces sobre una Tabla de partición GUUID corrupta en una de las unidades.

Puedo verificar con gparted que las 3 unidades que usé para hacer mi RAID5 todavía están allí y aún están formateadas con el sistema de archivos ext4.

Para los tres discos la salida de

sudo sgdisk -p /dev/sdb
sudo sgdisk -p /dev/sdd
sudo sgdisk -p /dev/sde

es

mycomputer:/dev$ sudo sgdisk -p /dev/sdb
Disk /dev/sdb: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): D3E28B01-CBD8-40EB-B421-4BA0BEF275D9
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2157 sectors (1.1 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      3907028991   1.8 TiB     8300  R1b


mycomputer:/dev$ sudo sgdisk -p /dev/sdd
Disk /dev/sdd: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 21E3C879-F658-47E1-AB34-D1EA25EC6FFC
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2157 sectors (1.1 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      3907028991   1.8 TiB     8300  R2d


mycomputer:/dev$ sudo sgdisk -p /dev/sde
Disk /dev/sde: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 48CFD331-24FC-4D30-B8A2-EFFA709B9600
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2157 sectors (1.1 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      3907028991   1.8 TiB     8300  R3e

así que parece que las unidades aún están intactas y tienen todos los datos que originalmente estaban allí. Tengo una secuencia de comandos donde grabé todos los comandos que usé para crear la matriz, pero no estoy muy seguro / nervioso acerca de cómo reconstruir y montar la matriz sin perder ningún dato.

Aquí está mi guión original. Hay partes de la misma que, obviamente, no quiero volver a ejecutar, ya que eliminarán los datos.

sudo sgdisk -p /dev/sdb
sudo sgdisk -p /dev/sdd
sudo sgdisk -p /dev/sde

# DELETE ALL DATA 
#sudo sgdisk --clear /dev/sdb
#sudo sgdisk --clear /dev/sdd
#sudo sgdisk --clear /dev/sde

sudo sgdisk -n 1:2048:3907028991 /dev/sdb -c 1:"R1b"
sudo sgdisk -n 1:2048:3907028991 /dev/sdd -c 1:"R2d"
sudo sgdisk -n 1:2048:3907028991 /dev/sde -c 1:"R3e"

#sudo mkfs.ext4 -t ext4 /dev/sdb1 
#sudo mkfs.ext4 -t ext4 /dev/sdd1 
#sudo mkfs.ext4 -t ext4 /dev/sde1 

#https://raid.wiki.kernel.org/index.php/RAID_setup
#chunk size = 128kB (set by mdadm cmd, see chunk size advise above)
#block size = 4kB (recommended for large files, and most of time)
#stride = chunk / block = 128kB / 4k = 32
#stripe-width = stride * ( (n disks in raid5) - 1 ) = 32 * ( (3) - 1 ) = 32 * 2 = 64

sudo mkfs.ext4 -v -m .1 -b 4096 -E stride=32,stripe-width=64 /dev/sdb1 
sudo mkfs.ext4 -v -m .1 -b 4096 -E stride=32,stripe-width=64 /dev/sdd1 
sudo mkfs.ext4 -v -m .1 -b 4096 -E stride=32,stripe-width=64 /dev/sde1 


# make sure you have RAID module in the linux kernel
sudo modprobe raid456
cat /proc/mdstat

# Create RAID 5
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3  /dev/sdb1 /dev/sdd1 /dev/sde1
sudo mdadm --detail --scan 
sudo mdadm --query --detail /dev/md0
sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf

cat /proc/mdstat

# Start RAID
sudo mdadm --assemble --scan 
sudo mdadm --assemble /dev/md0

# Stop RAID
sudo mdadm --stop /dev/md0

# Format the RAID
sudo mkfs.ext4 -v -m .1 -b 4096 -E stride=32,stripe-width=64 /dev/md0 

# Mount the RAID (dont forget to modify fstab)
sudo mkdir /media/raid
sudo chown username:username /media/raid
sudo mount /dev/md0 /media/raid
echo "/dev/md0    /media/raid       ext4  defaults     1  2" >> /etc/fstab

# Stop Rebuild
sudo /usr/share/mdadm/checkarray -xa
# Reconfigure initramfs
sudo update-initramfs -u

En resumen, necesito ayuda para seleccionar un subconjunto de estos comandos (o quizás haya algo más fácil que pueda hacer). Mi mejor conjetura es algo como esto: ¿Es tan simple como ?:

# Create RAID 5
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3  /dev/sdb1 /dev/sdd1 /dev/sde1
# Mount the RAID (dont forget to modify fstab)
sudo mkdir /media/raid
sudo chown username:username /media/raid
sudo mount /dev/md0 /media/raid
echo "/dev/md0    /media/raid       ext4  defaults     1  2" >> /etc/fstab

¿O eso no funcionará / matará mis datos?

Erotemic
fuente

Respuestas:

0
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3  /dev/sdb1 /dev/sdd1 /dev/sde1

Si haces esto, tu redada está muerta mientras se escribe un superbloque completamente nuevo. Desafortunadamente, no puedes usar "--build" en el nivel 5.

Debería comprobar qué sucede exactamente cuando la redada está intentando iniciarse, solo use

mdadm --assamble --scan

En circunstancias normales, "mdadm --assmeble --scan" ensambla automáticamente su raidset y crea el dispositivo para montar (generalmente / dev / md0).

Si este paso falla, la causa es difícil de distinguir a partir de lo que describe. La salida de los siguientes comandos podría ayudar:

mdadm --examine --scan blkid cat / proc / mdstat

Christian
fuente