GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Der beste Weg, um Linux-Software von RAID 1 auf RAID 10 zu erweitern

Lösung 1:

Mit Linux Softraid können Sie ein RAID 10-Array mit nur zwei Festplatten erstellen.

Unten verwendete Gerätenamen:

  • md0 ist das alte Array vom Typ/Level RAID1.
  • md1 ist das neue Array vom Typ/Level RAID10.
  • sda1 und sdb2 sind neu , leere Partitionen (ohne Daten).
  • sda2 und sdc1 sind alte Partitionen (mit wichtigen Daten).

Ersetzen Sie Namen entsprechend Ihrem Anwendungsfall. Verwenden Sie z. lsblk um Ihr aktuelles Layout anzuzeigen.

0) Backup, Backup, Backup, Backup oh und BACKUP

1) Erstellen Sie das neue Array (4 Geräte:2 vorhandene, 2 fehlende):

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing

Beachten Sie, dass in diesem Beispiellayout sda1 hat ein fehlendes Gegenstück und sdb2 hat ein weiteres fehlendes Gegenstück. Ihre Daten auf md1 ist an dieser Stelle nicht sicher (effektiv ist es RAID0, bis Sie fehlende Mitglieder hinzufügen).

Um das Layout und andere Details des erstellten Arrays anzuzeigen, verwenden Sie:

mdadm -D /dev/md1

Notiz! Sie sollten das Layout des Arrays speichern:

# View current mdadm config:
cat /etc/mdadm/mdadm.conf
# Add new layout (grep is to make sure you don't re-add md0):
mdadm --detail --scan | grep "/dev/md1" | tee -a /etc/mdadm/mdadm.conf
# Save config to initramfs (to be available after reboot)
update-initramfs -u

2) Formatieren und mounten. Die /dev/md1 sollten sofort verwendbar sein, müssen aber formatiert und dann gemountet werden.

3) Dateien kopieren. Verwenden Sie z. rsync, um Daten vom alten RAID 1 auf das neue RAID 10 zu kopieren. (Dies ist nur ein Beispielbefehl, lesen Sie die Manpages für rsync)

rsync -arHx / /where/ever/you/mounted/the/RAID10

4) Lassen Sie den ersten Teil des alten RAID1 (md0) fehlschlagen und fügen Sie ihn dem neuen RAID10 (md1) hinzu

mdadm /dev/md0 --fail /dev/sda2 --remove /dev/sda2
mdadm /dev/md1 --add /dev/sda2

Notiz! Dadurch werden Daten von sda2 gelöscht . Die md0 sollte immer noch nutzbar sein, aber nur, wenn das andere Raid-Mitglied voll funktionsfähig war.

Beachten Sie auch, dass dadurch Synchronisierungs-/Wiederherstellungsprozesse auf md1 beginnen . Verwenden Sie einen der folgenden Befehle, um den Status zu überprüfen:

# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1

Warte bis die Wiederherstellung abgeschlossen ist.

5) Installieren Sie GRUB auf dem neuen Array (vorausgesetzt, Sie booten davon). Einige Linux-Rettungs-/Boot-CDs funktionieren am besten.

6) Booten Sie auf einem neuen Array. WENN ES KORREKT FUNKTIONIERT hat, zerstören Sie das alte Array und fügen Sie die verbleibende Festplatte dem neuen Array hinzu.

POINT OF NO RETURN

An diesem Punkt werden Sie Daten auf dem letzten Mitglied des alten md0-Arrays zerstören. Stellen Sie absolut sicher, dass alles funktioniert.

mdadm --stop /dev/md0
mdadm /dev/md0 --remove /dev/sdc1
mdadm /dev/md1 --add /dev/sdc1

Und wieder - warten bis zur Wiederherstellung am md1 ist fertig.

# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1

7) Aktualisieren Sie die mdadm-Konfiguration

Denken Sie daran, /etc/mdadm/mdadm.conf zu aktualisieren (md0 entfernen).

Und speichern Sie die Konfiguration in initramfs (um nach dem Neustart verfügbar zu sein)

update-initramfs -u

Lösung 2:

Folgen Sie dem gleichen Verfahren wie Mark Turner, aber erwähnen Sie beim Erstellen des Raid-Arrays 2 fehlende Festplatten

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing

Fahren Sie dann mit anderen Schritten fort.

Kurz gesagt, erstellen Sie RAID10 mit insgesamt 4 Festplatten (von denen 2 fehlen), synchronisieren Sie neu und fügen Sie danach zwei weitere Festplatten hinzu.

Lösung 3:

Ich habe gerade den Übergang von LVM auf zwei 2-TB-Festplatten mdadm RAID 1 zu LVM auf einem RAID 10 mit vier Festplatten (zwei Original- und zwei neue Festplatten) abgeschlossen.

Wie @aditsu feststellte, ist die Laufwerksreihenfolge beim Erstellen des Arrays wichtig.

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda missing /dev/sdb missing

Der obige Code ergibt ein verwendbares Array mit zwei fehlenden Festplatten (fügen Sie Partitionsnummern hinzu, wenn Sie keine ganzen Festplatten verwenden). Sobald die dritte Festplatte hinzugefügt wird, beginnt sie mit der Synchronisierung. Ich habe die vierte Festplatte hinzugefügt, bevor die dritte die Synchronisierung abgeschlossen hat. Es wurde als Reserve angezeigt, bis die dritte Festplatte fertig war, dann begann die Synchronisierung.

Schritte für meine Situation:

  1. Erstellen Sie eine gute Sicherung.

  2. Erstellen Sie ein heruntergestuftes RAID 10-Array mit 4 Festplatten und zwei fehlenden Festplatten (wir nennen die fehlenden Festplatten Nr. 2 und 4).

  3. Sagen Sie Ihrer Frau, dass sie keine Dateien ändern/hinzufügen soll, die ihr wichtig sind

  4. Fehler machen und eine Festplatte aus dem RAID 1-Array entfernen (Festplatte 4).

  5. Verschieben Sie physische Extents vom RAID1-Array zum RAID 10-Array und lassen Sie Festplatte 2 leer.

  6. Beenden Sie das aktive RAID 1-Array, fügen Sie die jetzt leere Festplatte (Festplatte 2) zum RAID 10-Array hinzu und warten Sie, bis die Resynchronisierung abgeschlossen ist.

  7. Fügen Sie die erste aus RAID1 entfernte Festplatte (Festplatte 4) dem RAID 10-Array hinzu.

  8. Geben Sie Ihrer Frau den Vortritt.

Bei Schritt 7 denke ich, Laufwerk 1, 2, ODER 4 kann (während der Resynchronisierung von Festplatte 4) fehlschlagen, ohne das Array zu beenden. Wenn Laufwerk 3 ausfällt, sind die Daten auf dem Array geröstet.


Linux
  1. Die 10 besten Linux-Lernprogramme für Ihre Kinder

  2. 10 beste Videokonferenzsoftware für Linux im Jahr 2020

  3. Der beste Weg, um Apache unter Linux zu sandboxen

  4. Der beste Weg, um die Maschinen-ID unter Linux zu erhalten?

  5. Beste Möglichkeit, Swap in Linux zu deaktivieren

Die 15 besten Fraktal-Software für Linux-Desktop

Die 15 besten zu verwendenden Linux-Referenz-Manager-Software

Top 10 der besten Netzwerkinventarisierungssoftware für Linux

Top 10 der besten Geometriesoftware für Linux-Systeme

Top 10 der besten Präsentationssoftware für Linux-Desktops

15 beste Videobearbeitungssoftware für Linux-Systeme