Probleme mit mpr controller

bsd4me

Well-Known Member
Hallo,

ich weiss nicht, ob ich das schon mal gepostet hatte - es war ne weile nicht mehr aufgetaucht, scheint aber bei hoher Last auf einem Supermicro Server immer mal wieder aufzutreten - und zwar sehe ich dann im log:

Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(10). CDB: 28 00 69 d8 c6 b8 00 00 08 00 length 4096 SMID 958 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(16). CDB: 88 00 00 00 00 01 73 27 e7 a8 00 00 00 30 00 00 length 24576 SMID 842 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(16). CDB: 88 00 00 00 00 02 00 9c 33 d8 00 00 00 28 00 00 length 20480 SMID 530 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(10). CDB: 28 00 94 c8 01 48 00 00 08 00 length 4096 SMID 967 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(16). CDB: 88 00 00 00 00 02 58 55 4b f0 00 00 00 28 00 00 length 20480 SMID 307 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(16). CDB: 88 00 00 00 00 02 48 7d e2 60 00 00 00 28 00 00 length 20480 SMID 468 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): WRITE(10). CDB: 2a 00 7a 13 c0 18 00 00 08 00 length 4096 SMID 804 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(16). CDB: 88 00 00 00 00 02 78 c0 c8 d0 00 00 00 08 00 00 length 4096 SMID 1000 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(16). CDB: 88 00 00 00 00 02 70 24 e1 10 00 00 00 28 00 00 length 20480 SMID 956 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(16). CDB: 88 00 00 00 00 01 fc d3 41 50 00 00 00 08 00 00 length 4096 SMID 394 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(16). CDB: 88 00 00 00 00 02 48 83 87 c8 00 00 00 e0 00 00 length 114688 SMID 421 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(16). CDB: 88 00 00 00 00 02 48 83 7f 80 00 00 00 b0 00 00 length 90112 SMID 355 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): SYNCHRONIZE CACHE(10). CDB: 35 00 00 00 00 00 00 00 00 00 length 0 SMID 991 terminated ioc 804b scsi 0 state c xfer 0
Jun 7 15:29:46 server kernel: mpr0: Unfreezing devq for target ID 7
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(16). CDB: 88 00 00 00 00 02 48 83 7b 48 00 00 00 28 00 00
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): CAM status: Command timeout
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): Retrying command
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): READ(10). CDB: 28 00 69 d8 c6 b8 00 00 08 00
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): CAM status: SCSI Status Error
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): SCSI status: Check Condition
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): SCSI sense: UNIT ATTENTION asc:29,0 (Power on, reset, or bus device reset occurred)
Jun 7 15:29:46 server kernel: (da7:mpr0:0:7:0): Retrying command (per sense data)
Jun 8 00:04:35 server kernel: (noperiph:mpr0:0:4294967295:0): SMID 5 Aborting command 0xfffffe0000a5c570
Jun 8 00:04:35 server kernel: mpr0: Sending reset from mprsas_send_abort for target ID 7
Jun 8 00:04:36 server kernel: mpr0: mprsas_action_scsiio: Freezing devq for target ID 7


irgendwas ist mit dem mpr controller nicht ganz ok... Leider habe ich immer wieder so viele andere Sachen zu tun, dass ich mich hier nicht tage/wochenlange aufhalten kann. Aber vielleicht hat da jemand eine IDee? Das wäre soooo super!

Ach nach einem reboot und einem zfs resilvering ist dann alles weider ok... Und bei kleiner Auslastung bleibt das dann auch so - über Wochen/Monate... passiert auch mit anderen Platten, ich denke das liegt nicht an den Platten, da sie fast alle angemeckert werden...

VG Norbert
 
Sind das SSD mit einem Dateisystem, was TRIM nutzt? Also zum Beispiel ZFS.
 
nein, keine SSD - es sind folgende Festplatten:

Jun 8 08:09:57 SERVER kernel: da0 at mpr0 bus 0 scbus0 target 0 lun 0
Jun 8 08:09:57 SERVER kernel: da0: <ATA WDC WD60EFRX-68L 0A82> Fixed Direct Access SPC-4 SCSI device
Jun 8 08:09:57 SERVER kernel: da0: Serial Number WD-WX81D65AST1Z
Jun 8 08:09:57 SERVER kernel: da0: 600.000MB/s transfers
Jun 8 08:09:57 SERVER kernel: da0: Command Queueing enabled
Jun 8 08:09:57 SERVER kernel: da0: 5723166MB (11721045168 512 byte sectors: 255H 63S/T 729601C)
Jun 8 08:09:57 SERVER kernel: da0: quirks=0x8<4K>

und ja, ich nutze ZFS - eigentlich immer :)
 
Gib mir mal bitte:

Code:
dmesg | grep mpr0

pciconf -lv | grep SAS

smartctl -a /dev/da7
 
Hängen die Platten an ner Backplane oder sind sie direkt mit einem Kabel mit dem Controller verbunden?
 
nein, keine SSD - es sind folgende Festplatten:
Dann kann man schon mal ausschließen, dass es das alte Problem ist, dass SAS-Controller für SATA-SSDs gerne mal falsche Angaben für die maximal nicht blockierend zu TRIMenden Blöcke angeben. Das führt dann dazu, dass die Dateisysteme zu viele Blöcke auf einmal TRIMen, die SSD blockiert und der Controller motzt.

Auf jeden Fall, bevor du irgendwas anderes machst, solltest du sicherstellen, dass der Controller eine aktuelle Firmware hat. Controller-Firmware ist sehr komplex, Probleme im Zusammenspiel zwischen Platte, Controller und Treiber kommen immer wieder vor. Ein Blick in die meist endlosen Changelogs erklärt, was ich meine. ;) Und gerade die früheren Firmwares der mpt-Serie waren massiv zickig, bis an den Rand der Unbenutzbarkeit.
 
robleme im Zusammenspiel zwischen Platte, Controller und Treiber kommen immer wieder vor

Mja, das hattest du mal in nem anderen Thread zu Controllern erwähnt. Gerade wenn die FW nicht gleich der Treiberversion ist...daran musste ich auch denken, bei meinem Serverproblem (der Übeltäter scheint aber gefunden), weils ungleich ist, es aber keine neue FW gibt.

Code:
mps0: <Avago Technologies (LSI) SAS2308> port 0xe000-0xe0ff mem 0xfeab0000-0xfeabffff,0xfeac0000-0xfeafffff irq 28 at device 0.0 on pci1
mps0: Firmware: 20.00.07.00, Driver: 21.02.00.00-fbsd
 
Wenn es keine neuere Firmware gibt, ist die Abweichung zwischen Treiber und Firmware natürlich egal. :) Aber dann ist da ja alles in Ordnung und das Problem wird eher nicht im Bereich Firmware <-> Treiber liegen. Es gibt immer mal wieder inkompatible Platten, aber ich würde da erstmal in @turricans Richtung weiterforschen. Kabel, Backplane, ein Staubkorn an der falschen Stelle...
 
Gib mir mal bitte:

Code:
dmesg | grep mpr0

pciconf -lv | grep SAS

smartctl -a /dev/da7

# dmesg | grep mpr0
mpr0: <Avago Technologies (LSI) SAS3008> port 0xc000-0xc0ff mem 0xfddf0000-0xfddfffff irq 44 at device 0.0 on pci1
mpr0: IOCFacts :
mpr0: Firmware: 05.00.00.00, Driver: 09.255.01.00-fbsd
mpr0: IOCCapabilities: 7a85c<ScsiTaskFull,DiagTrace,SnapBuf,EEDP,TransRetry,EventReplay,MSIXIndex,HostDisc>
mpr0: SAS Address for SATA device = 48684856d1bcae7e
mpr0: SAS Address for SATA device = 48684856d1d9b06e
mpr0: SAS Address for SATA device = 4868484bd6d9ad95
mpr0: SAS Address for SATA device = 48684856d1dfd290
mpr0: SAS Address for SATA device = 48684856d1deaf80
mpr0: SAS Address for SATA device = 4c744754cbdfca85
mpr0: SAS Address for SATA device = 48684856d1deca7f
mpr0: SAS Address for SATA device = 4868484bd6dfc191
mpr0: SAS Address from SAS device page0 = 4433221100000000
mpr0: SAS Address from SATA device = 48684856d1bcae7e
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x0009> enclosureHandle<0x0001> slot 3
mpr0: At enclosure level 0 and connector name ( )
mpr0: SAS Address from SAS device page0 = 4433221101000000
mpr0: SAS Address from SATA device = 48684856d1d9b06e
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x000b> enclosureHandle<0x0001> slot 2
mpr0: At enclosure level 0 and connector name ( )
mpr0: SAS Address from SAS device page0 = 4433221102000000
mpr0: SAS Address from SATA device = 4868484bd6d9ad95
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x000a> enclosureHandle<0x0001> slot 0
mpr0: At enclosure level 0 and connector name ( )
mpr0: SAS Address from SAS device page0 = 4433221103000000
mpr0: SAS Address from SATA device = 48684856d1dfd290
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x000c> enclosureHandle<0x0001> slot 1
mpr0: At enclosure level 0 and connector name ( )
mpr0: SAS Address from SAS device page0 = 4433221104000000
mpr0: SAS Address from SATA device = 48684856d1deaf80
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x000d> enclosureHandle<0x0001> slot 7
mpr0: At enclosure level 0 and connector name ( )
mpr0: SAS Address from SAS device page0 = 4433221105000000
mpr0: SAS Address from SATA device = 4c744754cbdfca85
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x000e> enclosureHandle<0x0001> slot 6
mpr0: At enclosure level 0 and connector name ( )
mpr0: SAS Address from SAS device page0 = 4433221106000000
mpr0: SAS Address from SATA device = 48684856d1deca7f
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x000f> enclosureHandle<0x0001> slot 4
mpr0: At enclosure level 0 and connector name ( )
mpr0: SAS Address from SAS device page0 = 4433221107000000
mpr0: SAS Address from SATA device = 4868484bd6dfc191
mpr0: Found device <881<SataDev,Direct>,End Device> <6.0Gbps> handle<0x0010> enclosureHandle<0x0001> slot 5
mpr0: At enclosure level 0 and connector name ( )
da0 at mpr0 bus 0 scbus0 target 0 lun 0
da2 at mpr0 bus 0 scbus0 target 2 lun 0
da1 at mpr0 bus 0 scbus0 target 1 lun 0
da3 at mpr0 bus 0 scbus0 target 3 lun 0
da4 at mpr0 bus 0 scbus0 target 4 lun 0
da5 at mpr0 bus 0 scbus0 target 5 lun 0
da7 at mpr0 bus 0 scbus0 target 7 lun 0
da6 at mpr0 bus 0 scbus0 target 6 lun 0

# pciconf -lv | grep SAS
device = 'SAS3008 PCI-Express Fusion-MPT SAS-3'
subclass = SAS
 
Hier stand Murks. Irgendwie ist heute nicht mein Tag und werfe ständig Beiträge durcheinander.

Versuch 2: Die Firmware ist vom Board abhängig und nicht vom Controller, aber Hauptversion 05 erscheint mir zu niedrig. Besser noch mal sicherstellen, dass es wirklich eine aktuelle Version ist.
 
Es gab ein Szenario, bei multiplen Pfaden einer Platte an einen Controller, deswegen die Frage nach direkt oder über Backplane.
Auch scheinen die FreeNAS Leuts grad Probleme mit großen Platten (6 bzw 10TB) zu haben, welche dann solche Logeinträge wie oben fabrizieren. Mit Linux auf der gleichen Hardware scheints zu laufen, d.h es könnte am FreeBSD bzw dessen Treiber für die mpt SAS liegen, das is aber scheinbar noch ungelöst.

Die firmware scheint recht alt (05.00.00.00) - ich meinte für den gabs schon ne 15- oder 16.00.00.00
Auch könnteste ggf auf die -IT Variante wechseln, ZFS mag am liebsten den direktesten Zugriff auf die Platten, ohne störende Controller-Logik usw
 
danke für die Hilfe! flashen gerne... kann ich aber zur Zeit nicht, da dieser Server eine zentrale Rolle spielt...
 
Hallo,

beim LSI2008 gabs mal Probleme mit einer Firmwareversion, da war es SInnvoll die vorhergehende zu benutzen. Sollte bei dir die neueste nicht laufen wäre es ein Versuch.

Gruß ré
 
Zurück
Oben