• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

HOWTO: Grub, Raid1 Ausfallsicherheit

PMBOSS

Newbie
Hallo Carsten,

besten Dank für deine Tips. Wie immer hat mir die Sache aber keine Ruhe gelassen. Hier die Lösung, die bei mir nun funktioniert:


Wie alles hier ist auch das ohne Gewähr!! Wer seine Platten und oder Controller schrottet hat selbst Schuld !!!!


1. Bootloader grub auf beiden Platten installieren

Dazu eine Konsole öffnen und eingeben

grub

Damit öffnnet man die Konsole von grub.
Nun eingeben:

grub>root (hd0,1)
grub>setup (hd0)
grub>root (hd1,1)
grub>setup (hd1)

Damit wird grub in die MBR's der zweiten Partitionen der beiden Festplatten geschrieben. Ist bei mir, siehe oben, halt so. Kann natürlich auch anders partitioniert werden, dann müssen eben die Einträge geändert werden.


2. Konfigurationsdatei /etc/grub.conf ändern

Was nun noch fehlt, ist der Hinweis für grub, dass er, sollte von der ersten Platte nicht gebootet werden können, automatisch auf der zweiten Platte nach einer Bootmöglichkeit suchen soll.

Dazu wird folgende Datei geändert:

/etc/grub.conf

Die muss dann so aussehen:

# Booten automatisch nach 10 Sekunden
timeout 10
# Standard Booten von hd0
default 0
# Fallback auf hd1, falls hd0 scheitert
fallback 1
# Booten disc 0 kernel
kernel (hd0,1)/boot/vmlinuz root=/dev/md0
initrd (hd0,1)/boot/initrd
# Booten disc 1 kernel
kernel ((hd1,1)/boot/vmlinuz root=/dev/md0
initrd (hd1,1)/boot/initrd

Damit weiß grub, von welcher Platte/Partition er alternativ booten soll.


3 RAID-Funktion testen

Um sicher zu sein, dass erst mal alles richtig läuft, kann man sich den Status des RAID-Arrays so anzeigen lassen:

mdadm --detail /dev/md0

Da müssten oben 2 Raid-Devices und der Status "Clean" sowie ganz unten die beiden Platten mit Status "active sync" stehen. Ist das der Fall, läuft das RAID ordnungsgemäß.

Jetzt geht's los: Den Stromstecker der ersten Platte ziehen und den Server neu starten. SCSI-Platten und Controller sollten das verkraften. Bei IDE-Platten unbedingt VORHER runterfahren und ausschalten!! Läuft alles richtig, dann bootet die Kiste trotzdem ohne Probleme.

Dann wieder neu starten aber vorher die abgehängte Platte wieder anschließen. Auch jetzt muß die Kiste ohne Probleme booten. Am System anmelden und eingeben:

mdadm --detail /dev/md0

Das zeigt den Status des RAIDs "md0". Ganz unten sieht man jetzt, dass nur noch eine Platte den Status "active sync /dev/sda2" hat. In meinem Fall ist also nur noch die Partition sda2 im RAID aktiv.

Eine weitere Partition wird noch als Zeile aufgeführt, steht aber auf Status "removed". Das heißt, dass durch das Abstöpseln dieser Platte diese aus dem RAID-Verbund fällt. Der wird auch nicht automatisch wiederhergestellt, nur wenn man den Stecker wieder einsteckt.

Steckt man die Platte im noch laufenden System wieder ein, dann wird sie im RAID zwar angezeigt aber als nicht mehr synchron deaktiviert. Ist das der Fall, dann muss die Platte erst aus dem RAID entfernt werden mit

mdadm /dev/md0 -r /dev/sdb2

Ist sie draussen, dann kann sie mit

mdadm /dev/md0 -a /dev/sdb2

wieder in den RAID-Verbund eingehängt werden und wird automatisch synchronisiert. Mit

mdadm --detail /dev/md0

kann man den Stand der Synchronisierung sehen. Da steht dann nämlich z.B.:

Rebuid Status : 52% complete

und ganz unten sieht man eine neue Platte mit Status "spare rebuilding".

Ist der Rebuild abgeschlossen, hat man wieder ein schönes RAID1 mit zwei Platten und Status "active sync".

YEAH!!!

Das ganze funktioniert tatsächlich nun bei beiden Platten, d.h. egal welche ausfällt, ob im laufenden Betrieb oder beim Reboot, die Kiste läuft weiter. Jetzt muß ich nur noch rauskriegen, wie man mdadm dazu bekommt, das RAID online zu überwachen und hübsch per mail laut zu geben, wenn sich eine Platte verabschiedet. Dann bin ich glücklich und zufrieden - mindestens was das Thema RAID angeht.

Und hier noch die Ergänzung zum Thema automatische Benachrichtigung:

4. Automatische Benachrichtigung einrichten

4.1 Postfix

In meinem Fall übernimmt der Server normalerweise keinerlei Mail-Funktionen. Das soll auch so bleiben. Damit er aber immerhin interne Mails korrekt verschicken kann, muß trotzdem eine Minimalkonfiguration in der Datei

/etc/postfix/main.cf

erfolgen. Die folgenden drei Zeilen zu ändern bzw. zu aktivieren (# entfernen) reichte in meinem Fall aus:

myorigin = $myhostname
mynetworks = Mein.IP.Adresskreis.0/24, 127.0.0.0/8
relayhost = [IP.Adresse.meines.Mailservers]

Nicht vergessen: Nach der Änderung der main.cf muß die Konfiguration noch in der Konsole mit

postfix reload

geladen werden. Postfix wird bei Suse standardmäßig mit installiert und gestartet. Da braucht man sonst nichts zu machen.

4.2 mdadm konfigurieren

Sehr einfach: In der Datei

/etc/mdadm.conf

wird die Zeile

MAILADDR admin@meine.domain.de

angehängt. Kann natürlich jede x-beliebige Mail-Adresse sein. Allerdings nur eine einzige.

4.3 mdadm als Daemon starten

Einfach über den Yast/System/Runlevel-Editor den Dienst mdadmd starten

Erfolg: Fällt jetzt eine Platte aus, geht eine Fehlermeldung per Mail an die oben eingestellte Mail-Adresse raus, die freundlicherweise mitteilt, welches Array an welchem Server betroffen ist.

Yippieehhhhh!


Weitere Tips sind natürlich jederzeit willkommen
 

djchris66

Newbie
Hi,

ich hab die Konfiguration so vorgenommen wie beschrieben nur erhalte ich keine Email wenn eine Platte im Raid ausfällt.

der Befehl

mail "test" email-adresse < file

schickt mit postfix eine email raus.

lg
chris
 
läuft der mdadm als Dämon ? Mußt du explizit für deine Runlevels starten lassen im Runleveleditor.

Grüße
 

djchris66

Newbie
lt. ps -ef sollte er laufen, oder?


root 4471 1 0 Oct27 ? 00:00:00 /sbin/mdadm -F -d 60 -m root@loc
postfix 4473 4457 0 Oct27 ? 00:00:00 qmgr -l -t fifo -u
root 4485 1 0 Oct27 ? 00:00:00 startpar -f -- mdadmd

lg chris
 

djchris66

Newbie
Ich hab den eindruck der Dienst startet nicht richtig mit yast, weil sich jast beim starten von mdadm im runleveleditor aufhängt.

gibts einen manuellen weg den dämon zu starten?
 
als root rcmdadm start|status|stop
könnte auch mdadmd heißen. Halt irgendsowas. Ach ja, und nur einen der Befehle dahinter
 

djchris66

Newbie
mdadm bietet keine start/stop/... option und rcmdadm kann nicht gefunden/ausgeführt werden.

gibt es eine möglichkeit alle systemfehler und warnungen an eine emailadresse zu schicken oder funktioniert das nur mit dem mdadm-deamon?

lg
chris
 

josef-wien

Ultimate Guru
Auf der Diskussionsseite zum HOWTO "NonRaid zu (software)Raid1 SuSE 10 1" habe ich meine Erfahrungen mit openSUSE 11.0 heute ergänzt um eine Beschreibung, wie eine POPUP-Fehlermeldung eingerichtet werden kann.
 

68k

Newbie
Hallo!
Nur schnell eine Anfängerfrage: Wenn du das Raid so konfigurierst (DANKE FÜR DIESE ANLEITUNG!), machst du dann noch eine SWAP Partition? Oder alles auf dem Raid, d.h. ein Raid und fertig?

Gruss
Felix
 

josef-wien

Ultimate Guru
Ich verstehe die Frage nicht.

Bei einem Software-RAID faßt Du jeweils 2 oder mehr Partitionen zu einem RAID-Verbund zusammen, aber nicht 2 oder mehr Festplatten als Ganzes. Welche Partitionen Du spiegelst, bleibt Deiner Entscheidung überlassen.

Und ob man die SWAP-Partition spiegeln soll oder nicht, darüber gibt es sehr gegensätzliche Meinungen. Sofern man ohne "suspend to disk" auskommt, sehe ich keinen Sinn darin, temporäre Daten zu spiegeln, da ist es (und sei es aus Gründen zweier gleich partitionierter Festplatten) besser, mit 2 getrennten SWAP-Partitionen zu arbeiten. Wenn man "suspend to disk" verwendet, hätte es Sinn, aber ich zitiere aus dem HOWTO "NonRaid zu (software)Raid1 SuSE 10 1": "Bei Tests unter 10.3 haben sich massive Probleme mit der Kombination von "gespiegeltem Swap" und "Suspend to Disk" ergeben. Auch Krückenlösungen brachten hier nicht den richtigen gewünschten Erfolg."
 

eddie_x1

Newbie
ist es eigentlich besser das Raid gleich bei der Installation erstellen zu lassen oder es im Nachhinein zu erstellen?
 
A

Anonymous

Gast
eddie_x1 schrieb:
ist es eigentlich besser das Raid gleich bei der Installation erstellen zu lassen oder es im Nachhinein zu erstellen?

hat beides seine Vor- und Nachteile. Nachträglich zu erstellen ist ewig aufwendig und erfordert ein bischen Hintergrundwissen. Hat zB den Vorteil, man kann erstmal das neue System paralell zum Alten ohne Spiegelung laufen lassen. Wenn es einem gefällt und es funktioniert und ist fertig konfigueriert, dann verwirft man das Alte, kopiert die privaten Daten rüber und spiegelt sein Neues System. Während der ganzen Ausprobiererei und Feinjustage hat man noch sein altes System betriebsbereit auf dem Rechner. Und hinterher wenn alles funktioniert kann man stolz auf sich selbst und sein System sein, manch einer braucht solche Selbstbestätigung.


Gleich bei der Installation ist es schneller erledigt und einiges einfacher, (wenn man den Installationstools dazu bekommt genau dass zu machen was man gerne haben möchte. ;) ) Man muss aber hier dennoch vorher schon eine gewisse Vorstellung mitbringen, wie das System letztendlich aussehen soll. In der Praxis wird oft nicht der erste Installationsvorgang auch der Letzte gewesen sein.
Vorteilhaft hier, man kann zusätzlich auch noch mit LV oder Verschlüsselung und ähnlichen bequem herumspielen, ohne dass man wirklich bis ins Detail genau weiß ,was man da eigentlich genau macht. Der Nachteil, man ist auf die Fähigkeiten der Installationstools angewiesen, die werden oft nicht alle theoretischen Möglichkeiten wirklich ausschöpfen können und sich scheinbar zickick verhalten wenn man es versucht zu erzwingen. Einiges an Nacharbeit ist dann nicht selten notwendig und auch aufwendig. (Beispiel; Grubkonfiguration für failover)
Einen Nachteil wirst du spätestens dann bemerken wenn da mal wirklich was zu reparieren ist. Dann fehlt dir einfach das know how die Erfahrung und der Überlick und das Feingefühl welches du wahrscheinlich erlangen würdest, wenn du es per Hand aufgesetzt hättest. Erfahrungen zeigen leider, dass dann in dieser Situation oftmals aus Unwissenheit mehr Datenverlust produziert wird, wie das Raid zu seinen Lebzeiten jemals hätte absichern können.


Such dir einen Weg für dich aus, je nach dem was du dir zutraust, und ob du eventuell auch damit leben könntest, nicht genau zu wissen was ein RAID eigentlich wirklich ist, und wie die Konfiguration aussieht, Hauptsache es funktioniert.

robi
 
Oben