Diagnosticar la utilización de RAID en una unidad fallida

Diagnosticar la utilización de RAID en una unidad fallida

Tengo un problema en un servidor que no instalé, el ex chico ya no está aquí para explicarme nada.

Algunos procesos fallaron debido a lo que parece ser una falla del disco, así que busqué en los registros y encontré líneas como esta en /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

Reiniciar y usar fsckno solucionó el problema.

No tengo idea si los discos están en un RAID de hardware o software. Sé que LVM no está instalado en la máquina. La copia de seguridad no es un problema aquí, este servidor no contiene información en sus discos, los datos importantes se montan a través de NFS. Entonces puedo, si es necesario, reinstalar la máquina sin preocuparme por el contenido actual de los discos.

La máquina es una Dell PowerEdge R510 que ejecuta Debian Squeeze de 64 bits. Las herramientas de diagnóstico del fabricante (Dell) no se ejecutan en Debian Squeeze. Intenté instalarlas y ejecutarlas de todos modos, pero no funcionaron, así que tengo que diagnosticarlas manualmente. Aquí hay algo de información que puedo proporcionarte.

Además, tengo acceso físico a la máquina si es necesario y vi que solo había tres discos presentes: tres discos SCSI Seagate de 600 GB cada uno.

 # 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

Entonces aparentemente estamos hablando de un disco virtual de 1800 GB, que contiene los tres discos físicos de 600 GB. Aparentemente, la configuración de discos virtuales se puede realizar mediante el BIOS. Entonces, si tengo que reinstalar toda la máquina con discos nuevos, debo ingresar al BIOS antes de iniciar un iso/liveCD/PXE, ¿verdad?

# 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

Supongo que esta es la confirmación de que sólo existe un disco, uno virtual.

# 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

Parece legítimo porque parece que smartctl no funciona con unidades virtuales.

# 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

Entonces esto es lo que tengo hasta ahora. Supongo que tendré que comprar discos nuevos y reinstalar la máquina. Entonces quiero saber: ¿esta máquina tiene algún RAID configurado? Cómo puedo saber ? Porque quiero reproducir la configuración actual exacta. Estaré encantado de proporcionarle más información si la necesita.

[EDITAR] Aquí está el resultado del comando lspci.

# 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)

[EDITAR2] Para saber el número de controladores disponibles:

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

Para imprimir todas las informaciones de los controladores :

# megacli -adpallinfo -aALL
Exit Code: 0x00

Entonces supongo que esto significa que no hay RAID de hardware.

[EDITAR3]

# 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

[EDITAR4] El sas2ircucomando fue útil (veresta página).

Finalmente logro encontrar si se usó RAID: reinicie el servidor, ingrese al menú de la Utilidad de configuración (Ctrl + C) y vea que RAID0 está configurado. Utilicé el comando smartctl en los /dev/sg*discos (smartctl no funcionaba /dev/sda*).

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

Finalmente me muestra cuál de los discos tenía segmentos fallidos. ¡Así que problema resuelto!

Respuesta1

Este mensaje indica que uno o más de los tres discos están fallando, o que el controlador/los cables están fallando. Toda la configuración parece ser un RAID0 de tres discos: una configuración muy arriesgada. Haría algo como esto: hacer una copia de seguridad de los datos (si lo desea), desmantelar el RAID y obtener JBOD. Pruebe cada disco individual. Establecer cuál es la parte fallida. Reemplácelo y configure RAID 1. Restaure/reinstale el sistema.

Respuesta2

La salida de lspci:

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

indica la presencia de una tarjeta raid hw.

La herramienta correcta para gestionar este tipo de tarjetas es: sas2ircu

Puedes encontrar más información aquí:

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

información relacionada