LSI-RAID-Controller-Fehler beim DB-Import - Fehlerbehebung?

7

Wir führen einen Import eines Datenbank-Dumps auf einem Oracle-System durch - (RHEL 5.9, 2.6.18-348.6.1.el5). Der Import wird nicht abgeschlossen und führt schließlich zu einem Fehler mit:

ORA-15080: synchronous I/O operation to a disk failed
WARNING: failed to write mirror side 1 of virtual extent 248 logical extent 0 of file 280 in group 1 on disk 1 allocation unit 986
Errors in file /u01/app/oracle/diag/rdbms/dbprod/DBPROD/trace/DBPROD_lgwr_24520.trc:
ORA-00345: redo log write error block 509314 count 2023
ORA-00312: online log 1 thread 1: '+DATA/dbprod/redo01.log'
ORA-15081: failed to submit an I/O operation to a disk
ORA-15081: failed to submit an I/O operation to a disk

Es gibt entsprechende Fehler im Ringpuffer und /var/log/messages:

Jun 12 18:54:42 db1-test kernel: megasas: build_ld_io  error, sge_count = 51
Jun 12 18:54:42 db1-test kernel: megasas: Err returned from build_and_issue_cmd
Jun 12 18:54:42 db1-test kernel: megasas: build_ld_io  error, sge_count = 51
Jun 12 18:54:42 db1-test kernel: megasas: Err returned from build_and_issue_cmd
Jun 12 18:54:42 db1-test kernel: megasas: build_ld_io  error, sge_count = 51
Jun 12 18:54:42 db1-test kernel: megasas: Err returned from build_and_issue_cmd
Jun 12 18:54:42 db1-test kernel: sd 0:2:1:0: timing out command, waited 360s
Jun 12 18:54:42 db1-test kernel: sd 0:2:1:0: Unhandled error code
Jun 12 18:54:42 db1-test kernel: sd 0:2:1:0: SCSI error: return code = 0x06000000
Jun 12 18:54:42 db1-test kernel: Result: hostbyte=DID_OK driverbyte=DRIVER_TIMEOUT,SUGGEST_OK

Das Laufwerksarray, das den Import enthält, ist ein SAS-Array mit 10 Festplatten in RAID 1 + 0 unter Verwendung von 10-GB-Festplatten mit 300 GB. Der RAID-Controller ist ein LSI MegaRAID SAS 9260-8i . Über MegaCLI werden keine Festplatten- oder Adapterfehler gemeldet.

  • Ist das ein Hardwareproblem?
  • Gibt es eine Möglichkeit zur Fehlerbehebung? Der RAID-Controller-Status ist in Ordnung. Die Datenträger und logischen Laufwerke melden einen fehlerfreien Zustand.
  • Ist dies ein Linux-Betriebssystem oder ein Tuning-Problem? Ich werde es mit verschiedenen E / A-Schedulern versuchen, um sicherzugehen. CFQ ist Standard.

Bearbeiten:

Andere Scheduler wurden mit dem gleichen Ergebnis ausprobiert. Es ist a von Drittanbietern (Vormetric) Dateisystem - Verschlüsselungsmodul in diesem Setup ausgeführt wird . Durch Entfernen wird der Import abgeschlossen. Jetzt frage ich mich also, ob dies ein Mangel im Modul ist oder ob es einen schlechten Zustand im LSI-Treiber auslöst.


Während des Imports erreichen wir 14.000 Schreib-IOPS. Geben Sie hier die Bildbeschreibung ein

Bei den letzten Versuchen wurde das System vollständig wie folgt auf der Konsole blockiert. Geben Sie hier die Bildbeschreibung ein

Letzte topAusgabe vor dem Einfrieren. Geben Sie hier die Bildbeschreibung ein

ewwhite
quelle
Nur um klar zu sein - der Raid-Controller sagt, dass die Laufwerke in Ordnung sind? Was sagt die LSI-Unterstützung? Da dies ein SEHR offensichtliches Problem der "RAID / OS-Intergation" ist, wäre dies meine erste Wahl. Wenn die Discs kaputt sind, sollten zumindest ihre Tools dies sagen - das ist die Aufgabe eines Raid-Controllers.
TomTom
Dies scheint nur während des Datenbankimports aufzutreten. Normale Aktivität bleibt unberührt.
ewwhite
2
Aus dem Code im Megaraid-Treiber geht hervor, dass beim Vorbereiten eines Befehls für das logische Laufwerk ein gewisser Puffer überlaufen wird. Aktualisieren Sie die Firmware des Controllers, den Treiber und fragen Sie den LSI-Support - in dieser Reihenfolge.
The-Wabbit
2
Der Fehler bedeutet, dass der Treiber eine Anforderung mit mehr SG-Einträgen erhalten hat, als von der Hardware unterstützt wird. Dies kann durch Fehler im Block-E / A-Stapel verursacht werden. Ein ähnlicher Fehler in RHEL5 mit dm soll behoben worden sein. Es gab auch einen möglicherweise verwandten Fehler in Upstream Linux dm .
Sergey Vlasov
@ syneticon-dj Die Firmware wurde aktualisiert ... Ich habe jedoch Screenshots von Protokollen / Konsolen in Echtzeit erhalten. dmsetupsaß ganz oben auf der Liste der Prozessressourcenauslastung.
ewwhite

Antworten:

3

Letztendlich hat Sergey recht - das ist ein Treiberproblem. Aber schauen wir uns zuerst die Dinge an:

Zunächst möchten Sie den Termin-E / A-Planer anstelle von CFQ verwenden. deadlineWie der Name schon sagt, wird sichergestellt, dass alle IOPs rechtzeitig abgeschlossen werden.

Holen Sie sich die Ereignisse von der Megaraid-Karte:

megacli -adpeventlog -getevents -f /tmp/megaraid-$(date +%F_%T) -aALL

Überprüfen Sie die SMART-Daten auf den Datenträgern (Sie müssen neue Smartmontools erstellen, damit dies funktioniert):

# megacli -pdlist -a0 |grep 'Device Id'
Device Id: 10
Device Id: 9

# smartctl -a /dev/sda -d megaraid,9
«…»
# smartctl -a /dev/sda -d megaraid,10
«…»

Wenn alles in Ordnung ist, probieren Sie den neuesten Treiber von LSI aus .


In diesem Setup wird ein Dateisystem-Verschlüsselungsmodul eines Drittanbieters (Vormetric) ausgeführt. Durch Entfernen wird der Import abgeschlossen. Jetzt frage ich mich also, ob dies ein Mangel im Modul ist oder ob es einen schlechten Zustand im LSI-Treiber auslöst.

Das Voretric-Modul macht wahrscheinlich etwas Inkompatibles, ja. Ich würde damit beginnen, mit ihnen darüber zu sprechen, wie ihr Modul Ihr System unter hoher Last vermasselt.

MikeyB
quelle
Ich habe es mit deadlineund versucht noop. Beide stürzten ab oder hängten das System auf. Ich habe Dinge bei gelassen deadline. Firmware ist aktuell. Der Treiber sollte beim EL5.9-Build aufgrund anderer Faktoren nicht geändert werden.
ewwhite
Informationen zur verwendeten Verschlüsselungsdateisystemschicht finden Sie unter Bearbeiten.
ewwhite