Bereitstellen von Datenträgern aus einem RAID 1-Array für die Datenwiederherstellung

2

Ich habe einige Probleme mit einem Debian 7.5-Stable- Server (Wheezy) . Es wird derzeit im Rettungsmodus ausgeführt.

Es verfügt über eine 2 x 2000 GB große Festplatte, die in einem RAID 1-Array ausgeführt wird .

Meine unmittelbare Priorität ist es, auf ein bestimmtes Verzeichnis zugreifen und es sichern zu können ( /home/servers/).

Das Problem ist, dass ich Schwierigkeiten habe, die Festplatte (n) zu mounten. Ich würde es vorziehen, dies auf saubere Weise mit dem RAID-Array zu tun, aber alles ist in Ordnung, solange ich auf die Daten zugreifen kann, da ich später alles neu installieren und für Ubuntu ändern werde.

root@rescue:~# fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  3907029167  1953514583+  ee  GPT
Partition 1 does not start on physical sector boundary.

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  3907029167  1953514583+  ee  GPT
Partition 1 does not start on physical sector boundary.

Disk /dev/md2: 1978.4 GB, 1978380779520 bytes
2 heads, 4 sectors/track, 483003120 cylinders, total 3864024960 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md2 doesn't contain a valid partition table

Disk /dev/md1: 21.5 GB, 21474770944 bytes
2 heads, 4 sectors/track, 5242864 cylinders, total 41942912 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

Zuerst habe ich es einfach versucht:

root@rescue:~# mount /dev/sda1 sda1
mount: unknown filesystem type 'linux_raid_member'

Dann habe ich versucht, dieser Anleitung zu folgen @ http://blog.sleeplessbeastie.eu/2012/05/08/how-to-mount-software-raid1-member-using-mdadm/

root@rescue:~# mdadm -A -R /dev/md9 /dev/sda1
mdadm: /dev/sda1 is busy - skipping

Ich habe den Server neu gestartet, aber / dev / sda1 ist noch beschäftigt. Jetzt stecke ich fest und das ist ein Produktionsserver! Bitte helfen Sie mir, ich weiß nicht, wie ich fortfahren soll.


AKTUALISIEREN:

root@rescue:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sda1[0] sdb1[1]
      20971456 blocks [2/2] [UU]

md2 : active raid1 sda2[0] sdb2[1]
      1932012480 blocks [2/2] [UU]

unused devices: <none>

.

root@rescue:~# cat /etc/fstab
# /etc/fstab: Information sur les systèmes de fichiers.
#
# <sys.fichiers><pt de montage><type> <options>  <dump> <pass>
proc    /proc   proc    defaults        0       0
Scharf
quelle
Was ist die Ausgabe von cat /proc/mdstatund cat /etc/fstab? /dev/sdaist wahrscheinlich ein RAID-Laufwerk und ist beschäftigt, weil das RAID ausgeführt wird (dies ist normal). Sie können es nicht direkt (mit mount /dev/sda1) mounten, wenn es sich um ein Raid-Laufwerk handelt. Wie lautet der Pfad zu dem Ordner, auf den Sie zugreifen möchten?
Darth Android
Mein Beitrag wurde aktualisiert. Das zu sichernde Verzeichnis ist /home/servers/Vielen Dank für Ihre Zeit!
Scharfe

Antworten:

2

Was passiert, wenn Sie Folgendes versuchen:

mkdir /mnt/md1
mount /dev/md1 /mnt/md1

mkdir /mnt/md2
mount /dev/md2 /mnt/md2

?

Dadurch werden leere Ordner erstellt, die als Bereitstellungspunkte verwendet werden können, und es wird versucht, die RAID-Dateisysteme bereitzustellen, wenn sie ordnungsgemäß bereitgestellt werden können.

Wenn diese Befehle funktionieren, befinden sich Ihre Dateien entweder auf /mnt/md1/servers/oder /mnt/md2/servers/(höchstwahrscheinlich auf der zweiten).


Zum späteren Nachschlagen:

/proc/mdstaterstellt eine Liste aller aktiven und inaktiven RAID-Arrays. Für Sie zeigt es, dass Sie ein 21.5GiB-Array ( md1) auf /dev/sda1und /dev/sdb1und ein zweites 1.9TiB-Array ( md2) auf /dev/sda2und gebaut haben /dev/sdb2. Dies ist ein recht verbreitetes Partitionsschema, bei dem sich das Betriebssystem / die Anwendungen auf einer kleinen Partition ( md1) befinden und alle Benutzerdaten ( /home/*) auf einer separaten, größeren Partition ( md2) gespeichert sind . Dies macht es einfach, nur die Betriebssystempartition zu löschen und neu zu installieren, ohne eine Reihe von Benutzerdaten verschieben zu müssen.

/etc/fstablistet alle Standardeinhängepunkte im System auf. Dies ist hier nicht sehr hilfreich, da Sie auf einem Rettungssystem ausgeführt werden, auf einem System, das kein Rettungssystem ist, wird jedoch eine Art Zuordnung für /dev/md1to /und /dev/md2to /home/angezeigt (sofern die im vorherigen Absatz unterstellte Annahme bezüglich der Partitionierung zutrifft).

Wenn ein System hochfährt, erkennt es RAID-Arrays automatisch und startet sie, wenn es alle Laufwerke findet (weshalb sie bereits ausgeführt werden und warum mdadmein Besetzt-Fehler aufgetreten ist, als Sie versucht haben, ein /dev/md9Array manuell zusammenzustellen - das md1Array) habe es bereits benutzt). Da es sich jedoch um ein Rettungssystem handelt, gab es keine Mount-Informationen /etc/fstab, mit denen das System angewiesen wurde, das System zu mounten, /dev/md1und zwar an einer /dev/md2beliebigen Stelle. Dies wird im obigen Befehlsblock manuell versucht.

Darth Android
quelle
Es funktionierte. Fand alles @ /mnt/md2/servers/. Vielen Dank für Ihre Zeit!
Sharp