WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Linux, UNIX, Open Source (http://www.wcm.at/forum/forumdisplay.php?f=13)
-   -   Redhat Software Raid 1 (http://www.wcm.at/forum/showthread.php?t=98218)

chrisne 27.05.2003 18:27

Redhat Software Raid 1
 
hi,

ich suche gute HOWTOs zu software raid 1 unter linux.
ich möchte eine komplette festplatte spiegeln (hda auf hdb)
und irgendwie bekomme ich das nicht ganz hin.

ich habe eine raidtab angelegt:
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1

device /dev/hda
raid-disk 0
device /dev/hdb
raid-disk 1

und mit mkraid /dev/md0 das raid erstellt.
mit cat /proc/mdstat habe ich geschaut wann es fertig ist und danach mit df /dev/hdb2 auch alle part. gesehen.
nur der reboot war nicht gut ;)
so einfach geht es auch nicht :)

suche jetzt tips und ein gutes howto wo auch drinnen steht, wie ich das raid dann ansprechen kann.
das mit den /dev/md0 habe ich nicht ganz verstanden. aber mein howto was ich gefunden habe ich auch ur alt.

thx für die hilfe
chris

nique 28.05.2003 11:06

@chrisne

Geht mir genauso!
So ein SoftRaid ist doch komplizierter als man denkt, zumindest bis es Dir einer mal richtig erklärt hat.
Ich wollte ganz einfach - so wie Du - ein Raid1 anlegen. Der Unterschied ist nur der, dass ich Suse 8.1 verwende.
Wenn Du nun 3 Leute fragst, wie man ein Raid einrichtet, sagt Dir jeder etwas anderes. Ich war der Meinung, ich baue nach der Installation eine 2.Platte ein und erstelle ein Raid, die meine gesamte Platte mit allen Partitionen (auch /boot, swap, usw.) spiegelt.

Ich hab z.B folgende Part.

1 1 / 300M /dev/hda1
1 2 swap 64M /dev/hda2
1 3 /home 800M /dev/hda3
1 4 /var 900M /dev/hda4

Die Installation befindet sich bereits auf der ersten Platte.

Was mach ich aber mit meiner 2 Platte, um die erste komplett zu spiegeln???
Muss ich auf hdc exakt die selben Partitionen anlegen??

Z.B so:
2 1 / 300M /dev/hdc1
2 2 swap 64M /dev/hdc2
2 3 /home 800M /dev/hdc3
2 4 /var 900M /dev/hdc4

Die Frage ist... geht das überhaupt?
Denn die Mountpunkte sind ja bereits f. d. erste Platte vergeben.

-----------------------------------------------------------------
Weitere Punkte die mir nicht klar sind:

Hab ich in div. Dokus gefunden:

????? Nun ist es möglich, über "mkraid /dev/md0" die Superblocks zu erzeugen und das Array zu starten. Wichtig ist noch, dass die Festplatten die verwendet werden nicht gemountet sind. Daher macht es Sinn die entsprechenden Einträge gleich aus /etc/fstab herauszunehmen bzw. sie auskommentieren. ?????

Es wird also ausgegeben, dass das Array nun synchronisiert wird. Dieser Prozess läuft Transparent ab, d.h. wir können das Array berreits formatieren und benützen. Formatieren ist mit dem Befehl "mke2fs /dev/md0" möglich. Danach kann das Array mit "mount -t ext2 /dev/md0 /verzeichnisname" in das gewünschte Verzeichnis gemountet und benützt werden.
-> Wenn ich "mke2fs /dev/md0" ausführe, lösche ich dann nicht auch die Daten auf der ersten Platte?
---------------------------------------------------------------------

Gibt es niemanden, der verständlich erklären kann, wie man eine gesamte Platte (alle Partitionen 1:1) mit Raid1 betreiben und den Bootloader entsprechend anpassen kann?

Danke an alle!

Gruß
nique

chrisne 28.05.2003 11:18

Zitat:

Original geschrieben von nique
Gibt es niemanden, der verständlich erklären kann, wie man eine gesamte Platte (alle Partitionen 1:1) mit Raid1 betreiben und den Bootloader entsprechend anpassen kann?
ein gutes howto würde mir ja schon reichen.
soll ja keiner sagen, dass ich das nicht vorher lese bevor ich hier frage :)
es freut mich aber, dass ich nicht alle so "dumm" bin ;)

paux 28.05.2003 11:20

http://www.wcm.at/vb2/showthread.php?s=&threadid=90362
http://www.ostenfeld.dk/~jakob/Softw...AID.HOWTO.html

lg paux

valo 28.05.2003 11:29

ich nehme an ihr verwendet raidtools2, der raidsupport is fix im kernel drinnen?

das manual liegt unter /usr/doc/raidtools2/Software-RAID.HOWTO

entweder mit einem browser die index.html öffnen oder mittels zless /usr/doc/raidtools2/Software-RAID.HOWTO/Software-RAID.HOWTO.txt.gz die text datei lesen...

da steht eigentlich alles drin, auch was man beachten muss wenn man vom raid booten will und dergleichen....

nique 28.05.2003 13:42

@valo und paux

Danke für Eure Antworten!

Möcht mich dem was chrisne gesagt hat anschliessen.
D.h., ich hab mir schon div. Anleitungen reingezogen und
schon mehrere Stunden damit verbracht, meine Kiste zum laufen
zu bringen. Ich schrei auch nicht immer gleich um Hilfe.
Es gibt halt in den Dokus keinen wirklichen Standard, indem steht, wie man step by step ein z.B. Softraid (Raid1) mit den raidtools anlegt, wobei die gesamte Platte gespiegelt werden soll.
Jeder sagt was anderes.

Z.B. ist es mir immer noch nicht klar, ob ich nun die exakt selben Part. auf d. 2.Platte anlegen soll.
2. Geht das überhaupt, dass man der 2. Platte die selben Mountpunkte zuweist.
3. soll man nun die /boot und swap Part. ebenfalls dem Raid zuweisen , etc.
Und dann kommt eben noch die Sache mit dem /proc Verzeichnis. In dem Link, den paux gesendet hat, steht was von... ich darf das proc Verziechnis nicht kopieren. Das lese ich aber in anderen Dokus wieder nicht.

Wisst Ihr nun was ich mein?
Ich kenn mich bald überhaupt nicht mehr aus.

Gruß
nique

paux 28.05.2003 14:11

Zitat:

Original geschrieben von nique
0.) Es gibt halt in den Dokus keinen wirklichen Standard, indem steht, wie man step by step ein z.B. Softraid (Raid1) mit den raidtools anlegt, wobei die gesamte Platte gespiegelt werden soll.
Jeder sagt was anderes.

1.) ist es mir immer noch nicht klar, ob ich nun die exakt selben Part. auf d. 2.Platte anlegen soll.

2.) Geht das überhaupt, dass man der 2. Platte die selben Mountpunkte zuweist.

3.) soll man nun die /boot und swap Part. ebenfalls dem Raid zuweisen , etc.

4.) Und dann kommt eben noch die Sache mit dem /proc Verzeichnis. In dem Link, den paux gesendet hat, steht was von... ich darf das proc Verziechnis nicht kopieren. Das lese ich aber in anderen Dokus wieder nicht.

ad 0.) Ging mir exakt genauso, erst ein HOWTO in einem Magazin brachte mich zum Erfolg - mittlerweile hab ich mir aus autodidaktischen Gründen ein Simple HOWTO selbst geschrieben (unten angefügt.)

ad 1.) Ja mußt du, sonst regt sich eine Fehlermeldung über nicht zusammenpassende Partitionen auf.

ad 2.) Es werden die /dev/md* (Multi-Disk-)Partitionen gemountet, und nicht die /dev/hd[ab]

ad 3.) Nicht notwendig, aber sinnvoll. LILO kann übrigens nur von RAID-1 booten, nicht von RAID-5, AFAIK.

ad 4.) Sonst kommt beim Booten die Fehlermeldung "Found trash under /proc, ignoring" (oder so ähnlich) - bei mir war sowieso / zu klein um auch /proc mitkopieren zu können.

==== Simple Linux Software RAID-1 HOWTO by paux ====
==== Angaben ohne Gewähr ====

1. Basissystem auf Platte A installieren, inkl. finaler Partitionierung. RAID-Tools installieren.
2. Mit fdisk Plattengeometrie von A auslesen und auf Platte B übertragen.
3. Auf Platte B exakt dieselben Partitionen wie auf A anlegen, allerdings den Filesystem-Typ aller Partitionen auf »RAID autodetect« einstellen, auch für Swap.
4. /etc/raidtab gemäß ausführlichem HOWTO einrichten, Platte A als »failed« kennzeichnen.
5. RAID-Array anlegen, mit mkraid /dev/md0 usw. Da Platte A failed ist, werden nur die Daten von B überschrieben.
6. Filesysteme auf den /dev/md* anlegen, z.B. mke2fs -j /dev/md0 usw. für Ext3.
7. Die Multi-Disk-Arrays /dev/md* auf /mnt, /mnt/boot usw. einhängen und mit rsync -av / /mnt --exclude /proc --exclude /mnt alle Daten von A nach B kopieren.
8. In /mnt/etc/fstab (d.h. auf Platte B) die Einträge /dev/hda* durch die korrespondierenden /dev/md* austauschen.
9. Kernel mit RAID-Support nach /mnt/boot (d.h. auf Platte B) kopieren.
10. LILO einen neuen Eintrag verpassen, sodaß man entweder den alten Kernel von Platte A (ohne RAID) booten kann, oder eben den Kernel von B mit RAID-Support. Mit lilo den MBR neu beschreiben.
11. Rebooten, RAID-Kernel auswählen und beten. Bei Erfolg nächsten Punkt überspringen.
12. Bei Fehler wieder rebooten, den alten Kernel auswählen und von Platte A booten. Fehlerbehebung. Zurück zu vorigem Punkt.
13. Mit cat /proc/mdstat RAID-Aktivität verifizieren, Platte A muß failed sein, gekennzeichnet durch Unterstrich »_«. System ausgiebig testen.
14. Wurde das System ausgiebig gestestet, mit fdisk die Partitionstypen von Platte A ebenfalls auf RAID-Autodetect umstellen - alle Daten von A gehen dabei verloren!
15. In /etc/raidtab Platte A nicht mehr als failed kennzeichnen, sondern als zweite Platte den Multi-Disks hinzufügen.
16. Mit raidhotadd /dev/md0 /dev/hda1 usw. die Partitionen von A dem laufenden RAID-Array hinzufügen. Verlauf der Synchronisation mittels cat /proc/mdstat kontrollieren.
17. Nach der Synchronisation LILO mittels des Eintrags raid-extra-boot=/dev/hda,/dev/hdb so einrichten, daß sowohl der MBR von A als auch von B beschrieben werden, damit von beiden gebootet werden kann.
18. Finaler Test-Reboot, wieder /proc/mdstat konsultieren. Sich freuen.
================

lg paux

nique 28.05.2003 14:34

@paux

Danke! Werd es gleich heut Abend ausprobieren.

Gruß
nique

chrisne 28.05.2003 14:36

Zitat:

Original geschrieben von paux
....
==== Simple Linux Software RAID-1 HOWTO by paux ====
==== Angaben ohne Gewähr ====.....

super danke dafür. habe mir das gerade durchgelesen. hört sich vernünftig an :)
ein bisschen aufwendig das ganze unter linux. bin gerade dabei mein rothut neu zu installieren und dann teste ich das gleich.

thx
chris

callas 28.05.2003 15:06

wenn du es schon neu installierst und beide platten drinnen hast, kannst du ja bei der installation mit diskdruid schon dein raid anlegen. ist einfacher als nachher und hat bei mir unter RH 8 und 9 noch immer funktioniert.

chrisne 28.05.2003 15:59

Zitat:

Original geschrieben von callas
wenn du es schon neu installierst und beide platten drinnen hast, kannst du ja bei der installation mit diskdruid schon dein raid anlegen. ist einfacher als nachher und hat bei mir unter RH 8 und 9 noch immer funktioniert.
:) mhm könnte ich. aber ich will ja auch was dazu lernen und darum mache ich es ja genau deshalb nicht so.

chrisne 28.05.2003 18:50

also ich habe das jetzt einmal versucht und hänge beim mkraid fest.

ich habe in der raidtab md0,md1,md2,md3,md4,md5,md6,md7 angelegt
und wollte diese mit mkraid einrichten.
md0 ging noch ohne probleme.
mkraid /dev/md1
handling MD device /dev/md1
analyzing super-block
disk 0: /dev/hdb1, 104391kB, raid superblock at 104320kB
/dev/hdb1 appears to contain an ext2 filesystem --use -f to override
mkraid: aborted

mkraid /dev/md2 bringt die gleiche meldung. die anderen 3-7 gingen ohne probleme.
danach hatte ich nocheinmal mkraid /dev/md1 probiert und nun bekomme ich folgenden fehler:
mkraid /dev/md1
/dev/md7: array ist active -- run raidstop first
mkraid: aborted


1, was meint der mit den ext2 filesystem ??
2, warum geht er bei /dev/md1 auf /dev/md7 ???

md6 = hda8 = Linux LVM
md7 = hda9 = Linux LVM

kann man einen lvm partition nicht spiegeln ???

mkraid --really-force: das habe ich nicht ganz verstanden, kann mir das wer erklären ?

wenn ich reboote, dann sehe ich meine raids (md0....md7) dass rothut diese startet. bei md1 und md2 steht skipped.

thx chris

callas 28.05.2003 20:24

Zitat:

Original geschrieben von chrisne


aber ich will ja auch was dazu lernen

viel erfolg ;)

nique 28.05.2003 22:43

Hi!

Also, ich bin grad dabei, ein Raid1 (laut Anleitung von paux) zu erstellen.
Was ich noch wissen wollte ist, wie man die Plattengeometrie mit fdisk auf die 2.Platte übertragen kann.

2. Ich wollt eine Partition verkleinern, um eine weitere Part. anlegen zu können. Ehmm, wie geht das denn? Auch hier hab ich mich mit fdisk nicht wirklich drübergetraut.


Danke!!

Gruß
nique

chrisne 28.05.2003 23:10

Zitat:

Original geschrieben von nique

Also, ich bin grad dabei, ein Raid1 (laut Anleitung von paux) zu erstellen.
Was ich noch wissen wollte ist, wie man die Plattengeometrie mit fdisk auf die 2.Platte übertragen kann.

ich habe einfach 1:1 die gleichen partitionen auf der 2 platten angelegt. und als type raid ausgesucht.
so habe ich das verstanden.

gruss

nique 28.05.2003 23:18

@chrisne

Glaub nicht, dass das alleine ausreicht.
Beim Anlegen einer Part. fragt mich (in meinem Fall yast), nach dem Anfangs- und Endblock. Geb ich jetzt für hdb1 z.B. 0 - 1 an, wird für diese Part. 15,7 MB reserviert.
Bei der anderen Platte nur 0,9 MB.
Also muss man die exakte Geometrie übertragen.
So hab ich das verstanden. Aber wie das funkt, weiß ich nicht.

Gruß
nique

chrisne 29.05.2003 00:22

fdisk /dev/hda
p --> zeigt dir alles an, was du wissen musst.
q (wieder beenden ohne speichern)

fdisk /dev/hdb
n --> neue part. anlegen.
p --> für primär
1 --> für die erste part.
größe angeben (siehst du aus fdisk /dev/hda)
t --> typ ändern
1 --> für part. 1
fd --> für auto raid (bin mir jetzt nicht ganz sicher ob fd richtig ist)

die restlichen part. genauso anlegen.
w --> speichern
reboot damit alles aktiv ist.

------------
damit solltest du auf hdb die gleichen part. wie bei hda haben.
habe suse schon lange nicht mehr verwendet. aber mit yast würde ich das sowieso nicht tun.

gruss

paux 29.05.2003 01:33

Ich mal wieder :)

Erstens: Nicht aufgeben! :)

Zweitens: Da mkraid Daten vernichtet, muß man -f für "force" angeben. Das führt aber wieder nur zu einer Warnung, daher --really-force :)
Quasi eine Extra-extra-sind-Sie-sicher-Absicherung

Drittens: `fdisk -l /dev/hda` listet die Partitionsdaten, darunter auch die Geometrie, z.B.
Disk /dev/hda: 255 heads, 63 sectors, 527 cylinders
Dies merken, und bei `fdisk /dev/hdb` mit "x" ins Expertenmenü, und mit "c", "h" und "s" die entsprechenden Daten übertragen. Dies setzt voraus, daß die Platten "halbwegs gleich" sind.

lg paux

PS: Gewöhnts euch manpage-Lesen an. man fdisk, man mount, man mkraid, usw.usf.

chrisne 29.05.2003 12:19

Zitat:

Original geschrieben von paux
PS: Gewöhnts euch manpage-Lesen an. man fdisk, man mount, man mkraid, usw.usf.
;) nach langem lesen gestern habe ich die option --really-force angegeben. mkraid rennt durch.
bei einen reboot steht aber bei md1 und md2 noch immer skip.
händisch starten kann ich sie aber nacher.


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag