Назад | Перейти на главную страницу

Программный RAID устанавливает диск в неисправный через несколько дней до следующей перезагрузки

Мой Debian (ДжессиСистема на основе) устанавливает один из моих RAID-дисков в неисправный после нескольких дней работы. Если я перезагружаю машину - все снова в порядке в течение нескольких дней, пока проблема не появится снова.

Вот моя среда:

Система работает Debian Jessie 64-битная и имеет два физических диска, которые используются как RAID1 с участием мдадм.

Система также использует LVM для более гибкого управления перегородками.

Внутри VirtualBox 5.1.10 среда работают две виртуальные машины. Файлы .VDI этих машин также находятся на LVM упомянутое выше.

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

Есть ли какие-нибудь известные ошибки в этой комбинации программного RAID, LVM и Virtualbox?

Некоторые выходные данные команды:

~ # cat / proc / mdstat

Personalities : [raid1]                                                                                                                                                             
md3 : active raid1 sda3[0] sdb3[2](F)                                                                                                                                               
      1458846016 blocks [2/1] [U_]                                                                                                                                                  

md1 : active raid1 sda1[0] sdb1[2](F)                                                                                                                                               
      4194240 blocks [2/1] [U_]                                                                                                                                                     

unused devices: <none>

~ # mdadm -D / dev / md1

/dev/md1:                                                                                                                                                                           
        Version : 0.90                                                                                                                                                              
  Creation Time : Sat May 14 00:24:24 2016                                                                                                                                          
     Raid Level : raid1                                                                                                                                                             
     Array Size : 4194240 (4.00 GiB 4.29 GB)                                                                                                                                        
  Used Dev Size : 4194240 (4.00 GiB 4.29 GB)                                                                                                                                        
   Raid Devices : 2                                                                                                                                                                 
  Total Devices : 2                                                                                                                                                                 
Preferred Minor : 1                                                                                                                                                                 
    Persistence : Superblock is persistent                                                                                                                                          

    Update Time : Sun Dec  4 00:59:17 2016                                                                                                                                          
          State : clean, degraded 
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync
       2       0        0        2      removed

       2       8       17        -      faulty   /dev/sdb1

~ # mdadm -D / dev / md3

/dev/md3:
        Version : 0.90
  Creation Time : Sat May 14 00:24:24 2016
     Raid Level : raid1
     Array Size : 1458846016 (1391.26 GiB 1493.86 GB)
  Used Dev Size : 1458846016 (1391.26 GiB 1493.86 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Sun Dec  4 00:59:16 2016
          State : clean, degraded 
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

    Number   Major   Minor   RaidDevice State
       0       8        3        0      active sync
       2       0        0        2      removed

       2       8       19        -      faulty   /dev/sdb3

~ # кот / etc / fstab

/dev/md1        /               ext3    defaults        1 1
/dev/sda2       none            swap    sw              
/dev/sdb2       none            swap    sw              
/dev/vg00/usr   /usr            ext4    defaults        0 2
/dev/vg00/var   /var            ext4    defaults        0 2
/dev/vg00/home  /home           ext4    defaults        0 2
#/dev/hdd/data  /data           ext4    defaults        0 2
devpts          /dev/pts        devpts  gid=5,mode=620  0 0
none            /proc           proc    defaults        0 0
none            /tmp    tmpfs   defaults        0 0

Прежде всего, мы хотим увидеть некоторую информацию из ваших системных журналов. Когда ядро ​​извлекает диск из RAID-массива, там воля быть записанной некоторой информацией. В самом последнем случае, который я могу найти, критическая линия

Nov 21 08:45:49 lory kernel: md/raid1:md1: Disk failure on sdb2, disabling device.

Скорее всего, сразу же будет записана другая информация перед что указывает на элемент метаустройства в "Очень серьезной проблеме"; в моем случае они выглядят как

Nov 21 08:45:49 lory kernel: end_request: I/O error, dev sdb, sector 1497413335
Nov 21 08:45:49 lory kernel: sd 1:0:0:0: [sdb]  Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Nov 21 08:45:49 lory kernel: sd 1:0:0:0: [sdb] CDB: Write(10): 2a 00 59 40 b6 bf 00 00 18 00
Nov 21 08:45:49 lory kernel: end_request: I/O error, dev sdb, sector 1497413311
Nov 21 08:45:49 lory kernel: sd 1:0:0:0: [sdb]  Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Nov 21 08:45:49 lory kernel: sd 1:0:0:0: [sdb] CDB: Write(10): 2a 00 59 40 b6 a7 00 00 18 00

Поэтому было бы очень полезно увидеть эту информацию, по крайней мере, из последнего события RAID, если не из последних двух или трех (пожалуйста, уточните, произошла ли замена жесткого диска между любыми из этих журналов). Я не могу сказать вам, где это будет регистрироваться в Debian, боюсь, вам нужно это знать.

Во-вторых, я понимаю вашу точку зрения, что вы уже заменили оба жестких диска. Я согласен с тем, что маловероятно, что какой-либо жесткий диск виноват, хотя я бы все равно запустил smartctl -t long /dev/sdX по каждому из них в приоритетном порядке (не оба одновременно, пожалуйста!). Однако это заставляет меня задуматься о кабельной разводке. В следующий раз, когда это произойдет, вы можете подумать о замене кабелей между двумя дисками при выключении питания для перезагрузки. Если проблема поменялась местами, у вас очень сильный кандидат. Или, если вы можете себе это позволить, просто замените кабели неисправного накопителя на заведомо исправные или совершенно новые.

И в заключение, почему вы также не зеркалируете своп? Наличие зеркального отображения постоянного хранилища, но без подкачки делает весьма вероятным, что вы получите панику ядра и перезагрузку, если диск выходит из строя (и виртуальная машина находится под нагрузкой), а время отказа устройства RAID - это именно то время, которое вы не хотите, чтобы происходили незапланированные перезагрузки без присмотра.