3ware opcode=0x85

Schweißperlen können einem RAID Statusmeldungen schon mal schnell auf die Stirn treiben. Fragt man den Status eines 3ware RAIDs so ab, dann sieht alles gut aus:

$ /usr/sbin/tw_cli /c0 show all

Fragt man genauer nach mit

$ /usr/sbin/tw_cli /c0 show diag

dann bekommt man Dinge zu sehen, die erst einmal erschrecken lassen. Ich fand heute unter anderem Folgendes:

Error, Unit 0: Invalid command opcode
(EC:0x101, SK=0x05, ASC=0x20, ASCQ=0x00, SEV=01, Type=0x70)
opcode=0x85

Thomas Krenn listet den Fehler nicht auf seiner sonst sehr guten Übersichtsseite zu 3ware Meldungen. Man kommt aber schon dort auf die Idee, dass es sich um ein Kommunikationsproblem handeln könnte, weil der Controller SMART Werte nicht von der Platte, sondern vom Array holen will. Das ist nicht ganz zutreffend.

Sucht man weiter, findet man noch diese Quelle bei Launchpad und das hier im IPFire Forum. Am Ende scheint es darauf hinaus zu laufen, dass SMART versucht von den Platten Temperaturwerte zu erhalten, damit aber nicht durchkommt. Man darf den Fehler wohl tatsächlich ignorieren.

Anders sieht es hiermit aus:

BBU comm error 0x241 while writing packet : I2C transaction aborted

Hierzu klärt der folgende Beitrag bei Serverfault auf, dass 3ware in den default Einstellungen den Schreibcache der Platten im RAID ausschaltet. Das erklärt für mich auch gleich, warum unser RAID so schnarch langsam ist – aber ich trau mich an

$ tw_cli /c1/u0 set cache=on

etc. ohne ein aktuelles Backup und Ferien im Hintergrund, um Katastrophen reparieren zu können, schlicht nicht ran. Eine BBU würde unabhängig von den Geschwindigkeitsproblemen für uns wirklich Sinn machen.