Superuser

Autor Thema: ACHTUNG! SIL3114 hat Software RAID zerschossen  (Gelesen 6437 mal)

mj

  • Gast
ACHTUNG! SIL3114 hat Software RAID zerschossen
« am: 05. März 2007, 10:04:55 »
Ich möchte an dieser Stelle alle warnen, die daran denken, einen (onboard) Silicon Image 3114 (oder 3112) Controller unter Solaris 10 zu nutzen. Wir haben vorletzten Samstag, den 24.02.2007, auf einem solchen mit dem Solaris 10 Software RAID einen Webserver aufgesetzt, der massig Zugriffe ertragen muss. Bei der Installation lief alles problemlos, außer der Tatsache, dass die S-ATA Platten extrem langsam waren (25MB/s beim Schreiben, 50MB/s beim Lesen - bei nagelneuen 250GB 7.200rpm S-ATA Platten die normalerweise einzeln ca. 60MB/s schreiben und lesen). Aber da auf den S-ATAs lediglich das System sowie ein kleiner Datenspeicher geplant waren, war uns das relativ egal. Die wichtigen Daten liegen ohnehin auf zwei separaten SCSI ZFS Mirrors, einmal für Apache/TMP/Logs/Swap (zwei 140GB 10.000rpm SCSI) und einmal exklusiv für MySQL (zwei 36GB 15.000rpm SCSI).

Wie dem auch sei – Donnerstag gegen 13:15 Uhr ist unser Solaris eingefroren und hat nur noch im Single User Mode gebootet. Im RZ selber mussten wir dann feststellen, dass auf beiden RAID1 S-ATA Platten nur noch Datenmüll vorzufinden war. Vereinzelt auch noch korrekte Dateien aber größtenteils unbrauchbar und zerstört. Wir wissen nicht genau woran es lag, aber definitiv nicht an den S-ATA Platten selber – haben wir mittlerweile getestet und sind einwandfrei. Die beiden SCSI-RAIDs waren davon nicht betroffen, die sind in Ordnung und nicht kompromittiert – es waren wirklich ausschließlich die beiden S-ATA am SIL3114 von dem Problem betroffen. Jetzt gibt es theoretisch nur drei Möglichkeiten:

#1: Der Treiber. Der SIL3114 ist unter Solaris lediglich „known to work“ und nicht offiziell unterstützt. Er ließ sich jedoch problemlos einbinden und betreiben, bis auf die miserable Performance eben. Und am Development Server läuft bis heute ein Solaris 10 im Software RAID an einem SIL3114 installiert völlig fehlerfrei. Allerdings muss der Development Server natürlich auch nicht die Last des Produktiv-Servers ertragen.

#2: Der Controller selber hat einen an der Patsche und Müll geschrieben. Recht unwahrscheinlich, da er bereits ein Jahr lang davor im Einsatz war unter Debian Linux, zwar nur mit einer einzelnen Backup-Platte aber dennoch im Einsatz, und das völlig fehlerfrei und problemlos

#3: Wir sind dem AMD-Chipsatz PCI-Bug aufgesessen, der bei aktiviertem Delayed Transaction bei drei PCI Busmastern aufgrund eines Pufferüberlaufs anfängt Müll zu produzieren (sehr ähnlich dem VIA 686B Southbridge Bug). Auch sehr unwahrscheinlich, es waren zwar drei Busmaster aktiv (an diesem PCI-Bus hängen Grafikchip (ATI Rage XL), 100 MBit Ethernet (deaktiviert), IDE-BUS (DVD-ROM) sowie eben der SIL3114), und Delayed Transaction lässt sich bei diesem Board nicht deaktivieren (Tyan 2882D-GNR3 mit zwei Opteron 290 CPUs), aber zuvor hingen unter Linux sogar vier Geräte an diesem Bus (das RZ hat erst im letzten Jahr die Switches von 100 Mbit auf 1 Gbit umgestellt, daher jetzt der Umstieg auf Gigabit Ethernet (angebunden am zweiten 100 MHz PCI-X Bus) und der Verzicht auf die 100Mbit Ethernet Schnittstelle) und es gab keinerlei Probleme oder gar entfernte Anzeichen dafür.

#4: Timing-Problem bei SMP-Maschinen und SoftRAIDs. Wäre evtl. auch eine Möglichkeit, da zuvor unter Linux ein ICP Vortex Hardware-RAID Controller zum Einsatz kam, der aber wegen miserabler Performance (50MB/s schreibend an zwei 10.000rpm SCSI-Platten, einzeln rund 72MB/s) rausfliegen musste. Allerdings hätte es dann auch auf den SCSI-Platte Probleme geben müssen und die beiden SCSI-RAIDs sind einwandfrei in Ordnung. Also auch eher unwahrscheinlich.

Der am wahrscheinlichsten Verantwortliche für diesen Ausfall ist also, meiner Meinung nach, der Treiber für den SIL3114 Controller oder aber der Controller selber. Hat jemand Erfahrungen mit dem SIL3114 und kann etwas dazu beitragen?

sonnenblen.de - Das unabhängige Sun User Forum

ACHTUNG! SIL3114 hat Software RAID zerschossen
« am: 05. März 2007, 10:04:55 »

Moe

  • Gast
Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #1 am: 05. März 2007, 12:51:36 »
Ahh, der Planet3dnow Server. Läuft "Dasboot 2" schon wieder?

- Moe

meti

  • Gast
Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #2 am: 06. März 2007, 07:47:32 »
SATA und Software-RAID funktionieren zusammen wohl generell nicht unter starker Belastung.

Das Problem hab ich bei meinem Debian Server (Opteron175) mit mehreren Controllern und etlichen verschiedenen Platten ebenfalls.

Als Einzelplatten betrieben oder wenn das Software-RAID nicht stark belastet ist gibts aber keine Probleme.

Ich vermute mal, daß das ein konzeptbedingtes Problem ist. Ich hab (zwar unter Linux) mehrere verschiedene SATA-Controller bei denen das Problem exakt das gleiche ist.

Offline Tschokko

  • Sobl Guru
  • *****
  • Beiträge: 711
    • tschokko.de
Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #3 am: 06. März 2007, 10:01:34 »
SATA und Software-RAID funktionieren zusammen wohl generell nicht unter starker Belastung.
Von welchem Software-RAID sprechen wir hier? Von der RAID Funktionalität die der Controller anbietet und über die Treibersoftware abwickelt oder etwa von einem Software-RAID das durch den Sun Volume Manager angelegt wurde oder gar von einem ZFS Mirror???

Gruß Tschokko
Join MUCOSUG

RISC = Really Invented by Seymour Cray?
tschokko.de - Server, Storage, Netzwerk und weiße Katzen!

Offline maal

  • Global Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1529
  • Ich mag keine Signaturen!
Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #4 am: 06. März 2007, 10:31:48 »
Hallo,

ich meine es ist einen Versuch wert, in der Solaris x86 Yahoo-Group nach  entsprechenden Nachrichten zu suchen. Vorteil dieser Mailliste ist die hohe Beteiligung von Anwendern und Sun Mitarbeitern.

http://tech.groups.yahoo.com/group/solarisx86/messages

Michael

meti

  • Gast
Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #5 am: 06. März 2007, 15:28:30 »
SATA und Software-RAID funktionieren zusammen wohl generell nicht unter starker Belastung.
Von welchem Software-RAID sprechen wir hier? Von der RAID Funktionalität die der Controller anbietet und über die Treibersoftware abwickelt oder etwa von einem Software-RAID das durch den Sun Volume Manager angelegt wurde oder gar von einem ZFS Mirror???

Gruß Tschokko

Sowohl als auch. Diese Fake-RAID Versionen, bei denen ein BIOS einen RAID-Controller vorgaukelt bei dem aber die gesamte Rechenarbeit von der CPU des Systems erbracht werden muß sind ja nichts anderes als Software-RAID.

Es geht nix über ein echtes Hardware-RAID ...

Offline Tschokko

  • Sobl Guru
  • *****
  • Beiträge: 711
    • tschokko.de
Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #6 am: 06. März 2007, 15:40:42 »
Sowohl als auch. Diese Fake-RAID Versionen, bei denen ein BIOS einen RAID-Controller vorgaukelt bei dem aber die gesamte Rechenarbeit von der CPU des Systems erbracht werden muß sind ja nichts anderes als Software-RAID.
Damit behauptest du also auch, dass ein SVM Mirror unter hoher Last unter Umständen genauso unsicher wird wie oben genanntes Beispiel mit dem SIL3114/3112 Treiber?

Unter welchen Bedingungen ist obiges System überhaupt abgeschmiert? Wieivel Leute waren da grad auf dem Server unterwegs? Kann man diesen Zustand vielleicht irgendwie simulieren? Ich würde nämlich gerne wissen ob mir der SVM Mirror hier auch die Maschine lahm legt und Datenschrott produziert. Immerhin ist das für meinen zukünftigen Webserver geplant gewesen. Nen teuren Hardware RAID Controller mit Solaris Support nach zu rüsten könnte sich als echtes und vor allem kostspieliges Problem erweisen...

Gruß Tschokko
Join MUCOSUG

RISC = Really Invented by Seymour Cray?
tschokko.de - Server, Storage, Netzwerk und weiße Katzen!

llothar

  • Gast
Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #7 am: 06. März 2007, 18:04:56 »
Sowohl als auch. Diese Fake-RAID Versionen, bei denen ein BIOS einen RAID-Controller vorgaukelt bei dem aber die gesamte Rechenarbeit von der CPU des Systems erbracht werden muß sind ja nichts anderes als Software-RAID.

Was hast du für Links um diese AUssage zu belegen?

Ich hatte mal länger vor für meine Workstation einen Software RAID Stapel aufzusetzten und dabei etwas gegoogelt. Nirgendwo hatte ich so eine Aussage gehört, nein bei Linux gabs (im Gegensatz zu Solaris) eigentlich immer die Auffassung das Software RAID besser ist als Hardware RAID. Wegen den ganzen Problemen falls dein Kontroller mal abschmiert.

Das mit hoher Last halte ich für "urban legend" wenn ich sehe wie manche Webserver bei preiswerten Hostern gequält werden.


mj

  • Gast
Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #8 am: 06. März 2007, 21:42:45 »
Zitat
SATA und Software-RAID funktionieren zusammen wohl generell nicht unter starker Belastung.
Das kann ich keinesfalls bestätigen - weder aus der Theorie heraus, noch aus der Praxis. Ich selber habe mit Software RAIDs und S-ATA Platten unter Linux bisher keine schlechten Erfahrungen gemacht - sie waren zwar Dateisystembedingt nicht immer so schnell, wie sie hätten sein können, aber wenigstens gab es bisher noch nie Datenverlust auf einer oder gar beiden Platten. Und heutzutage ist ein Software RAID im übrigen kein bißchen langsamer als ein Hardware RAID, ganz im Gegenteil sogar. Unser alter SCSI Hardware RAID-Controller (ein ICP Vortex) war so lahm, dass die Festplatten an einem Adaptec-Controller einzeln schneller sind als sie im RAID1 Verbund an diesem Controller jemals waren (sowohl lesend, als auch schreibend).
Mich würde also sehr interessieren, worauf du deine Aussage stützt ;)



Zitat
Unter welchen Bedingungen ist obiges System überhaupt abgeschmiert? Wieivel Leute waren da grad auf dem Server unterwegs? Kann man diesen Zustand vielleicht irgendwie simulieren? Ich würde nämlich gerne wissen ob mir der SVM Mirror hier auch die Maschine lahm legt und Datenschrott produziert. Immerhin ist das für meinen zukünftigen Webserver geplant gewesen. Nen teuren Hardware RAID Controller mit Solaris Support nach zu rüsten könnte sich als echtes und vor allem kostspieliges Problem erweisen...
Zur Zeit des Absturz müssten relativ wenige User online gewesen sein, es war schließlich gegen 13:00 Uhr Nachmittag an einem Wochentag. Zu Stoßzeiten sind im vBulletin-Forum etwa 4.000 User gleichzeitig über mehrere Stunden hinweg unterwegs, weitere 6.000 - 10.000 gleichzeitig auf der Startseite und in den Artikeln. Diese Stoßzeiten sind so von ca. 19:30 Uhr bis grob 01:30 Uhr. Die Last ist also hoch, aber nicht zu hoch - vor allem, weil die Last auf die S-ATA Platten bei egal welcher Webseitenlast exakt Null war - auf den S-ATAs war ausschließlich das Betriebssystem, sonst nichts. Unser wwwroot liegt auf einem ZFS Mirror auf zwei 10.000rpm SCSI-Platten, unsere MySQL auf einem ZFS Mirror auf zwei 15.000rpm SCSI-Platten. Folglich werden nur diese beiden RAID-Sets belastet, das S-ATA System-RAID ist dauerhaft völlig unterfordert gewesen. Und selbst wenn die Last auf den S-ATA Platten hoch gewesen wäre, dann darf der keinen Müll auf die Platten schreiben.



Zitat
Nirgendwo hatte ich so eine Aussage gehört, nein bei Linux gabs (im Gegensatz zu Solaris) eigentlich immer die Auffassung das Software RAID besser ist als Hardware RAID. Wegen den ganzen Problemen falls dein Kontroller mal abschmiert.
Das deckt sich auch mit meiner Erfahrung. Vor allem ist der größte Vorteil, dass man ein Software RAID völlig problemlos von einem System auf ein anderes umziehen kann. Deshalb haben wir uns auch für ein Software RAID entschieden, da mit Sicherheit irgendwann mal die nächste Stufe ansteht, und das Board ausgetauscht wird gegen ein besseres.


Und im übrigen korrekt erkannt, es handelt sich hier um den Server von Planet 3DNow!

Offline meik

  • Sobl Bachelor
  • ***
  • Beiträge: 187
Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #9 am: 06. März 2007, 23:08:17 »
Wie dem auch sei – Donnerstag gegen 13:15 Uhr ist unser Solaris eingefroren und hat nur noch im Single User Mode gebootet. Im RZ selber mussten wir dann feststellen, dass auf beiden RAID1 S-ATA Platten nur noch Datenmüll vorzufinden war. Vereinzelt auch noch korrekte Dateien aber größtenteils unbrauchbar und zerstört. Wir wissen nicht genau woran es lag, aber definitiv nicht an den S-ATA Platten selber – haben wir mittlerweile getestet und sind einwandfrei. Die beiden SCSI-RAIDs waren davon nicht betroffen, die sind in Ordnung und nicht kompromittiert – es waren wirklich ausschließlich die beiden S-ATA am SIL3114 von dem Problem betroffen. Jetzt gibt es theoretisch nur drei Möglichkeiten:

Was macht euch so sicher, dass es ein Hardware-nahes Problem war? Zwei Platten so zu schrotten wie du es beschreibst, dauert seine Zeit. Auch wird auf Bootplatten nicht sonderlich viel geschrieben. Mir fällt es schwer zu glauben, dass es da keine Vorwarnungen (z.B. Lesefehler) gegeben hat. Oder dass so ein Problem eine Kernel-Panic auslöst. Was würde z.B. einen Einbrecher ausschließen, der die Bootplatten mit /dev/random überschreiben wollte?

sonnenblen.de - Das unabhängige Sun User Forum

Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #9 am: 06. März 2007, 23:08:17 »

meti

  • Gast
Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #10 am: 07. März 2007, 09:01:28 »
Ich stütze meine Behauptungen auf eigene, leidvolle Erfahrungen.

Wenn mich das alles nicht sehr viel Zeit und Geld gekostet hätte würde ich da keinen Kommentar dazu abgeben.

Die Aussage, daß unter Linux ein Software RAID dem Hardware RAID vorzuziehen ist halte ich auch mit Ausnahme der SATA-Platten für gültig.
Mit normalen ATA-Platten bzw. SCSI gibts da nicht mal ansatzweise Probleme unter Linux mit Software RAID.

Nur gestorbene Software RAIDs auf SATA-Basis gibts mehrere, nicht nur meinen Fall.

mj

  • Gast
Re: ACHTUNG! SIL3114 hat Software RAID zerschossen
« Antwort #11 am: 07. März 2007, 09:42:20 »
Zitat
Was macht euch so sicher, dass es ein Hardware-nahes Problem war? Zwei Platten so zu schrotten wie du es beschreibst, dauert seine Zeit. Auch wird auf Bootplatten nicht sonderlich viel geschrieben. Mir fällt es schwer zu glauben, dass es da keine Vorwarnungen (z.B. Lesefehler) gegeben hat. Oder dass so ein Problem eine Kernel-Panic auslöst. Was würde z.B. einen Einbrecher ausschließen, der die Bootplatten mit /dev/random überschreiben wollte?
Ganz einfach. Wir waren ja gleich Donnerstag Nachmittag vor Ort in Frankfurt im RZ und haben uns das angeschaut. Auf beide S-ATA Platten waren fehlerhafte Dateien. So war beispielsweise ein Verzeichnis, in dem wir statisch am Spiegelserver einiges an Software compiliert hatten, von 65MB auf 5GB angewachsen weil sich plötzlich irgendwelche Dateien darin befanden, die da nichts zu suchen haben. Auch waren die Dateien nicht wirklich nützlich, da sie aufgeblasen und fehlerhaft waren. Es war ja anfangs auch nicht viel mehr auf der Platte als davor, aber nach einigen Durchläufen von fsck, das im Übrigen hunderte von Fehlern gefunden hat (ein weiteres Indiz), war der Müll auf ein paar GB angewachsen.

Einen Angriff von außen können wir weiterhin insofern ausschließen, als dass der Server entsprechend gesichert ist.




Zitat
Ich stütze meine Behauptungen auf eigene, leidvolle Erfahrungen.

Wenn mich das alles nicht sehr viel Zeit und Geld gekostet hätte würde ich da keinen Kommentar dazu abgeben.

Die Aussage, daß unter Linux ein Software RAID dem Hardware RAID vorzuziehen ist halte ich auch mit Ausnahme der SATA-Platten für gültig.
Mit normalen ATA-Platten bzw. SCSI gibts da nicht mal ansatzweise Probleme unter Linux mit Software RAID.

Nur gestorbene Software RAIDs auf SATA-Basis gibts mehrere, nicht nur meinen Fall.
Interessant... ich habe bisher nämlich wie gesagt noch keine solchen Erfahrungen machen (müssen). War das immer an einem bestimmten Controller oder an S-ATA Controllern mehrerer Hersteller? Aber danke für den Tipp, vielleicht werde ich in Zukunft davon absehen ein Software RAID mit zwei S-ATA Platten einzurichten.

PS: Was mir noch einfällt: Waren das Mehrprozessorsysteme? Wenn ja, dann bist du vermutlich dem Timing-Problem aufgesessen, da zerlegt's dir sogar unter Umständen unter Windows ein Software RAID, weil der Controller Daten fehlerhaft schreibt ohne dies zu merken
« Letzte Änderung: 07. März 2007, 09:49:11 von mj »