Verwenden von mdadm - RAID1-Array spiegelt andere Festplatte nicht

Verwenden von mdadm - RAID1-Array spiegelt andere Festplatte nicht

Derzeit baue ich einen Nextcloud-Server auf Ubuntu 20.04. Ich habe eine Festplatte, auf der das Betriebssystem laufen soll, eine 320 GB-Festplatte. Und ich möchte, dass sich das Datenverzeichnis in einem RAID1-Array befindet, denn wenn ein Laufwerk ausfällt, haben wir immer noch das andere Laufwerk mit den Daten. Also habe ich 2 Festplatten mit 500 GB in einem RAID1-Array auf /dev/md0.

Wenn ich laufe:cat /proc/mdstat

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[0] sdc[1]
      488254464 blocks super 1.2 [2/2] [UU]
      bitmap: 0/4 pages [0KB], 65536KB chunk

unused devices: <none>

es heißt, es ist aktiv, wenn ich ausführe: sudo mdadm --detail /dev/md0

/dev/md0:
           Version : 1.2
     Creation Time : Fri Aug 14 16:50:18 2020
        Raid Level : raid1
        Array Size : 488254464 (465.64 GiB 499.97 GB)
     Used Dev Size : 488254464 (465.64 GiB 499.97 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sat Aug 15 14:50:13 2020
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : nextcloudserver:0  (local to host nextcloudserver)
              UUID : e525d3e8:2d738f44:59d495fa:2fdcce41
            Events : 9032

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

es heißt, der Status sei sauber. Sollte es nicht neu synchronisiert werden?

Sudo mdadm --detail /dev/md0

mdadm: No md superblock detected on /dev/md0.

Habe ich etwas verpasst?

Also ist /dev/md0 auf /mnt/raid1 gemountet. Ich habe eine Textdatei in /mnt/raid1 erstellt. Wenn ich den PC herunterfahre, eine Festplatte im RAID1-Array ausstecke und den PC starte, kann ich die Textdatei, die ich in /mnt/raid1 erstellt habe, nicht finden.

Und wenn ich cat /proc/mdstat ausführe, heißt es, der Status sei inaktiv

Kann mir also jemand beim Spiegeln der Festplatten helfen? Wenn also eine ausfällt, hat Nextcloud immer noch die Daten auf der anderen Festplatte.

Für jede Hilfe wäre ich dankbar, danke im Voraus

Dies ist das Tutorial, das ich befolgt habe: (https://www.linuxbabe.com/linux-server/linux-software-raid-1-setup)

Bis Schritt 5 klappt es bei mir. Nach dem Ausstecken einer der Festplatten komme ich nicht mehr weiter.

Antwort1

Sie können es erzwingen. Ich glaube, der Befehl war:

mdadm --assemble --force /dev/md0 /dev/sdb /dev/sdc

Allerdings erstellen die Leute Partitionen und erstellen dann ein MD0-Array darauf, daher würde der Befehl lauten:

mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdc1

(Ich habe es nicht verstanden, aber Sie haben es möglicherweise auf Rohdatenträgern erstellt ...)

Dadurch erhalten Sie Ihre Dateien.

Der Punkt ist, dass die Festplatte als inaktiv angezeigt wird, wenn Sie sie erzwingen, wird sie als degregiert angezeigt. Normalerweise sollten Sie, sobald ein Array inaktiv ist, verwenden, mdadm --scan --detailum herauszufinden, was los ist. Wenn ein Laufwerk ausgefallen ist, sollten Sie verwenden, --failum es als ausgefallen anzuzeigen. Und dann verwenden Sie sgdiskdie GPT-Tabelle der Arbeitsfestplatte auf die neue Festplatte zu kopieren, die UUID der neuen Festplatte zu ändern und das Array neu zu erstellen.

Sie können die Erstellung Ihres Arrays jedoch jederzeit mit einer einzelnen Festplatte erzwingen.

Das große Problem wäre hier die Verwendung von raid1 anstelle einer ordnungsgemäßen täglichen Sicherung. Raid ist für den unterbrechungsfreien Betrieb gedacht. Wenn eine Festplatte ausfällt, /proc/mdstatwird dies angezeigt und Sie können Ihren Betrieb fortsetzen, sogar --faildie Festplatte neu synchronisieren und sie wird automatisch neu erstellt, ohne den Betrieb zu stoppen ...

Schauen Sie sich das an:

https://www.thomas-krenn.com/de/wiki/Mdadm_recovery_and_resync

Antwort2

Ihre Ausgabe cat /proc/mdstatzeigt ein ordnungsgemäß funktionierendes RAID 1-Array.

md0 : active raid1 sdb[0] sdc[1]
      488254464 blocks super 1.2 [2/2] [UU]
      bitmap: 0/4 pages [0KB], 65536KB chunk

Hier activebedeutet, dass es mit zwei Festplatten aktiv ist. Alles, was Sie auf md0 schreiben, wird auf beide Festplatten gespiegelt.

In Ihrer mdadm --detailAusgabe cleanbedeutet, dass MD davon ausgeht, dass beide Festplatten synchron sind. Beides /proc/mdstatwäre mdadm --detailangezeigt worden, resyncnachdem Sie das Array erstellt haben, während es die beiden Laufwerke synchronisiert hat, es sei denn, Sie hätten --assume-cleanin der Befehlszeile für verwendet mdadm create.

Die nachfolgenden Probleme sind meiner Meinung nach alle darauf zurückzuführen, dass das RAID-Array beim Booten nicht gestartet wird und das von Ihnen erstellte Dateisystem beim Booten nicht gemountet ist. In Ihrer Ausgabe unten läuft das Array beispielsweise eindeutig nicht.

sudo mdadm --detail /dev/md0
mdadm: No md superblock detected on /dev/md0.

Wenn Ihr Array nach dem Start nicht läuft, können Sie es wie folgt manuell zusammenstellen:

mdadm --assemble /dev/md0 /dev/sdb /dev/sdc

Mounten Sie dann Ihr Dateisystem.

mount /dev/md0 /mnt/raid1

Damit das Array beim Booten automatisch gestartet wird, müssen Sie in konfigurieren /etc/mdadm.conf. Am einfachsten ist es, die Ausgabe von mdadm --detail --scandort zu senden, wenn das Array ausgeführt wird.

mdadm --detail --scan >> /etc/mdadm.conf

Um das Dateisystem beim Booten zu mounten, fügen Sie es zu hinzu /etc/fstab. Folgen Sie den dort enthaltenen Anweisungen oder lassen Sie es wie einen der anderen Einträge aussehen.

Wie der andere Antwortende sagte, ist RAID keine Backup-Lösung. RAID hält Ihren Betrieb aufrecht, wenn ein Teil Ihrer Hardware ausfällt. Aber es hilft Ihnen nicht, wenn Ihre gesamte Hardware ausfällt oder wenn Ihre Hardware oder Software die Daten beschädigt. Wenn die Daten also wichtig sind, untersuchen Sie Backup-Techniken.

Antwort3

Versuchen Sie es folgendermaßen:

  1. Führen Sie Ubuntu aus
  2. Führen Sie das Terminal aus und schreiben Sie
  • Sudo passwd root
  • mdadm –create /dev/md0 -- level=1 --raid-devices=2 /dev/sda1 fehlt
  • mdadm –create /dev/md1 --level=1 --raid-devices=2 /dev/sdb1 fehlt
  1. Installieren Sie Linux. Wählen Sie RAID 1 aus. Wenn während des Vorgangs ein Fehler auftritt, schreiben Sie Folgendes in das Terminal:

Ls -l /dev/sd*

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

Wichtig: DEV ist ein USB-Stick

df -h

mount --bind /dev /target/dev mount --bind /sys /target/sys mount --bind /proc /target/proc cp /etc/resolv.conf /target/etc/resolv.conf chroot /target/ apt install mdadm grub-install /dev/sda exit, dann Linux neu starten.

Wenn Sie eine Festplatte zur gleichen Gruppe (md0) hinzufügen möchten, verwenden Sie diesen Befehl:

sudo mdadm --add /dev/md0 /dev/sdc2

Antwort4

[GELÖST]

Als ich also ein Laufwerk aussteckte, wollte ich die Daten auf dem anderen Laufwerk sehen können. Ich steckte eine Festplatte aus, führte cat /proc/mdstat aus und es hieß in active

dann habe ich versucht

sudo mdadm -S /dev/md0 um es zu stoppen

Dann

sudo mdadm -A /dev/md0 um es zu aktivieren

und das Dateisystem erneut mounten sudo mount /dev/md0 /mnt/raid1

verwandte Informationen