wiki:AdminRaid
close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Version 5 (modified by Rüdiger Kupper, 10 years ago) ( diff )

--

RAID

Usere LtspServer verwenden RAID1, vorrangig zur Erhöhung der Datensicherheit und in zweiter Linie zur Beschleunigung der Lesevorgänge.

Die Administration der Software-RAID geschieht über den Befehl mdadm. Im normalen Betrieb ist das RAID sehr pflegeleicht, im Fehlerfall sind jedoch einige besondere Vorgehensweisen einzuhalten. Wird das RAID richtig verwendet, ist der Austausch einer Platte im laufenden Betrieb des Servers möglich.

Partitionen

-- folgt --

GRUB

Das RAID geht über die Partitionen sda1 und sdb1. Deren Inhalt wird nach dem Austausch einer Platte wiederhergestellt. GRUB steht aber im MBR der devices (sda und sdb). Dieser Block wird daher auch nicht vom RAID wiederhergestellt, wenn man eine Platte austauscht.

Heisst: Nachdem man eine Platte ausgetauscht und das RAID neu gesynct hat, muss man GRUB neu in die MBRs installieren:

sudo grub-install /dev/sda
sudo grub-install /dev/sdb

Platte aus Raid1 tauschen

  1. alte Platte als fehlerhaft setzen (faulty).
     mdadm --manage /dev/md127 --fail /dev/sdb1
    

Ergebnis kann mit

  cat /proc/mdstat
  mdadm --detail /dev/md127

angezeigt werden.

  1. alte Platte aus Raid entfernen
      mdadm --manage /dev/md127 --remove /dev/sdb1
    
  2. alte Platte aus Schacht entfernen
  3. neue Platte partitionieren
      sfdisk -d /dev/sda | sfdisk -f /dev/sdb
    

schreibt die Partitionierungsdaten der ersten Platte auf die zweite (force nötig, sonst kommt eine Fehlermeldung).

  1. neue Platte ins Raid aufnehmen

Erstmal testen, als was die Platte erkannt wurde (siehe Hinweis):

  tail -f /var/log/syslog

Platte ins Raid aufnehmen (kommt eine Fehlermeldung, die Partition sei zu klein, einfach Platte nochmals ziehen)

  mdadm --manage /dev/md127 --add /dev/sdb1

Hinweis: Es kann vorkommen, dass die Platte nicht als /dev/sdb erkannt wird und z.B. als /dev/sdg eingebunden wird. Das ist nicht weiter tragisch, denn beim nächsten booten sortiert der Kernel eh wieder neu, und es kommt ausschließlich auf die Rais-UUID der Platter an, anhand derer wird sie ins Raid eingebunden, man könnte die Plattan folglich auch einfach vertauschen, das macht garnichts aus.

Der mdadm-Daemon überträgt nun die Daten von Platte 1 nach Platte 2, der Vorgang kann beobachtet werden:

  cat /proc/mdstat
  mdadm --detail /dev/md127

Raid mit nur einer Platte starten

Wenn sich eine Platte aus einem Raid verabschiedet hat, so kann der Inhalt der anderen sehr leicht mit dem Super-Boot-Stick (Rüdigers Schrank) gebootet werden.

Leider fragt Grub beim Starten, ob das Raid im degraded mode gestartet werden soll, danach ist der LVM nicht mehr active und das system startet nicht.

Die Funktion des Raid kann durch ersetzen der defekten Platte wie oben beschrieben wiederhergestellt werden. Weiterhin ist es möglich, das Raid zu stoppen und neu zusammenzubauen. (noch ungetestet)

Eine Sicherungsplatte aus einem Raid 1 an einem anderen Rechner benutzen

  • Die Platte z.B. per USB-SATA-Adapter an den Rechner anschließen, nennen wir sie /dev/sdb
  • sfdisk /dev/sdb offenbart ihre Partitionierung, nehmen wir an, das Raid liegt auf /deb/sdb1
  • mdadm --examine /dev/sdb1 gibt die Raid-Daten des Arrays aus
  • mdadm --assemble --scan --run fügt das Raid zusammen, ohne dass alle Platten da wären und weist es einem Eintrag in /dev/md/... zu.

Befindet sich auf dem Raid ein LVM, so wird dieses anschließend erkannt. Wurde das LVM in ProxMox als virtuelle HDD verwendet, so schließt man es mit

kpartx -av /dev/VOLUMEGROUP/VOLUMENAME

auf, es wird nun zusätzlich das LVM in der virtuellen Platte erkannt, welches nun irgendwohin gemountet werden kann.


Creative-Commons-Lizenz

Die Inhalte dieser Wiki-Seite erscheinen, (wo anwendbar und nicht anderweitig angegeben), unter einer Creative-Commons-Lizenz CC BY NC SA 3.0 Germany. Urheber: J. Baumgärtner und Dr. R. Kupper.

Note: See TracWiki for help on using the wiki.