Wiederherstellen eines RAID-Arrays

Wiederherstellen eines RAID-Arrays

Ich habe meinen Build von Ubuntu 17.10 versehentlich durch einen erzwungenen Neustart (auf einer 5. Festplatte) beschädigt. In meinem System hatte ich 4 weitere Festplatten als Teil eines RAID5-Arrays. Wie kann ich mein Array und meine Daten wiederherstellen, nachdem ich Ubuntu 17.10 erneut installiert habe?

Ich habe beides probiert

sudo mdadm --assemble --uuid=XXXXXXXXXX

Und

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

und ich kann es dann mounten, aber wenn ich auf die Dateien zugreifen will, werde ich nach einem Passwort gefragt und der Ordner ist leer. Alle Array-Mitglieder werden als aktiv und sauber angezeigt.

HINWEIS: Ich habe mein /home-Verzeichnis auf diesem RAID erstellt, bevor es abgestürzt ist, indem ich es dorthin verschoben und gemountet habe. Bitte sehen Sie sich die Ausgabe unten an:

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> 

Ausgabe unten für

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

Nach dem Mounten von /dev/md0 /mnt

Die Ausgabe von ls -la /dev/md* ist

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

Antwort1

Dies ist kein RAID-Problem, sondern eher ein Berechtigungsproblem. Wenn Sie die Ausgabe des cat /proc/mdstatBefehls überprüfen, können Sie sehen, dass das RAID5 perfekt zusammengestellt ist, wie [UUUU]in der md0Zeile angegeben.

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>

Auch die Partitionstabelle (Loop für ein Loop-Gerät) und das Dateisystem (ext4) sind in Ordnung. Nach dem Mounten des Loop-Geräts mount /dev/md0 /mntsollte etwa Folgendes angezeigt werden:

$ 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

Nun müssen Sie den Besitzer des alten Benutzer-Homes in Ihren aktuellen Benutzer ändern:

$ 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

verwandte Informationen