Software Raid mit BSD 5.1 mal ganz einfach

UnUser

Well-Known Member
Software Raid mit FreeBSD 5.x mal ganz einfach

Folgende Verfahrensweise haben wir ausgiebig getestet:
unter 5.1
und erneut unter 5.3 Release

SoftRaid erstellen mit atacontrol

Wir gehen von folgendem aus wir haben 2 Platten, jeweils
als Masterdevice an ATA Channel 0 ad0 und an 1 ad2

Zur Installation haben wir ein CD-ROM als Slave an den 2ten IDE Kanal gehangen


1.) System auf Platte ad0 installieren. Es darf ruhig minimal installiert werden, da wir sowieso später die Installation erneut durchführen.

2.) Neustart. Von der Installation auf ad0 booten.

3.) "atacontrol create RAID1 ad0 ad2". Dabei wird die Raidsignatur auf den beiden Platten geschrieben. Allerdings werden die vorhandenen Daten nicht gespiegelt.

4.) FreeBSD InstallCD wieder in das CDROM einlegen, rebooten und neu installieren.

5.) !!!ACHTUNG!!! Jetzt zeigt der Installer als mögliche Ziele der Installation

ad0
ad2
UND unser Array
ar0

Wir wollen natürlich auf ar0 installieren.

6.) So werden jetzt alle Daten auf identsich auf ad0 und ad2 geschrieben :)))



Raid funktionen testen:

1.) atacontrol detach 1 # wir schalten den ATA Channel 1 um einen
ausfall einer Platte zu simulieren

2.) System meldet "UAHHH Array degraded"

3.) Wir schreiben jetzt mal auf dem "degraded Array", z.B. "dmesg >beispiel.txt

4.) atacontrol attach 1 # wir schalten Channel 1 wieder zu

5.) atacontrol addspare ar0 ad2 # und geben dem Array ar0 wieder eine "spare" disk,
damit wir mit dieser wieder das Array herstellen können.

6.) atacontrol rebuild ar0

7.) "atacontrol status ar0" gibt jetzt zurück wie weit die
Wiederherstellung fortgeschritten ist.

Bitte sagt mir wo, soeine Beschreibung schon zu finden war! Wenns eine gibt?!

Ich bitte um Kommentare :)
 
Zuletzt bearbeitet:
Das ist Controller abhängig.

Ein HPT37x z. B. kann per BIOS FreeBSD bei der Installation ein ar0 anbieten, ein SIL0680 z.B. nicht.
Bei letzterem muss also manuell ein create RAID1 durchgeführt werden, bei ersterem nicht.
Wenn man gar keinen Hardware (RAID) Controller hat und / auf RAID haben will muss man natürlich auch zuerst eines anlegen und ann FreeBSD installieren (und das Anlegen geht natürlich nur mit FreeBSD)

Grüsse,

-Kaeptn
 
bei der Beschreibung hatte ich keine "Raidcontroller" ala HPT 37x oder Promise. Es handelt sich um die normalen IDE ports auf dem
mainboard, via .


----
DawiContr. DC 100
Der HTP370 / 372 Revision 1.1 bis Freebsd 5.0
Revision 1.2 erst ab 5.1 Release

Mit diesem Contr. hatte ich garkeine Probs, war eine Platte defekt:

Rechner aus - Platte tauschen - Contr Bios Raid wiederherstellen -
und booten.

Danach sagt BSD "Raidarray ready" und alle Daten sind wieder redundant.

---
 
Zuletzt bearbeitet:
Du nimmst also ein RAID1.
Das heißt auf eine Festplatte kommen die Daten und auf die anderen Platte wird gespiegelt, ist das so richtig formuliert?

Wie sieht das mit der CPU-Last aus?
Ist das heutzutage noch relevant bei den großen GHz-Prozessoren?

Kann man sich irgendwie benachrichtigen lassen, wenn eine Platte ausgefallen ist?
 
>Du nimmst also ein RAID1.

Ja.

>Das heißt auf eine Festplatte kommen die Daten und auf die anderen Platte wird gespiegelt, ist das so richtig formuliert?

Ja. Es handelt sich um ein Softraid, daß heißt

- er liest immer nur von einer Platte (also kein Performance Gewinn)
- und schreibt auf beiden (eher noch Performance Verlust)

>Wie sieht das mit der CPU-Last aus?

Gute Frage, ist für mich eher uninteressant. Ich mache aber gern 1-2
Tests und Poste die Ergebnisse. Welcher Benchmark solls denn sein?

>Ist das heutzutage noch relevant bei den großen GHz-Prozessoren?

Einen Perfomance Einbruch "spürt" man jedenfalls nicht, daß anlegen der Ports (von CD) ging fast genauso schnell.

>Kann man sich irgendwie benachrichtigen lassen, wenn eine Platte ausgefallen ist?

Darüber habe ich auch schon gebrübelt. Im Moment würde ich per cron alle Stunde "atacontrol status ar0" aufrufen und mir den
die Ausgabe per Mail schicken lassen.
Es sollte mit einem recht einfachen Script auch möglich sein, daß man nur einem mail bekommt, wenn der Status "Degraded" zurückgegeben wird.

Ansonsten bin ich eher darauf aus, mit Monitoringdiensten an die Statusinformationen zu kommen. Vieleicht kann man auch über SNMP etwas machen ... ich bleib dran.
 
Gute Frage, ist für mich eher uninteressant. Ich mache aber gern 1-2
Tests und Poste die Ergebnisse. Welcher Benchmark solls denn sein?
War nur eine Frage, hätte ja sein können das Du das getestest hast.

Darüber habe ich auch schon gebrübelt. Im Moment würde ich per cron alle Stunde "atacontrol status ar0" aufrufen und mir den
24 EMail an jedem Tag? Na, dann geh mal nicht für längere Zeit in den Urlaub ;)

Es sollte mit einem recht einfachen Script auch möglich sein, daß man nur einem mail bekommt, wenn der Status "Degraded" zurückgegeben wird.
Kann man den Status-Code nicht auf "ungleich OK" abfragen, ansonsten ist der Statuscode mal nicht "Degraded", sondern etwas anderes und das Script bemerkt es nicht....

Du schaltest mit:
atacontrol detach 1
die eine Platte ab.
Nun, fällt aber eine Platte nicht einfach mit "atacontrol detach 1" aus.
Was passiert denn, wenn Du einfach den IDE-Stecker von der Platte abziehst?
Bei mir haben schon Platten angefangen zuqualmen und schlimme Geräusche zumachen oder haben einen kurzen im Netzteil erzeugt.
Und wenn der Rechner im RZ steht, hoffe ich das das Softraid mind. ein abgezogenes IDE-Kabel verkraftet.

Oder erkennt der Kernel automatisch, wenn eine Platte kaputt ist und führt ein
atacontrol detach 1
automatisch durch?
 
:x
Nun, fällt aber eine Platte nicht einfach mit "atacontrol detach 1" aus.
Was passiert denn, wenn Du einfach den IDE-Stecker von der Platte abziehst?

Ich bin ganz frech und sage das "Übliche"!

Also was passiert denn bei Dir, wenn Du eine Platte vom ATA Kabel befreist? Davon würde ich abraten? Zum testen lieber den
Rechner ausschalten und dann das Kabel abziehen.

(Hier geht es nur billig + redundant)

Ich kann aus 3 Ausfällen (2x80GB WD / 2x60GB IBM / 2x30GB IBM) sagen, daß:

1:) Das System immer weiterlief

2.) Bei den WD Platten er trotz allem weiter versucht hat auf das defekte device zuzugreifen = Console vollgemüllt
(Trat nie wieder auf)

3.) Die IBM Platten sich am "besten" verhielten aber häufig kaputt gehen. hw.ata.tags=1 läuft sauber.

Leider sind diese Aussagen nicht als exemplarisch anzusehen, da es auf um Systeme mit 4.8, 5.0, und 5.1 handelte und immer
auch an atacontrol gearbeitet würde.
 
Das System immer weiterlief
Ja, bei mir bloß nicht....
=> Murphys Gesetze kennst Du ja . . .

Ne, bei mir gibt es immernur Horrorszenarien.

Platten geben einen "Kurzen" auf das Netzteil...
Platten geben einen "Kurzen" auf den IDE-Bus....
Platten fangen an Rauchzeichen zugeben ....

....all sowas schönes, was immer_sehr_viel_Spass_macht.
:(
3.) Die IBM Platten sich am "besten" verhielten aber häufig kaputt gehen.
Mit dem kaputtgehen gebe ich Dir Recht!

Ich habe neulich in der Newsgroup von FreeBSD gelesen das ein KOMPLETTES RAID-System mit über 45 Platten (!!!) auf EINEN Streich hopps gegangen ist.
Da mußte sich der Hersteller wohl einiges anhören!!! :D *ROFL*

Und das bei einem anderen Raid-System mit 6 Platten diese sich innerhalb von 6h verabschiedet haben.

*Das aber nurso nebenbei*
 
Original geschrieben von [bc]paddy.hm
Ja, bei mir bloß nicht....
=> Murphys Gesetze kennst Du ja . . .

:) Hör auf! Nur zu gut ....

Mit dem kaputtgehen gebe ich Dir Recht!

Wobei ein Paar (Raid1) IC35xxxxx (IDE) von IBM bereits seit ca. 2 Jahren im (99,8) Dauerbetrieb (lesen/schreiben auch wenns nur 30kb/s bis 7(14) MB/s sind) ohne Zicken seinen Dienst tut.

Aber die Platten nicht runterfahren :O

Spätestens beim anfahren hört das geschulte Ohr die "alten" Lager. SCSI Platten z. RaidContr. sind sowieso in allen Punkten die Lastwagen mit Sportwagenfeeling, aber halt teuer.

IDE Platten sollten sowieso, wenn man sich darauf verlassen will, redundant betrieben werden.

Ich habe neulich in der Newsgroup von FreeBSD gelesen das ein KOMPLETTES RAID-System mit über 45 Platten (!!!) auf EINEN Streich hopps gegangen ist.
Da mußte sich der Hersteller wohl einiges anhören!!! :D *ROFL*

OoO ... Der Raidc. muss 3 oder 4 Kanäle gehabt haben.
Selber bauen und mann weiss was man hat.

Und das bei einem anderen Raid-System mit 6 Platten diese sich innerhalb von 6h verabschiedet haben.

Also entweder "Badewanneneffekt" (kennst Du!?) oder Umgebung war ausserhalb der Spez. !?

*Das aber nurso nebenbei* [/B]
:eek: :eek:

Habe mit 13 SCSI Platten im Raid sehr gute Erfahrungen gemacht unter FreeBSD. Die Umgebung war aber auch immer perfekt. *stink*
 
Zuletzt bearbeitet:
Hi Kaeptn,

Du schreibst etwas weiter oben, daß der HPT 37x FreeBSD ein Array ar* zur Verfügung stellen kann.
Ich habe einen HighPoint RocketRaid 454 und dort läuft bis jetzt ein Mirror Array. In FreeBSD werden aber nur die einzelnen Platten ad4 & ad6 angezeigt.

Ein ar* ist nirgends zu finden.

Hast Du einen Tipp ??? Treiber bei HighPoint gibt es nicht (noch nicht).

Danke Borste
 
Hi Borste,

paste mal ne dmesg output ...

>Ich habe einen HighPoint RocketRaid 454 und dort läuft bis jetzt ein Mirror Array. In FreeBSD werden aber nur die einzelnen Platten ad4 & ad6 angezeigt.

ich denke Freebsd wird Ihn als normalen IDE Contr. behandeln und somit beide Platten anzeigen.

Hast Du ein Freebsd mal frisch auf dem Array installiert?
 
Hi!
also ich habe alles wie oben beschrieben und das RAID hat auch prima geklappt. Nun stellen sich mir aber 2 Fragen:
1. Für einen Test hatte ich die zweite HD (ad2) abgehängt und neu gebootet, ging alles gut. Dann habe ich in das degraded array das nur noch aus ad1 bestand eine 600MB Datei eingespielt und daraufhin den Rechner ausgemacht und ad2 wieder eingehängt.
Danach meldet sich erstmal fsck und meckert was ich erstmal abgerochen habe und stattdessen im singeuser mode "atacontrol rebuild ar0" gemacht hab und danach fsck. Ist das in dieser Reihenfolge überhaupt richtig? Jedenfalls war die 600MB Datei danach auf dem Aarry vorhanden. Alles so wie es sein soll ;)
Jetzt habe ich es aber andersrum getestet, das heist ich hab ausgeschaltet und ad0 abgehängt so das dass Array nur noch aus ad2 bestand. Dann wieder eine neue 600MB Datei auf das array gemacht, ausgeschaltet und ad0 wieder eingehängt. Nach dem rebuild aber war die Datei _nicht_ da, das heist er hat ad0 auf ad2 gespiegelt? Kann ich irgendwie angeben das er in diesem fall ja ad2 auf ad0 spiegeln hätte sollen? Oder wird immer von der am IDE1 am Master hängenden HD (ad0) auf die am IDE2 hängende Master HD (ad2) gespiegelt? Das wäre nicht so gut wenn ad0 mal kaputt geht.

2.Wie ist das mit der HD Hardware? Wenn ich jetzt 2x Maxtor 80GB gleiches Fabrikat habe und diese auch 1 Jahr laufen und dann eine davon kaputt geht, kann ich dann auch eine andere HD einbauen zb ne Seagate 160Gb ? Ob dann 80GB der Seagate verschwendet werden würden wäre mir nicht so wichtig ;)

Vielen Dank für eure Antworten!
Und sorry wenn für euch diese Fragen unerfahren rüberkommen, aber genau das bin ich mit RAID und FreeBSD im Moment noch.Aber auch verweise auf grössere RAID Howtos wo das alles genau steht sind mir recht.
 
Soderla , jetzt habe ich 3 server mit atacontrol mosis ausprobiert, alle liefen unstabil mit 5.2.1 -p4 .

Code:
Jun  1 08:56:29 intel kernel: Timecounters tick every 10.000 msec
Jun  1 08:56:29 intel kernel: acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0%
Jun  1 08:56:29 intel kernel: GEOM: create disk ad0 dp=0xc2e11a60
Jun  1 08:56:29 intel kernel: ad0: 14655MB <Maxtor 91531U3> [29777/16/63] at ata0-master UDMA33   
Jun  1 08:56:29 intel kernel: GEOM: create disk ad1 dp=0xc2e11760  
Jun  1 08:56:29 intel kernel: ad1: 9768MB <ST310014A> [19846/16/63] at ata0-slave UDMA33
Jun  1 08:56:29 intel kernel: GEOM: create disk ad2 dp=0xc2d8fd60
Jun  1 08:56:29 intel kernel: ad2: 9768MB <ST310014A> [19846/16/63] at ata1-master UDMA33
Jun  1 08:56:29 intel kernel: GEOM: create disk ar0 dp=0xc2d869e0
Jun  1 08:56:29 intel kernel: ar0: 9767MB <ATA RAID1 array> [1245/255/63] status: DEGRADED subdisks:
Jun  1 08:56:29 intel kernel: disk0 DOWN
Jun  1 08:56:29 intel kernel: disk1 READY on ad2 at ata1-master  
Jun  1 08:56:29 intel kernel: Mounting root from ufs:/dev/ad0s1a


oder bei nehsetn reboot die andere disk,
fakt ist, das das system 2 jahre ohne Probleme (hardware) lief und weiter läuft aller dings ohne RAID. NAch dem ich raid1 gemacht habe gabs nur probleme obwohl die platten 100 % ok sind . Es ist ja nicht so das ich die platten ausgelastet hätte , dort war ja nix drauf nicht mal das system, die waren leer.
Trozdem gabs immer abstürze, auch auf einer anderen kiste habe ich genau das selbe.
Kann mir jemand auch sowas bestätigen? oder bin ich alleine der das phänomen auf 3 servern hatte ?


Code:
Jun  1 12:46:43 intel kernel: GEOM: create disk ad0 dp=0xc2e11a60
Jun  1 12:46:43 intel kernel: ad0: 14655MB <Maxtor 91531U3> [29777/16/63] at ata0-master UDMA33   
Jun  1 12:46:43 intel kernel: GEOM: create disk ad1 dp=0xc2e11760  
Jun  1 12:46:43 intel kernel: ad1: 9768MB <ST310014A> [19846/16/63] at ata0-slave UDMA33
Jun  1 12:46:43 intel kernel: GEOM: create disk ad2 dp=0xc2d8fd60
Jun  1 12:46:43 intel kernel: ad2: 9768MB <ST310014A> [19846/16/63] at ata1-master UDMA33
Jun  1 12:46:43 intel kernel: ar0: WARNING - mirror lost
Jun  1 12:46:43 intel kernel: GEOM: create disk ar0 dp=0xc2d869e0 
Jun  1 12:46:43 intel kernel: ar0: 9767MB <ATA RAID1 array> [1245/255/63] status: DEGRADED subdisks:
Jun  1 12:46:43 intel kernel: disk0 READY on ad1 at ata0-slave   
Jun  1 12:46:43 intel kernel: disk1 DOWN no device found for this disk 
Jun  1 12:46:43 intel kernel: Mounting root from ufs:/dev/ad0s1a
Jun  1 12:46:43 intel savecore: no dumps found

Übrigens, das doffe ist , es gibt kein core.dump und garnix in logs ,
Und warum findet man so wenig info über atacontrollim netz, mich würde intressiren wo da die configs gespeichert werden.
 
Ich hab mit atracontrol ein Raid mit einem Highpoint 372 erstellt.
Läuft super mit FreeBSD 5.2.1.

Gruss...

Der Indy
 
happy schrieb:
Soderla , jetzt habe ich 3 server mit atacontrol mosis ausprobiert, alle liefen unstabil mit 5.2.1 -p4 .

oder bei nehsetn reboot die andere disk,
fakt ist, das das system 2 jahre ohne Probleme (hardware) lief und weiter läuft aller dings ohne RAID. NAch dem ich raid1 gemacht habe gabs nur probleme obwohl die platten 100 % ok sind . Es ist ja nicht so das ich die platten ausgelastet hätte , dort war ja nix drauf nicht mal das system, die waren leer.
Trozdem gabs immer abstürze, auch auf einer anderen kiste habe ich genau das selbe.
Kann mir jemand auch sowas bestätigen? oder bin ich alleine der das phänomen auf 3 servern hatte ?

Übrigens, das doffe ist , es gibt kein core.dump und garnix in logs ,
Und warum findet man so wenig info über atacontrollim netz, mich würde intressiren wo da die configs gespeichert werden.

---
hm, also ich hatte solche Probs noch nicht ...

atacontrol gibt es auch noch nicht so lang (4.7 imho), und nur unter FreeBSD

Wann traten die Probleme auf? Sofort oder erst nach Stunden unter vollLast?
was ist (hardware)?
haben deine drei testsystem eventuell alle den selben ATAController?
Wenn ja, welchen?
Wenn nicht, welche?
 
Highpoint stellt Chipsätze für ATA und S-ATA Controller her.
Die laufen recht gut. Der Highpoint 372 ist ein UDMA133 RAID-Chipsatz, der auf etlichen Boards verbaut wurde.

Die Hersteller-Seite ist: http://www.highpoint-tech.com/

Die Dinger sind preiswert und laufen bei mir bisher recht gut.
(Wobei ich, wenn man mehr Geld ausgeben kann, 3ware vorziehen würde)

Gruss...

Der Indy
 
aber das waere dann ja hardware raid, indy?

naja ich hab jetzt gerade mal nach dem tutorial von UnUser gehandelt und es gibt irgend ein Problem mit dem ATA Kanal...

IRCR Error... wobei 'atacontrol status ar0' mir sagt, dass das Raid perfekt laeuft.

Die komplette Error Meldung folgt in wenigen Minuten (> 30), da ich gerade das System neu aufsetze...

Ich trau' dem Softraid nicht so ganz. Jedenfalls hatte ich mal einen Promise Controller und dieser hatte seinen Job wunderbar erledigt - was schlussendlich auch nur das ist, was ich will fuer das System.

Bis spaeter..
 
...
Timecounters tick every 10.000 msec
GEOM: create disk ad0 dp=0xc26c0260
ad0: 76319MB <WDC WD800BB-40BSA0> [155061/16/63] at ata0-master UDMA100
GEOM: create disk ad1 dp=0xc2667e60
ad1: 76319MB <WDC WD800BB-40BSA0> [155061/16/63] at ata0-slave UDMA100
GEOM: create disk ar0 dp=0xc26631e0
ar0: 76319MB <ATA RAID1 array> [9729/255/63] status: DEGRADED subdisks:
disk0 READY on ad0 at ata0-master
disk1 DOWN no device found for this disk
Mounting root from ufs:/dev/ar0s1a
lambda#

Schade, da fehlt noch "Output", hm...
 
Also erstmal Hallo BSDler ! :)

Habe auch mal die Einleitung ausprobiert hat auch am Anfang ganz wunderbar funktioniert, habe jetzt allerdings ein paar Probleme.
Also erstmal mein System :
Ich benutze die FreeBSD.5.2.1-release version.
ABIT IC7-G (ICH5R) mit 2 x 160GB Samsung SP1614C, 8MB(SATA!) an IDE 3 und IDE4 jeweils Master.
Mein RAID array baut sich also aus ad4 und ad6 zusammen.
Wenn ich jetzt mit sysinstall z.B das GNOME nachinstalliere bekomme ich oefters die Meldung :

ad4: TIMEOUT - WRITE_DMA retrying (2 retries left) LBA=xxx

Der Zustand der RAID arrays ist allerdings ok und die Installation der packages funktioniert auch, wenn auch vielleicht ein bischen langsam.
Ach mit dem Gnome hatte ich bisher keine Probleme, wenn ich es auch nicht sehr lange getestet habe.
Auch bekam ich beim installieren die Warnung das die GEOM der Festplatten nicht stimmt.
Nun also meine Frage liegt das ueberhaupt am RAID oder gibt es wohl eher probleme beim ansprechen der SATA platten?
Hab auch schon bisle nach dem Problem gegoogelt, aber noch keine richtige Loesung gefunden.

Gruss Londo
 
Zuletzt bearbeitet:
Londo schrieb:
Also erstmal Hallo BSDler ! :)

Habe auch mal die Einleitung ausprobiert hat auch am Anfang ganz wunderbar funktioniert, habe jetzt allerdings ein paar Probleme.
Also erstmal mein System :
Ich benutze die FreeBSD.5.2.1-release version.
ABIT IC7-G (ICH5R) mit 2 x 160GB Samsung SP1614C, 8MB(SATA!) an IDE 3 und IDE4 jeweils Master.
Mein RAID array baut sich also aus ad4 und ad6 zusammen.
Wenn ich jetzt mit sysinstall z.B das GNOME nachinstalliere bekomme ich oefters die Meldung :

ad4: TIMEOUT - WRITE_DMA retrying (2 retries left) LBA=xxx

Der Zustand der RAID arrays ist allerdings ok und die Installation der packages funktioniert auch, wenn auch vielleicht ein bischen langsam.
Ach mit dem Gnome hatte ich bisher keine Probleme, wenn ich es auch nicht sehr lange getestet habe.
Auch bekam ich beim installieren die Warnung das die GEOM der Festplatten nicht stimmt.
Nun also meine Frage liegt das ueberhaupt am RAID oder gibt es wohl eher probleme beim ansprechen der SATA platten?
Hab auch schon bisle nach dem Problem gegoogelt, aber noch keine richtige Loesung gefunden.

Gruss Londo

Hey Londo

Solche Probleme hatte ich auch schon. Zwar nie im "ataRaid" aber mit IDE Platten im Normalbetrieb.

Meine Erfahrungen mit diesem Problem:

Diese Problem trat bei 3 P-ATA Platten auf, die dann kurze Zeit später
voll defekt waren.

Die Timeouts gingen einher mit unüblichen Geräuschen.
Und nachdem sich S.M.A.R.T. gemeldet hatte war es dann auch schon fast zu spät.

Ich will Dir ja keine Angst machen, bei mir war es so.

Gruß!
 
Zurück
Oben