Узнаем какой диск из софтварного райда надо менять

В категорії Підказки от 14 Жовтня, 2013. Автор admin

Способ как найти какой диск надо менять.

1. Смотрим состояние raid’a (raid1)

# cat /proc/mdstat
Personalities : [raid1]
md4 : active raid1 sdb1[2](F) sda1[0]
      4192832 blocks [2/1] [U_]
md5 : active raid1 sdb2[2](F) sda2[0]
      3148672 blocks [2/1] [U_]
md1 : active raid1 sdb5[1] sda5[0]
      521984 blocks [2/2] [UU]
md2 : active raid1 sda6[0]
      186442240 blocks [2/1] [U_]
md0 : active raid1 sdb3[1] sda3[0]
      1052160 blocks [2/2] [UU]

у md4 и md5 около sdb1 и sdb2 наблюдаем буковку (F), что означает что этот диск надо заменить. Тоесть плохой sdb.

2. Смотрим точно ли что-то плохо

mdadm --detail /dev/md4
    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       0        0       -1      removed
       2       8       17       -1      faulty   /dev/sdb1
mdadm --detail /dev/md5
    Number   Major   Minor   RaidDevice State
       0       8        2        0      active sync   /dev/sda2
       1       0        0       -1      removed
       2       8       18       -1      faulty   /dev/sdb2

нас интересует faulty. У хорошего диска этой строки просто нету

    Number   Major   Minor   RaidDevice State
       0       8        5        0      active sync   /dev/sda5
       1       8       21        1      active sync   /dev/sdb5

3. Осталось выяснить какой именно диск менять. Для этого используем утилиту hdparm

hdparm -I /dev/sdb
...
ATA device, with non-removable media
        Model Number:       ST3200820DS
        Serial Number:      3DE08W1C
        Firmware Revision:  3.AAC
...

4. Вот и все. Тормозим машину, вытаскиваем диск и ищем на нем серийный 3DE08W1C и меняем его на новый.

Меняя диски на лету надо вытащить плохой диск из массива, для этого

mdadm --manage /dev/md0 --fail /dev/sdb3

где /dev/md0 – массив, а /dev/sdb3 – плохой диск

Вставить новый диск и создать такие же разделы что и на хорошем диске массива. Для этого можно воспользоваться sfdisk’ом

sfdisk -d /dev/sda | sfdisk /dev/sdb

значит что мы имеем:

md4 sda1
md5 sda2
md1 sda5
md2 sda6
md0 sda3

это массив и sdb который разбит также как и sda. Осталось только вставить диски в массив:

mdadm --manage /dev/md0 --add /dev/sdb3
mdadm --manage /dev/md2 --add /dev/sdb6
mdadm --manage /dev/md1 --add /dev/sdb5
mdadm --manage /dev/md5 --add /dev/sdb2
mdadm --manage /dev/md4 --add /dev/sdb1

и смотрим что получилось:

cat /proc/mdstat

Personalities : [raid1]
md4 : active raid1 sdb1[2] sda1[0]
      4192832 blocks [2/1] [U_]
        resync=DELAYED
md5 : active raid1 sdb2[2] sda2[0]
      3148672 blocks [2/1] [U_]
        resync=DELAYED
md1 : active raid1 sdb5[2] sda5[0]
      521984 blocks [2/1] [U_]
        resync=DELAYED
md2 : active raid1 sdb6[2] sda6[0]
      186442240 blocks [2/1] [U_]
      [===>.................]  recovery = 19.8% (37084416/186442240) finish=57.0min speed=43600K/sec
md0 : active raid1 sdb3[1] sda3[0]
      1052160 blocks [2/2] [UU]

unused devices: <none>
Теги: ,