Schlagwort-Archive: raid

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.

RAID 1 trouble

Ubuntu 12.04 LTS 64 Bit wirft hier mit Fehlermeldungen um sich, wenn man die letzte RAID Partition auf der Platte bis an ihr bitteres Ende ausdehnt. Installiert man dann einen neuen Kernel, dann meldet der Installationsprozess bei der Installation von grub

error: found two disks with the index 0 for RAID … usw usw usw
error: superfluous RAID member … usw usw usw

Der Bösewicht ist wohl grub-probe, das zusammen mit mdadm über die Metadaten vom RAID stolpert, sofern diese Version 0.90 sind. Und tatsächlich:

mdadm –detail /dev/md0

/dev/md0:
Version : 0.90
Creation Time : Sat Jul 13 15:36:20 2013
Raid Level : raid1
Array Size : 4194240 (4.00 GiB 4.29 GB)
Used Dev Size : 4194240 (4.00 GiB 4.29 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Sat Jul 13 15:41:36 2013
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

UUID : 6a38fa7b:0ec0420b:776c2c25:004be7b2
Events : 0.20

Number Major Minor RaidDevice State
0                8          1         0             active sync /dev/sda1
1                8          17       1             active sync /dev/sdb1

http://savannah.gnu.org/bugs/?34250 beschreibt den Fehler – der auch hier auf launchpad besprochen wird und im FrugalWiki ebenso – und rät dazu, die letzte Partition etwas kleiner anzulegen, den Plattenplatz also nicht komplett mit dem RAID auszuschöpfen. Außerdem entnahm ich den Beiträgen, dass die SWAP Partition sich ganz gut am Ende macht, will man den Fehler umgehen. Bei meinem Serverlayout bedeutet dies, dass die SWAP Partition in eine erweiterte Partition wandert – ich hab nun

/boot  (4G)
/         (20G)
/var    (1.7 TB)
swap  (6G)
.         (etwas Luft für bugs)

Sieht für mich ungewohnt aus. Aber Hauptsache es funktioniert nun.