"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

mdadm (raid5): entfernte Platte wieder einfügen

EvilGohan 09.02.2010 - 15:13 4809 18
Posts

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Beim Umstecken einer Festplatte bin ich leider unabsichtlich am Stecker einer Raid-Platte angekommen.

Diese wird nun als "removed" gekennzeichnet.

Code:
root@filer:/mnt# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Fri Jan 15 01:13:23 2010
     Raid Level : raid5
     Array Size : 4395407616 (4191.79 GiB 4500.90 GB)
  Used Dev Size : 1465135872 (1397.26 GiB 1500.30 GB)
   Raid Devices : 4
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Feb  9 14:55:43 2010
          State : clean, degraded
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 256K

           UUID : aa6fd5f5:fdbfaba3:7cc4f564:e0529720 (local to host filer)
         Events : 0.1809

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       17        1      active sync   /dev/sdb1
       2       8       33        2      active sync   /dev/sdc1
       3       8       49        3      active sync   /dev/sdd1

Stoppen kann ich das Array nicht, weils "busy" ist.
Gemoutet ist es jedoch nicht.

Code:
root@filer:/mnt# mdadm -S /dev/md0
mdadm: fail to stop array /dev/md0: Device or resource busy

Wenns nicht gestoppt ist kann ichs leider auch nicht reassembeln.

Muss ich es nun recovern, oder gibts eine schnellere Möglichkeit?
Aufs Array wurde nicht geschrieben zu diesem Zeitpunkt.

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
wieso willst sie auch stoppen...

mdadm --manage /dev/md0 --re-add /dev/sdBLAHR

sollte er sich aufregen, dass er die platte ja schon dabei hat =>

edit: tipp removed, bin ma ned ganz sicher was a software raid5 tut wenn ma ihm eine hdd fladert...

das ist zumindest der workflow bei 1er raids mit mdadm, muss aber beim 5er genauso gehen

damit sollts wieder im verbund sein und sich neu syncen.

und schau dass du auf keinen fall die falsche platte removst, 1 platte verlost im raid 5 is ok, bei 2 ist das raid hinüber.
Bearbeitet von semteX am 09.02.2010, 15:46

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Code:
root@filer:/mnt# mdadm --manage /dev/md0 --re-add /dev/sdb1  mdadm: Cannot open /dev/sdb1: Device or resource busy  

Bissl strange...die Platte ist ebenfalls nicht gemountet.

Code:
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
sdb1 ist laut deinem raid status aber active und in sync => wenn ich das extrapolier sollt sda1 die failed sein oder?

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Hab dazwischen mal rebootet...ev. sind jetzt die device Namen verschoben. -.-
Weil vorm reboot war sdb1 sdh1.

Jetzt wirds von der Reihenfolge her interessant.

SDA ist die Systemplatte.

edit

Code:
root@filer:/mnt# mount /dev/sd
sda   sda1  sda2  sda5  sdb   sdb1  sdc   sdc1  sdd   sdd1  sde   sde1

jetzt ist sdb scheinbar sde.

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
viel möglichkeiten hast bei der config eh ned.. sda is es ned, die andern 3 stehen in der status message vom raid drin => ausschlussverfahren und gib ihm

e: wennst ganz auf nummer sicher gehen willst schau vorher noch mit cfdisk /dev/sdBLAHR nach, ob die platte die du da jetzt reinhängen willst ganz sicher die ist, die du suchst... und ned irgend ein schwindlicher USB stick... und die eigentliche festplatte gar nimmer vom system gefunden wird
Bearbeitet von semteX am 09.02.2010, 15:55

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
So...nochmal alle Kabel gecheckt und einen schlechten Kontakt behoben.

Code:
root@filer:/home/tom# mdadm --manage /dev/md0 --re-add /dev/sdb1
mdadm: re-added /dev/sdb1

root@filer:/home/tom# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Fri Jan 15 01:13:23 2010
     Raid Level : raid5
     Array Size : 4395407616 (4191.79 GiB 4500.90 GB)
  Used Dev Size : 1465135872 (1397.26 GiB 1500.30 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Feb  9 16:00:01 2010
          State : clean, degraded, recovering
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 256K

 Rebuild Status : 0% complete

           UUID : aa6fd5f5:fdbfaba3:7cc4f564:e0529720 (local to host filer)
         Events : 0.1822

    Number   Major   Minor   RaidDevice State
       4       8       17        0      spare rebuilding   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1
root@filer:/home/tom# cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sdb1[4] sde1[3] sdc1[1] sdd1[2]
      4395407616 blocks level 5, 256k chunk, algorithm 2 [4/3] [_UUU]
      [>....................]  recovery =  0.1% (2172692/1465135872) finish=291.7min speed=83565K/sec

unused devices: <none>

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
sieht doch gleich besser aus... wobei es mich grad wundert wieso die als spare drin steht... ist das ein 3 + 1 spare raid 5?

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Nein ist es nicht. Ich seh auch grad, dass spare devices jetzt 1 ist und die Nummer von sdb1 4 geworden ist.

...

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
das mit der nummer ist nicht weiter tragisch, für ihn ists ein neues device... was ich allerdings ned kapier is wieso der die platte als spare hinzufügt, wenn die assembly size eigentlich 4 ist... ich würds mal fertig laufn lassn, eventuell kann sich da Colo einen reim drauf machn. ich hab hier nur grad keinen Linux rechner mit raid5 vor mir um mir das ein bisserl anzuschaun

Dookie

Heimwerker
Avatar
Registered: Sep 2003
Location: Mödling
Posts: 739
Hab hier ebenfalls ein RAID5 in Software und ich bild mir ein bei mir ist auch 'spare' während des rebuilds gestanden. Warte einfach mal ab.

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Alles wieder wie immer. Auch die disk numbers passen wieder.

thx semtex

Wenn ev. jemand eine Methode kennt die ohne rebuild funktioniert -> post here! :)

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Gibt es keine. Wenn dein RAID einmal degraded ist, kommt es zum Rebuild, no matter what. (Wobei - kann schon sein, dass man md irgendwie dazu zwingen kann, den Rebuild auszulassen - nur hat man dann halt inkonsistente Daten auf der einen Platte, und koennte es auch gleich ganz lassen.)

Richtige Vorgehensweise in so einem Fall ist uebrigens: `mdadm $array --manage --remove detached` zum Rauswerfen der nicht mehr angeschlossenen Platte aus dem Array, dann die Platte wieder anstecken, dann `mdadm $array --manage --add $blockdevice` (wenn mdadm erkennt, dass das blockdevice einen Superblock hat, der es als Member des Arrays identifiziert, tut --add genau das selbe wie --re-add).

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Super, danke für die Info.

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Das Problem stellt sich erneut, nur diesmal funktioniert die bereits erfolgreich durchgeführte Vorgehensweise nicht mehr.

Mittlerweile hat das Raid eine zusätzliche Festplatte erhalten, was schon einige Wochen her ist. Beim Transport von meiner Wohnung in Hgb nach Wieselburg scheint sich ein Kabel von einer Platte gelöst zu haben. Diese wurde dann als "removed" gekennzeichnet.
Also eh alles wie beim Fall oben.

Das Raid 5 sieht so aus:

Code:
root@filer:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Fri Jan 15 01:13:23 2010
     Raid Level : raid5
     Array Size : 5860543488 (5589.05 GiB 6001.20 GB)
  Used Dev Size : 1465135872 (1397.26 GiB 1500.30 GB)
   Raid Devices : 5
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Sun Jul  4 13:25:43 2010
          State : clean, degraded
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 256K

           UUID : aa6fd5f5:fdbfaba3:7cc4f564:e0529720 (local to host filer)
         Events : 0.3779297

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       49        1      active sync   /dev/sdd1
       2       8       33        2      active sync   /dev/sdc1
       3       8       65        3      active sync   /dev/sde1
       4       8       81        4      active sync   /dev/sdf1

Beim Versuch des Wiedereinfügens:

Code:
root@filer:~# mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: Cannot open /dev/sdb1: Device or resource busy

Leider lässt sich (auch nach mehreren reboots) die fehlende Platte nicht mehr einhängen.
lsof zeigt keine Benutzung der Festplatte an. Sie ist (logischerweise) nicht gemountet und diesmal haben sich auch die devices nicht geändert.

Bissl nervenaufreibend... :bash:
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz