Software-RAID oder Controller was ist besser ?
Geizhals » Forum » Linux-Support » Software-RAID oder Controller was ist besser ? (45 Beiträge, 617 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
........
Re(8): Software-RAID oder Controller was ist besser ?
29.04.2006, 09:56:24
Zeit ist Geld - klar...

Drum sage ich ja, wenn man nur einen Server haben will, ist ein HW-Raid sicher ne meistens sinnvolle Lösung... Wobei Wissen über Raid's ja net schaden kann und da echt SLES (zumindest die 9er) ein Schamott mit dem Buggy-Install war.

Ich habe mir SW-Raid unter Linux schon vor langem angesehen (SuSE7er-Zeiten, mit 2.4.19-Kernel) - und bei mir hat es sich über die Jahre gerechnet, auf SW-Raid zu setzen.

Bei guten Storage-Systemen hast in Wirklichkeit eh immer ein SW-Raid dahinter. Du kaufst zwar eine HW-Box (zB ne Shark) - aber da rennt meistens ein Unixoides System dahinter, das SW-Raid fährt - eben wegen der besseren Konfigurierbarkeit und einfacheren Patchbarkeit.

Ich würde sagen, daß jemand, der ein Raid aufsetzt, eh mal ein Vorwissen mitbringen sollte - sonst geht's schief. Wie man das nun genau unter Linux löst, ist nicht so lange zum Einarbeiten - ich würde sagen 1-2 Tage... Diese 1-2 Tage kosten nun natürlich auch Kohle, andererseits sind es keine "Unsummen" - und KnowHow unter den Mitarbeitern zu haben finde ich nicht so schlecht.

Ich komme also zu einer anderen Empfehlung als Du... Ich würde SW-Raid immer empfehlen, vorausgesetzt man kann sich die 2 Tage Zeit nehmen das SW-Raid-Howto durchzulesen und die lilo.conf-manpage zu beackern. Ich verstehe aber deinen Argumentationspunkt.

Ad Automatisch rekonfigurieren - das war bei uns Thema in der Firma.
Ich halte das für absolut unnötigst. Manuell mußt eh zum Server (Platte einbauen, egal ob die Ersatzplatte oder eine neue Hot-Spare). Unter Linux müßtest dann ein

raidhotremove /dev/md3 /dev/sdb2
echo "scsi remove-single-device 3 0 2 0" > /proc/scsi/scsi
-- Platte einbauen --
echo "scsi add-single-device 3 0 2 0" > /proc/scsi/scsi
raidhotadd /dev/md3 /dev/sdb2


absetzen und fertig - nicht so schlimm.

Vorteil noch bei SW-Raid: Du mußt deine Hot-Spare nicht an ein Raid binden.
Angenommen, du hast 5 Platten in deinem Server und willst 2 Raid1 mit je 2 Platten und einer HotSpare... Bei "üblichen" HW-Raidcontrollern kannst du nicht eine HotSpare für 2 RAIDS verwenden - unter SW-Raid ist das natürlich problemlos... Und in fast allen Konfigurationen machen verschiedene Raid-Level Sinn (zB Raid 5 für Userdaten aber Raid1 für Swap, ...)

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
..
Re(2): Software-RAID oder Controller was ist besser ?
29.04.2006, 08:46:00
Nachteil1 stimmt so nicht:

[1] Wenn die erste Platte "in Betrieb" ausfällt, arbeitet SW-Raid normal weiter.
[2] Wenn es aber so ist, daß der Rechner runtergefahren wurde - und im Stromlosen zustand die zweite Platte den Geist aufgegeben hat (passiert AFAIK net oft) - dann muß man eine Fallunterscheidung machen:
[2a] Die Ganze Platte meldet sich nicht mehr:
       Dann wird automatisch die zweite Platte zur ersten, ... - Wenn der MBR auf der zweiten Platte auch drauf ist (den spiegelt man ja mit) - dann klappt alles
[2b] Irgendein "normaler" Daten/Inode-Block ist hin
       Dann ist auch alles wurscht - es greifen normale Mechanismen wie unter [1]
[2c] Der wirklich "saublöde" Fall:
       Wenn genau die Blöcke des Bootloaders der ersten Platte defekt sind... Dann ergibt sich folgendes Bild: Die Platte ist gut genug um per Bios-Interrupts die ersten Blöcke zu lesen, es treten aber bei den ersten 2MB vom Linux-Kernel/IRD-Lesen lesefehler auf... Dann hast mit SW-Raid streß. Denn dann hat er noch nicht den RAID-Code geladen, und daher mußt du genau in diesem einen Fall hand anlegen. Uns ist das allerdings noch nie passiert, da /boot genau nie beschrieben wird (ro gemountet) und diese Blöcke praktisch eh nie im Zugriff sind. Tendenziell werden also alle anderen Blöcke vorher defekt - und ab dem ersten defekten tauscht eh.

Nachteil3: Kann man auch nicht so stehen lassen...
Problem ist ja folgendes: Du hast zB 200 Platten in einem RAID5 - und willst "bubu" schreiben.
Bei Raid5 müßte er nun von allen 200 Platten mal einen Block einlesen - um die Parity zu ermitteln. HW-Raidcontroller erschlagen das gerne mit Cache - sinnvoller ist es da aber oft, sein Raid zu segmentieren - bei vielen Platten also statt einem großen RAID5 viele kleine zu machen, und nachher RAID5 drüberzulegen. Dann klappt das fein.

EDIT:
Nachteil2 sehe ich als Vorteil: Du hast RAID-Probleme mit Standard-Bordmitteln in deinen Syslogs, ... - auch nicht schlecht.

29.04.2006, 08:46 Uhr - Editiert von gepeinigter_aon_neukunde, alte Version: hier
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
...
Re(3): Software-RAID oder Controller was ist besser ?
29.04.2006, 13:25:55
Nachteil1 stimmt so nicht:


Konnte/wollte deinen Ausführungen weiter folgen.

Machen wirs einfach:

Gegeben: RAID1 mit zwei Platten
Gesucht: Methode um Bootloader im intakten Zustand so zu installieren dass das Ding auch ohne Intervention hochkommt wenn sda/0x80 nicht mehr ansprechbar bzw. ausgebaut ist.

Nachteil3: Kann man auch nicht so stehen lassen...Problem ist ja folgendes: Du hast zB 200 Platten in einem RAID5 - und willst "bubu" schreiben.


Realismus olé? :P Aber du revidierst das ja weiter unten..


Bei Raid5 müßte er nun von allen 200 Platten mal einen Block einlesen - um die Parity zu ermitteln.
HW-Raidcontroller erschlagen das gerne mit Cache - sinnvoller ist es da aber
oft, sein Raid zu segmentieren - bei vielen Platten also statt einem großen
RAID5 viele kleine zu machen, und nachher RAID5 drüberzulegen. Dann klappt das
fein.


Und wo ist da jetzt der Vorteil von Softwareraid?



EDIT:Nachteil2 sehe ich als Vorteil: Du hast RAID-Probleme mit
Standard-Bordmitteln in deinen Syslogs, ... - auch nicht schlecht.  


Nahezu jeder Raid-Controller-Treiber (Hallo Adaptec!) wirft raid-errors ins kernel log, und jeder Raid-Controller liefert CLI Tools zumindest für Linux aus, mit dem man periodische Checks bezgl. des Gesundheitszustands des Arrays automatisieren kann. Das war aber auch nicht gemeint.

Das Hauptproblem an Software-Raid ist, dass bei Fehlern das Error-Handling an den jeweiligen Treiber bzw. Subsystems des Kernels weitergeleitet wird, und das ist teilweise noch recht be*PIEP*.

Bei SATA ist es besonders toll [1], da bekommst du derzeit ein "atax: Command timeout" auf der Konsole, während sich der Kernel prophylaktisch angehalten hat; bei SCSI sollt es damit weniger Probleme geben, allerdings gabs da auch einige Controller die nervös wurden wenn eine Platte dubiose Antworten den BUS hinunter geschickt haben (wie sich ein Hardware-Raid-Controller in dem Fall verhalten hätte kann man nur mutmaßen).

[1] http://linux-ata.org/software-status.html  

The error handling is very simple, but at this stage that is an advantage. [..] Or in other words: "it's better to stop talking to the disk than compound existing problems with further problems."


Google-Pagerank-Abuseage:
mirror
random crap
slackware mirror
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
....
Re(4): Software-RAID oder Controller was ist besser ?
29.04.2006, 15:28:00

Gegeben: RAID1 mit zwei Platten
Gesucht: Methode um Bootloader im intakten Zustand so zu installieren dass das Ding auch ohne Intervention hochkommt wenn sda/0x80 nicht mehr ansprechbar bzw. ausgebaut ist.

Das geht problemlos mit LILO - oft getestet. Wichtig ist dabei die raid-extra-boot option in der lilo.conf. klappt allerdings nur mit RAID1... Also zB eine Partition auf allen Platten unter RAID1; Weil das /boot eh klein ist und nur zum booten verwendet wird, schmerzt das i.d.R. nicht.


Und wo ist da jetzt der Vorteil von Softwareraid?

Ich habe nicht gesagt, daß hier ein Vorteil bei SW-Raid ist... Ich habe gesagt, daß es den Nachteil bei SW-Raid nicht gibt. Wenn du viele kleinere Raids betreibst, hast du keine Probs... Und das ist auch oft der "sinnvollere" Weg statt einem großen.

In der Tat hast du allerdings Recht mit den geschilderten Probs bei SATA-Platten unter SW-Raid. Einige Controller hängen dann echt implizit alle Platten ab, wenn eine "rausgerissen" wird. Das Problem wird in der c'T 6/2006 genau geschildert - wobei c'T dazu 2 Punkte anmerkt: Erstens hast du dasselbe Problem bei einigen HW-SATA-Raids, zweitens ist das gottseidank nicht der Regelfall... In der großen Masse der Fälle sterben Platten langsam - beginnend mit Lesefehlern auf einigen Blöcken - und dann tauscht man sie eben. Wenn du einen SATA-Controller mit besagtem Problem hast, bedingt das natürlich downtime... Was oft unzumutbar ist. Bei SCSI-Platten hast du das Problem nicht. Zusätzlich kannst du bei Servern (wo ja oft mehrere RAID-Controller sind) deine Raids so aufbauen, daß bei zB 2 Controllern und 4 Platten die Raids so gebaut werden, daß an einem Spiegel immer beide Controller beteiligt sind. Dadurch ist sogar eine Konstruktion möglich (und üblich), bei der der Totalausfall eines Controllers verkraftet wird - was naturgemäß bei HW-Raid nicht klappen kann.

Ad CLI-Tools und anderem der HW-Raidhersteller... Da bin ich ein gebranntes Kind ;-)
Durchaus möglich, daß sich das jetzt besser darstellt als es früher war. Trotz allem bleibt es so, daß du gerne eine möglichst "homogene" Error-Ausgabe auf deinen Servern hast - insbesondere wenn viele Server und unterschiedlichste Controller im Einsatz sind.. Da finde ich das syslog echt idealst. Bei einem unserer HP-Hobeln sah es aber so aus, daß man das ganze (zumindest früher) nur mit ihrem Insight-Manager (einem Tool) auswerten konnte... Und alles, was ich nicht will, sind viele verschiedene Tools verwenden zu müssen, wenn ich von vielen Servern meinen HW-Status wissen will. Natürlich sind die Tools der Hersteller oft "bequemer", wenn du selber nix scripten willst. Sobald du aber dein zentrales Management hast (egal ob einfach über SNMP oder andere Mechanismen) ist IMHO das syslog eine zentrale Chance für viele verschiedene Server mit verschiedener HW










Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
.....
Re(5): Software-RAID oder Controller was ist besser ?
29.04.2006, 21:37:23
Das geht problemlos mit LILO - oft getestet. Wichtig ist dabei die
raid-extra-boot option in der lilo.conf. klappt allerdings nur mit RAID1...
Also zB eine Partition auf allen Platten unter RAID1; Weil das /boot eh klein
ist und nur zum booten verwendet wird, schmerzt das i.d.R. nicht.


raid-extra-boot hab ich verwendet, allerdings bild ich mir ein, dass der für die anderen Platten immer die gerade aktuelle bios ID verwendet hat anstatt die vom "ersten" device. werd ich beizeiten mal testen


In der großen Masse der Fälle sterben Platten langsam - beginnend
mit Lesefehlern auf einigen Blöcken - und dann tauscht man sie eben. Wenn du
einen SATA-Controller mit besagtem Problem hast, bedingt das natürlich
downtime... Was oft unzumutbar ist.


Dann hatte ich wohl die letzten Monate besonders viel Glück ;). Keine einizige Platte mit Bad Sectors dafür 3 mit besagten (mehr oder weniger) sporadischen command-timeout-*PIEP*ups. Besonders angenehm wenn man keine RILO (o.ae.) bei der Hand hat und "auf gut Glück" remote rebooted ohne genau zu wissen was eigentlich passiert ist.

Zusätzlich kannst du bei Servern (wo ja oft mehrere RAID-Controller
sind)


Der war gut.

Ad CLI-Tools und anderem der HW-Raidhersteller... Da bin
ich ein gebranntes Kind Durchaus möglich, daß sich das jetzt besser darstellt
als es früher war. Trotz allem bleibt es so, daß du gerne eine möglichst
"homogene" Error-Ausgabe auf deinen Servern hast - insbesondere wenn viele
Server und unterschiedlichste Controller im Einsatz sind.. Da finde ich das
syslog echt idealst.


Die sind durch die Bank mehr oder weniger be*PIEP* ;). Bei uns ist der kleinste gemeinsame Nenner Nagios, da schreibt man sich halt die Checkscripts für die 2-3 Controllertypen/CLI tools die man hat und gut is. Aktive Checks/polling sind passiven (logfile parsen) IMHO immer vorzuziehen ("Hey! Anybody seen my klogd?")


Google-Pagerank-Abuseage:
mirror
random crap
slackware mirror
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung