Диагностика использования RAID на неисправном диске

Диагностика использования RAID на неисправном диске

У меня возникла проблема на сервере, который я не устанавливал, а прежнего парня больше нет, чтобы что-либо мне объяснить.

Некоторые процессы зависли из-за, судя по всему, сбоя диска, поэтому я поискал в журналах и нашел такие строки /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

Перезагрузка и использование fsckне решили проблему.

Я понятия не имею, находятся ли диски на аппаратном или программном RAID. Я знаю, что LVM не установлен на машине. Резервное копирование здесь не проблема, этот сервер не содержит информации на своих дисках, важные данные монтируются через NFS. Так что я могу при необходимости переустановить машину, не беспокоясь о текущем содержимом дисков.

Машина — Dell PowerEdge R510, работающая под управлением Debian Squeeze 64 бит. Инструменты диагностики производителя (Dell) не работают на Debian Squeeze, я все равно пытался установить и запустить их, но они не работали, поэтому мне пришлось диагностировать вручную. Вот некоторая информация, которую я могу вам предоставить.

Кроме того, у меня есть физический доступ к машине, если это необходимо, и я увидел, что там было только три диска: три SCSI-диска Seagate по 600 ГБ каждый.

 # 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

Итак, очевидно, мы говорим о виртуальном диске объемом 1800 ГБ, содержащем три физических диска по 600 ГБ. Очевидно, что настройка виртуальных дисков может быть выполнена с помощью BIOS. Так что если мне нужно переустановить всю машину с новыми дисками, я должен войти в BIOS перед загрузкой одного iso/liveCD/PXE, я прав?

# 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

Полагаю, это подтверждение того, что диск только один, виртуальный.

# 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

Кажется, это правильно, потому что smartctl, похоже, не работает с виртуальными дисками.

# 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

Вот что у меня есть на данный момент. Полагаю, мне придется купить новые диски и переустановить машину. Поэтому я хочу знать: есть ли на этой машине какой-то сконфигурированный RAID? Откуда я знаю? Потому что я хочу воспроизвести точную текущую конфигурацию. Я буду рад предоставить вам больше информации, если она вам понадобится.

[РЕДАКТИРОВАТЬ] Вот вывод команды 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)

[РЕДАКТИРОВАТЬ2] Чтобы узнать количество доступных контроллеров:

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

Чтобы распечатать всю информацию о контроллерах:

# megacli -adpallinfo -aALL
Exit Code: 0x00

Полагаю, это означает, что аппаратного RAID нет?

[РЕДАКТИРОВАТЬ3]

# 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

[РЕДАКТИРОВАТЬ4] Команда sas2ircuоказалась полезной (см.эта страница).

Мне наконец удалось выяснить, использовался ли RAID: перезагрузите сервер, войдите в меню Configuration Utility (Ctrl + C) и посмотрите, что RAID0 настроен. Я использовал команду smartctl на дисках /dev/sg*(smartctl не работал на /dev/sda*).

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

Наконец-то он показывает мне, на каком из дисков были сбойные сегменты. Так что проблема решена!

решение1

Это сообщение указывает на то, что один или несколько из трех дисков выходят из строя или контроллер/кабели выходят из строя. Вся установка, похоже, представляет собой RAID0 из трех дисков — очень рискованная конфигурация. Я бы сделал что-то вроде этого: сделал резервную копию данных (если хотите), разобрал RAID и получил JBOD. Протестировал каждый отдельный диск. Определил, какая часть вышла из строя. Заменил ее и настроил RAID 1. Восстановил/переустановил систему.

решение2

Вывод lspci:

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

указывает на наличие карты HW RAID.

Правильный инструмент для управления такого рода картами: sas2ircu

Более подробную информацию вы можете найти здесь:

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

Связанный контент