Beiträge zu “RAID”

mdadm: cannot re-read metadata from /dev/sdb1 - aborting

Gestern gab es bei mir einen sehr ungemütlichen Moment als mein Server nicht mehr von der Festplatte booten wollte und ich für einen kurzen Zeitraum davon ausging das mein Festplatten Raid den Geist aufgegeben hatte.

Was war passiert. Ich hatte neue Kabel zu einer Satelliten Schüssel gelegt. Dazu wird der Server heruntergefahren. Nachdem die neuen Kabel angeschlossen waren stoppte der Bootvorgang mit dieser “wunderbaren Meldung”

 mdadm: cannot re-read metadata from /dev/sdb1 - aborting
 ....
 Alert!!!
 Droping to a shell!

mdadm cannot re-read metadata

Diese Fehlermeldungen verleiteten mich zu der Annahme das mit meinem RAID etwas nicht stimmt und im Verlauf der Fehlersuche habe ich einen Befehl zum rebuild eingegeben bei dem ich berechtigen Grund zur Annahme hatte das ich meine Festplatte neu formatiert habe. Nachdem ich mich also zur Neuinstallation entschieden hatte wurde der Server vom Keller in mein Büro getragen und dort geschah dann das “Wunder” es war alles noch da.

Ich reparierte also mein RAID, machte noch mal ein erweitertes Backup, beförderte das gute Stück wieder in den Keller, schloss alle Kabel an und BUMMM! Derselbe Fehler trat wieder auf.

Es lag an den Kabeln die ich im Keller wieder angeschlossen hatte und genauer um eine Wackelkontakt vermutlich an einer der TV Karten.

Die gute Nachricht ist also: Mein Vertrauen in ein Raid auf Debian ist wieder hergestellt. Und momentan läuft alles

Die schlechte Nachricht: Das mit dem Wackelkontakt habe ich noch nicht komplett in den Griff bekommen.

7.9.14
Weitere Beiträge zu: RAID  

Raid restaurieren

Ich mußte heute ein existierendes Raid in einem neuen Betriebssystem wieder einbinden. So habe ich das hinbekommen

Filesystem bekanntmachen

vi /etc/fstab
    /dev/md0               /backup3         ext3            noatime

Raidsystem bekanntmachen (Partitionen sind anzupassen)

mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1
mdadm --detail --scan >> /etc/mdadm/mdadm.conf

 

13.2.12
Weitere Beiträge zu: RAID  

Nagios: Festplatten Raid überwachen

Hat man unter Linux ein Software RAID 1 installiert und auch NAGIOS installiert kann man das RAID System recht einfach überwachen. Wie immer zuerst der checkcommand.cfg Eintrag und dann der Service

define command{
    command_name    check_raid
    command_line    /usr/lib/nagios/plugins/check_linux_raid
   }

 

define service{
        use                             your-service-template
        host_name                       your-host
        service_description             RAID
        notification_options            n
        check_command                   check_raid
        }

201007-nagios-raid.png

7.8.10
Weitere Beiträge zu: Nagios   RAID  

Festplatten im Raid1 auswechseln

Wenn man im Logfile folgende Nachricht findet

SMART Health Status: LOGICAL UNIT FAILURE PREDICTION THRESHOLD EXCEEDED [asc=5d, ascq=2]

dann will einem die Festplatte wohl mitteilen das sie glaubt bald kaput zu gehen. Es ist  wohl Zeit die Festplatte zu wechseln. Unter Verwendung eines Softwareraids hat man noch Zeit eine neue Festplatte zu kaufen aber dann sollte es schon bald losgehen.

In Anlehnung an diese Anleitung war ich bei mir mit folgenden Schritten erfolgreich. Das Szenario sind zwei Festplatten in einem Raidsystem.

Wie sieht das Raid denn heute aus?

# more /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[0] sdb1[1]
      136721024 blocks [2/2] [UU]
     
unused devices: <none>

Zuerst markieren wir die defekte Platte:

# mdadm --manage /dev/md0 --fail /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0

Dann wird die defekte Festplatte aus dem Raid genommen

# mdadm --manage /dev/md0 --remove /dev/sda1
mdadm: hot removed /dev/sda1

So, was sagt das Raid jetzt?

# more /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1]
      136721024 blocks [2/1] [_U]
     
unused devices: <none>

Nur noch eine Platte aktiv. Da in meinem Fall die erste Festplatte ausgetauscht wird müssen wir den Bootloader grub noch auf der zweiten Platten installieren.  Den entscheidene hinweis fand ich hier . Wir installieren den Bootloader auf der zweiten Platte als ob es die erste wäre. (es könnte sein das man noch ein  grub-install /dev/sdb  braucht. Ich hatte das zuerst probiert aber es reichte noch nicht)

#grub
grub>device (hd0) /dev/sdb
grub>root (hd0,0)   
grub>setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  17 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.

Wichtig ist hierbei die erste Zeile. Hiermit wird grub die zweite Festplatte als erste vorgegaukelt. Wenn ich nämlich die Erste rausziehe ist die Zweite die Erste.  Dann wird neugestarted und die defekte Festplatte ausgetauscht. Ich habe die zweite Festplatte an die Stelle der ersten gesetzt und die neue an die stelle der alten zweite Festplatte.  Nach dem Neustarten muss die Partitionierung auf die neue Festplatte übertragen werden.

sfdisk -d /dev/sda | sfdisk /dev/sdb
Checking that no-one is using this disk right now ...
OK

Disk /dev/sdb: 17849 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
 /dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdb1            63 273442364  273442302  fd  Linux raid autodetect
/dev/sdb2     273442365 281249954    7807590  82  Linux swap / Solaris
/dev/sdb3             0         -          0   0  Empty
/dev/sdb4             0         -          0   0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table


(wegen solch genialen kurzen aber mächtigen Befehlen liebe ich die kommandozeile. Mach das mal mit einem Grafischen Frontend)

Jetzt wieder die Partition dem Raid hinzuügen

mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: added /dev/sdb1

Und warten. Und warten. Denn jetzt werden die Partitionen wieder synchronisiert. Die Ungeduldigen können so den Fortschritt beobachten

#watch more /proc/mdstat

Personalities : [raid1]
md0 : active raid1 sdb1[2] sda1[1]
      136721024 blocks [2/1] [_U]
      [>....................]  recovery =  2.3% (3163136/136721024) finish=41.2min speed=53982K/sec
     
unused devices: <none>

Alles zusammen könnte man in 15 Minuten fertig sein.

 

15.7.10
Weitere Beiträge zu: RAID   Linux  

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Zelter, technikverliebt.


Creative Commons License
This blog is licensed under a Creative Commons License