Recuperando uma matriz RAID

Recuperando uma matriz RAID

Eu acidentalmente corrompi minha versão do Ubuntu 17.10 por meio de uma reinicialização forçada (em um quinto disco rígido). No meu sistema eu tinha outros 4 discos rígidos que faziam parte de uma matriz RAID5. Agora que instalei o Ubuntu 17.10 novamente, como recupero meu array e meus dados?

Eu tentei os dois

sudo mdadm --assemble --uuid=XXXXXXXXXX

e

sudo mdadm --assemble /dev/md0 /dev/sdb /dev/sdc /dev/sdd /dev/sde

e consigo montá-lo, mas quando vou acessar os arquivos, ele solicita uma senha e a pasta fica vazia. Todos os membros da matriz mostram ativos e limpos.

NOTA: Eu criei meu diretório /home neste RAID antes da falha, movê-lo e montá-lo lá. Por favor, veja a saída abaixo:

cat /proc/mdstat 

Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md0 : active raid5 sde[4] sdb[0] sdd[2] sdc[1] 8790405120 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU] 
bitmap: 0/22 pages [0KB], 65536KB chunk 
unused devices: <none> 

Saída abaixo para

sudo parted --list /dev/md0

Model: ATA TS128GSSD370S (scsi)
Disk /dev/sda: 128GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name                  Flags
 1      1049kB  538MB  537MB  fat32        EFI System Partition  boot, esp
 2      538MB   128GB  127GB  ext4


Error: end of file while reading /dev/sdb
Retry/Ignore/Cancel? retry
Error: end of file while reading /dev/sdb
Retry/Ignore/Cancel? ignore                                               
Error: The primary GPT table is corrupt, but the backup appears OK, so that will
be used.
OK/Cancel? ok                                                             
Model: ATA ST3000VN000-1HJ1 (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags


Error: /dev/sdc: unrecognised disk label
Model: ATA ST3000VN000-1HJ1 (scsi)                                        
Disk /dev/sdc: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags: 

Error: /dev/sdd: unrecognised disk label
Model: ATA ST3000VN000-1HJ1 (scsi)                                        
Disk /dev/sdd: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags: 

Error: end of file while reading /dev/sde
Retry/Ignore/Cancel? ignore
Error: The primary GPT table is corrupt, but the backup appears OK, so that will
be used.
OK/Cancel? ok                                                             
Model: ATA ST3000VN000-1HJ1 (scsi)
Disk /dev/sde: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags


Model: WD Elements 25A1 (scsi)
Disk /dev/sdf: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name      Flags
 1      1049kB  3001GB  3001GB  ntfs         Elements  msftdata


Model: Linux Software RAID Array (md)
Disk /dev/md0: 9001GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0.00B  9001GB  9001GB  ext4

Depois de montar /dev/md0 /mnt

A saída de ls -la /dev/md* é

brw-rw---- 1 root disk 9, 0 Apr 13 16:31 /dev/md0

/dev/md:
total 0
drwxr-xr-x  2 root root   60 Apr 13 16:31 .
drwxr-xr-x 21 root root 4520 Apr 13 16:31 ..
lrwxrwxrwx  1 root root    6 Apr 13 16:31 0 -> ../md0

Responder1

Este não é um problema de ataque, é mais um problema de permissão. Se você verificar a saída do cat /proc/mdstatcomando, verá que o raid5 está montado perfeitamente conforme indicado na [UUUU]linha md0.

Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sde[4] sdb[0] sdd[2] sdc[1] 8790405120 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
bitmap: 0/22 pages [0KB], 65536KB chunk
unused devices: <none>

Além disso, a tabela de partição (loop para um dispositivo de loop) e o sistema de arquivos (ext4) estão bem. Depois de montar o dispositivo de loop, mount /dev/md0 /mntvocê deverá ver algo como:

$ mount /dev/md0 /mnt
$ ls -la /mnt
  total 12
  drwxr-xr-x  3 root root 4096 Jun 29  2016 .
  drwxr-xr-x 10 root root 4096 Dec  7 10:42 ..
  drwxr-xr-x  3 1001 2001 4096 Feb  6  2017 oldusername

Agora você precisa alterar o proprietário da página inicial do usuário antigo para o usuário atual:

$ sudo chown $(stat -c '%u:%g' ~/) /mnt/oldusername
$ ls -la /mnt
  total 12
  drwxr-xr-x  3 root        root         4096 Jun 29  2016 .
  drwxr-xr-x 10 root        root         4096 Dec  7 10:42 ..
  drwxr-xr-x  3 currentuser currentgroup 4096 Feb  6  2017 oldusername

informação relacionada