Diagnostizieren der RAID-Auslastung auf einem ausgefallenen Laufwerk

Diagnostizieren der RAID-Auslastung auf einem ausgefallenen Laufwerk

Ich habe ein Problem mit einem Server, den ich nicht installiert habe. Der vorherige Mitarbeiter ist nicht mehr hier, um mir etwas zu erklären.

Einige Prozesse sind anscheinend aufgrund eines Festplattenfehlers abgestürzt, daher habe ich in den Protokollen gesucht und Zeilen wie diese gefunden /var/log/messages:

 kernel: [277146.149980] sd 0:1:0:0: [sda] Sense Key : Medium Error [current] 
 kernel: [277146.149986] sd 0:1:0:0: [sda] Add. Sense: Unrecovered read error

Durch Neustart und Verwendung fsckwurde das Problem nicht behoben.

Ich habe keine Ahnung, ob die Festplatten auf einem Hardware- oder Software-RAID liegen. Ich weiß, dass LVM nicht auf der Maschine installiert ist. Backup ist hier kein Thema, dieser Server enthält keine Informationen auf seinen Festplatten, wichtige Daten werden über NFS gemountet. Ich kann die Maschine also bei Bedarf neu installieren, ohne mir Gedanken über den aktuellen Inhalt der Festplatten machen zu müssen.

Bei der Maschine handelt es sich um einen Dell PowerEdge R510, auf dem Debian Squeeze 64 Bit läuft. Die Diagnosetools des Herstellers (Dell) laufen nicht auf Debian Squeeze. Ich habe versucht, sie trotzdem zu installieren und auszuführen, aber sie funktionierten nicht, also muss ich die Diagnose manuell durchführen. Hier sind einige Informationen, die ich Ihnen geben kann.

Außerdem habe ich bei Bedarf physischen Zugriff auf die Maschine und habe gesehen, dass nur drei Festplatten vorhanden waren: drei SCSI-Seagate-Festplatten mit jeweils 600 GB.

 # lshw -class disk
  *-disk:0                
       description: SCSI Disk
       product: Virtual Disk
       vendor: Dell
       physical id: 1.0.0
       bus info: scsi@0:1.0.0
       logical name: /dev/sda
       version: 1028
       size: 1675GiB (1798GB)
       capacity: 1675GiB (1798GB)
       capabilities: 15000rpm partitioned partitioned:dos
       configuration: ansiversion=6 signature=cf241336

Wir sprechen also offensichtlich von einer virtuellen Festplatte mit 1800 GB, die die drei physischen Festplatten mit je 600 GB enthält. Die Konfiguration virtueller Festplatten kann anscheinend über das BIOS erfolgen. Wenn ich also die gesamte Maschine mit neuen Festplatten neu installieren muss, muss ich vor dem Booten einer ISO/Live-CD/PXE ins BIOS gehen, richtig?

# fdisk -l
Disk /dev/sda: 1798.7 GB, 1798651772928 bytes
3 heads, 52 sectors/track, 22519177 cylinders
Units = cylinders of 156 * 512 = 79872 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcf241336

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         421       32812   de  Dell Utility
/dev/sda2   *         434       27320     2097152    c  W95 FAT32 (LBA)
/dev/sda3           27320      277715    19530752   83  Linux
/dev/sda4          277728    22519165  1734832129    5  Extended
/dev/sda5          277728      402918     9764864   82  L

Ich nehme an, dies ist die Bestätigung, dass es nur eine Festplatte gibt, eine virtuelle.

# smartctl -i /dev/sda
smartctl 5.40 2010-07-12 r3124 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: Dell     Virtual Disk     Version: 1028
Device type: disk
Local Time is: Mon Jun 15 10:28:59 2015 CEST
Device does not support SMART

Es scheint legitim zu sein, da smartctl anscheinend nicht mit virtuellen Laufwerken funktioniert.

# cat /proc/scsi/scsi 
Attached devices:
Host: scsi3 Channel: 00 Id: 00 Lun: 00
  Vendor: TEAC     Model: DVD-ROM DV-28SW  Rev: R.2B
  Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi0 Channel: 01 Id: 00 Lun: 00
  Vendor: Dell     Model: Virtual Disk     Rev: 1028
  Type:   Direct-Access                    ANSI  SCSI revision: 06
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: SEAGATE  Model: ST3600057SS      Rev: ES64
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi0 Channel: 00 Id: 01 Lun: 00
  Vendor: SEAGATE  Model: ST3600057SS      Rev: ES64
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi0 Channel: 00 Id: 02 Lun: 00
  Vendor: SEAGATE  Model: ST3600057SS      Rev: ES64
  Type:   Direct-Access                    ANSI  SCSI revision: 05

Das ist also, was ich bisher habe. Ich nehme an, ich muss neue Festplatten kaufen und die Maschine neu installieren. Ich möchte also wissen: Ist auf dieser Maschine ein RAID konfiguriert? Woher weiß ich das? Weil ich die aktuelle Konfiguration exakt reproduzieren möchte. Ich gebe Ihnen gerne weitere Informationen, wenn Sie welche benötigen.

[BEARBEITEN] Hier ist die Ausgabe des lspci-Befehls.

# lspci
00:00.0 Host bridge: Intel Corporation 5500 I/O Hub to ESI Port (rev 13)
00:01.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 (rev 13)
00:03.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 (rev 13)
00:07.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 7 (rev 13)
00:09.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 9 (rev 13)
00:0a.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 10 (rev 13)
00:14.0 PIC: Intel Corporation 5520/5500/X58 I/O Hub System Management Registers (rev 13)
00:14.1 PIC: Intel Corporation 5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (rev 13)
00:14.2 PIC: Intel Corporation 5520/5500/X58 I/O Hub Control Status and RAS Registers (rev 13)
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.3 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller
00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller #1
00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller #2
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20)
01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20)
02:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)
03:00.0 InfiniBand: QLogic Corp. InfiniPath QME7342 QDR HCA (rev 02)
06:03.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200eW WPCM450 (rev 0a)

[BEARBEITEN2] So erfahren Sie die Anzahl der verfügbaren Controller:

# megacli -adpCount                 
Controller Count: 0.
Exit Code: 0x00

So drucken Sie alle Informationen zu den Controllern aus:

# megacli -adpallinfo -aALL
Exit Code: 0x00

Das bedeutet also vermutlich, dass kein Hardware-RAID vorhanden ist?

[BEARBEITEN3]

# ls -l /dev/disk/by-path
total 0
lrwxrwxrwx 1 root root  9 Jun 12 12:19 pci-0000:00:1f.5-scsi-0:0:0:0 -> ../../sr0
lrwxrwxrwx 1 root root  9 Jun 15 13:40 pci-0000:02:00.0-scsi-0:1:0:0 -> ../../sda
lrwxrwxrwx 1 root root 10 Jun 12 12:19 pci-0000:02:00.0-scsi-0:1:0:0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jun 12 12:19 pci-0000:02:00.0-scsi-0:1:0:0-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jun 12 12:19 pci-0000:02:00.0-scsi-0:1:0:0-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 Jun 12 12:19 pci-0000:02:00.0-scsi-0:1:0:0-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 Jun 12 12:19 pci-0000:02:00.0-scsi-0:1:0:0-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 Jun 12 12:21 pci-0000:02:00.0-scsi-0:1:0:0-part6 -> ../../sda6

# megaclisas-status
-- Controller informations --
-- ID | Model

-- Arrays informations --
-- ID | Type | Size | Status | InProgress

-- Disks informations
-- ID | Model | Status

[BEARBEITEN4] Der sas2ircuBefehl war hilfreich (siehediese Seite).

Ich habe es endlich geschafft, herauszufinden, ob RAID verwendet wurde: Starten Sie den Server neu, rufen Sie ein Konfigurationsdienstprogrammmenü auf (Strg + C) und sehen Sie, dass RAID0 konfiguriert ist. Ich habe den Befehl smartctl auf den /dev/sg*Festplatten verwendet (smartctl funktionierte nicht /dev/sda*).

smartctl -t long /dev/sg2
smartctl -l selftest /dev/sg2

Endlich wird mir angezeigt, bei welcher Festplatte Segmente ausgefallen sind. Problem also gelöst!

Antwort1

Diese Meldung zeigt an, dass eine oder mehrere der drei Festplatten ausfallen oder dass der Controller/die Kabel ausfallen. Das gesamte Setup scheint ein RAID0 aus drei Festplatten zu sein – eine sehr riskante Konfiguration. Ich würde so etwas tun: Sichern Sie die Daten (falls Sie möchten), demontieren Sie das RAID und holen Sie sich JBOD. Testen Sie jede einzelne Festplatte. Stellen Sie fest, welches Teil ausfällt. Ersetzen Sie es und konfigurieren Sie RAID 1. Stellen Sie das System wieder her/installieren Sie es neu.

Antwort2

Die lspci-Ausgabe:

02:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)

zeigt das Vorhandensein einer Hardware-RAID-Karte an.

Das richtige Tool zur Verwaltung dieser Art von Karte ist: sas2ircu

Weitere Informationen finden Sie hier:

http://hwraid.le-vert.net/wiki/LSIFusionMPTSAS2

verwandte Informationen