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

Können Sie die Metadatenversion für ein vorhandenes Array ändern?

Lösung 1:

Diese Informationen sind wahrscheinlich zu spät, um dem OP zu helfen, aber vielleicht helfen sie jemand anderem.

Der erste Befehl löscht die Superblöcke und der zweite Befehl erstellt ein neues Array, geht aber davon aus, dass die Geräte sauber sind. Ich habe dies gerade durchgeführt und alles scheint in Ordnung zu sein. Ich würde auf jeden Fall ein Backup empfehlen, bevor Sie dies tun. Ich hatte keine Daten zu verlieren und daher keine Integrität zu überprüfen. Ich wollte nur eine weitere 4-stündige Resynchronisierung vermeiden.

$ mdadm --zero-superblock /dev/sd[a-z]1
$ mdadm --create /dev/md0 --assume-clean \
    --level=10 --raid-devices=10 /dev/sd[a-z]1 --metadata=0.90

Lösung 2:

Das Erstellen eines Arrays mit Annahme-sauberen und inkonsistenten Metadaten, wie oben vorgeschlagen, kann sicherlich vorhandene Daten beschädigen, da sich 0,90- und 1,2-Metadatenblöcke nicht nur in der Größe, sondern auch in der Position unterscheiden.

es kann für 0,90 <-> 1,0 funktionieren, was eine Ausnahme ist.

https://raid.wiki.kernel.org/index.php/RAID_superblock_formats

Lösung 3:

Das GRUB-Wiki bestätigt:

Außerdem (seit 1.96+20080724) kann GRUB nur von RAID booten, das einen Metadaten-Superblock der Version 0.90 verwendet (d. h. einen, der mit der Option --metadata=0.90 für mdadm erstellt wurde).

Seltsamerweise sagt die Manpage für mdadm

-e , --metadata=

Deklarieren Sie den Stil des zu verwendenden Superblocks (Raid-Metadaten). Der Standardwert ist 0,90 für --create und zum Raten für andere Operationen.

Ich würde es mit mdadm -Q -D <device> überprüfen sicher sein.

Danach, welches RAID-Level verwenden Sie? Das beste Szenario, das mir für einen Spiegel (RAID 1) einfällt, wäre

  1. Erstellen Sie Sicherungskopien
  2. Unmounten Sie Array 0
  3. Entfernen Sie Gerät A aus Array 0 von n Geräte
  4. Null-Superblock auf Gerät A
  5. Erstellen Sie Array 1 mit Gerät A und n-1 Spares, explizit unter Verwendung des alten Superblock-Formats
  6. Wiederholen Sie dies für die verbleibenden B bis n-1 Geräte
  7. (Optional) das Array neu nummerieren

... aber prüfen Sie unbedingt, ob Sie das unbedingt durchziehen müssen!


Linux
  1. 3 nützliche Dinge, die Sie mit dem IP-Tool in Linux tun können

  2. Wie kann ich die PHP-CLI-Version unter Ubuntu 14.04 ändern?

  3. Wie kann ich das Layout der Eingabetastatur in der Konsole ändern?

  4. Kann mprotect() verwendet werden, um die Berechtigungen von .rodata zu ändern?

  5. Kann ich die SID einer Oracle-Datenbank ändern?

Wie ändere ich die PHP-Version in Plesk?

So ändern Sie die PHP-Version in cPanel

Wie kann ich meine PHP-Version auf cPanel ändern?

Kann ich die Hauptdomäne des Hosting-Kontos ändern?

So ändern Sie die PHP-Version

Wo finde ich die erste Version des Linux-Betriebssystems?