• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]Software-RAID 5 verwenden

weinbi

Member
Hallo!


Gibt's schon was neues?

Das kann doch nicht sein, dass es unter Linux nicht funktionieren soll... Wo doch Linux DAS OS für Server, die Mutter aller Raids, ist!!

Hat denn keiner eine Lösung für das Problem?
Ich wollte mir in naher Zukunft ebenfalls ein Raid-5 installieren, doch da es nicht so rosig aussieht, werde ich wohl oder übel warten müssen..........
 
Ist doch logisch, dass bei
Code:
mdadm -C /dev/md0 ...
mdadm --stop /dev/md0
mdadm -C /dev/md0 ...
die Meldung kommt, dass sda, sdb Teil eines Arrays (md0!) seien. Wenn du den alten Array neu erstellen willst, musst du auch schon "y" sagen.

Wo genau hakt's denn nun?
Spares: Am besten du gibst beim Erstellen -x 0 noch mit, damit keine Drives als Spare deklariert werden.
ext3: Da bin ich ratlos, ich verwende kein ext3.
 
OP
M

mib1

Member
Gehe ich davon richtig aus, das das device, welches als spare deklariert ist, die platte mit den Paritätsinfos ist?

Welches dateisystem verwendest du und warum?
 
OP
M

mib1

Member
Bei einer Installation mit init 3 bekomme ich folgende message:

Code:
Writing inode tables: done
ext2fs_mkdir: Attempt to read block from filesystem resulted in short read while creating root dir.

Ein mount -a liefert folgendes:

Code:
wrong fs type, bad option, bad superblock on /dev/md0, missing codepage or helper programm or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

mein fstab sieht so aus:

Code:
/dev/disk/by-id/scsi-SATA_ST3500630AS_5QG0EXCF-part1 /                    ext3       acl,user_xattr        1 1
/dev/disk/by-id/scsi-SATA_ST3500630AS_5QG1RB2F-part1 swap                 swap       defaults              0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
/dev/fd0             /media/floppy        auto       noauto,user,sync      0 0
/dev/md0             /daten               ext3       defaults              1 1

Passt mein letzter eintrag im fstab nicht? oder ist ein gravierender fehler nach dem erstellen der inode tables geschehen? Hat irgendwer ne idee?
 
OP
M

mib1

Member
Gibt es eine Möglichkeit, das Raid über die opensuse Livecd zu erstellen?

Welche befehle muss ich denn dann eingeben, dass er mir die Einstellungen auf die Festplatte schreibt und nicht in den Ram?
 
mib1 schrieb:
Gehe ich davon richtig aus, das das device, welches als spare deklariert ist, die platte mit den Paritätsinfos ist?
Nein. Spare ist die, die "warmgehalten" wird, falls eine ausfallen sollte. In korrekten Servern ist diese Platte evtl. abgeschaltet (dreht nicht) und wird beim ersten Zugriff automatisch anlaufen.
Welches dateisystem verwendest du und warum?
XFS. Quotamangement ist da race-free, und es gibt die Möglichkeit, ACLs direkt in der Inode zu speichern sodass sich die Anzahl Lesekopfbewegungen verringert.
 
OP
M

mib1

Member
Das Problem, warum das Software Raid nicht gegangen sein dürfte folgendes sein:

1 meiner Platten hat ihren Geist aufgegeben.

Ich könnte mir gut vorstellen, dass die Platte während dem Formatiervorgang einige Spinner gehabt hat, oder was meint ihr dazu?

Zu XFS werde ich mich noch genauer informieren, hört sich aber sehr interressant an.

Naja ich warte jedenfalls noch meine Ersatzlieferung ab, um dann endlich hoffentlich mit einem Funktionstüchtigen Raid fortzufahren.
 
OP
M

mib1

Member
habe jetzt eine neue platte eingebaut.
wollte jetzt das raid ohne spares anlegen (-x 0) dies ging aber nicht, habe leider keine ahnung wiso? (partitionsbelegung jetzt anders!, diese stimmt aber)

Code:
# mdadm -C /dev/md0 -b internal -e 1.0 --level=5 -n 4 -x 0 /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sdd2
mdadm: /dev/sda2 appears to be part of a raid array:
    level=raid5 devices=4 ctime=Sat Feb 16 14:38:15 2008
mdadm: /dev/sdb2 appears to be part of a raid array:
    level=raid5 devices=4 ctime=Sat Feb 16 14:38:15 2008
mdadm: /dev/sdc2 appears to be part of a raid array:
    level=raid5 devices=4 ctime=Sat Feb 16 14:38:15 2008
mdadm: /dev/sdd2 appears to be part of a raid array:
    level=raid5 devices=4 ctime=Sat Feb 16 14:38:15 2008
Continue creating array? yes
mdadm: array /dev/md0 started.

# mdadm -D /dev/md0
/dev/md0:
        Version : 01.00.03
  Creation Time : Mon Feb 18 09:48:38 2008
     Raid Level : raid5
     Array Size : 1402208832 (1337.25 GiB 1435.86 GB)
  Used Dev Size : 934805888 (445.75 GiB 478.62 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Mon Feb 18 09:48:38 2008
          State : active, degraded, recovering
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

 Rebuild Status : 0% complete

           Name : 0
           UUID : 6fffcc50:a60b166f:0e908932:5a1ffcad
         Events : 0

    Number   Major   Minor   RaidDevice State
       0       8        2        0      active sync   /dev/sda2
       1       8       18        1      active sync   /dev/sdb2
       2       8       34        2      active sync   /dev/sdc2
       4       8       50        3      spare rebuilding   /dev/sdd2
 
Sieht doch wunderbar aus :)
RAID5 braucht 3 Platten und die 4. ist dann halt als hot Spare eingetragen worden. Nun muß die Kiste noch syncen (kann je nach Datenmenge Tage dauern) und das wars. Der Sync-Prozess braucht richtig CPU-Power, ist aber niedrig priorisiert, sodaß normale Jobs Vorrang haben.

Grüße
 
Wieso, -x 0 hat doch funktioniert. Mit -n 4 hast du vier Platten angegeben, und die 4.te rebuildet jetzt. Hinterher gibt es dann 4 normale und 0 Spares, wie gewünscht.
Was nicht gewünscht war ist dass hinterher 3 normale und 1 Spares da sind :) [spare rebuilding ist also vielleicht etwas misleitend]
 
OP
M

mib1

Member
Okey, ich fahre dann mal fort ...

Code:
# mdadm --detail --scan >> /etc/mdadm.conf
# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid5 num-devices=4 spares=1 name=0 UUID=23d5a3b9:fe464af6:b1f713c7:e41de476
# mkfs.ext3 -j /dev/md0
mke2fs 1.40.2 (12-Jul-2007)
Dateisystem-Label=
OS-Typ: Linux
Blockgröße=4096 (log=2)
Fragmentgröße=4096 (log=2)
174014464 Inodes, 348009936 Blöcke
17400496 Blöcke (5.00%) reserviert für den Superuser
Erster Datenblock=0
Maximale Dateisystem-Blöcke=0
10621 Blockgruppen
32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe
16384 Inodes pro Gruppe
Superblock-Sicherungskopien gespeichert in den Blöcken:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Schreibe Inode-Tabellen:   erledigt 
Creating Journal: done
Writing Superblock and Filesystem accounting information: done
This filesystem will be automatically checked every 23 month or
180 days, whichever comes first. Use tune2fs -c or -i to override.

Habe das Raid 5 gemountet und es scheint alles zu funktionieren.
Ich werde mal nen Neustart probieren, schaun ob dann noch alles funzt ;-)
 
OP
M

mib1

Member
funzt net mehr :-(

beim bootvorgang zeigt er mir schon folgendes an

Code:
mount: wrong fs type, bad option, bad superblock on /dev/md0,
       missing codepage or helper program, or other error
       (Ist dies vielleicht das IDE-Gerät, an welchem Sie eigentlich
       ide-scsi benutzen, so dass sr0 oder sda oder so gebraucht wird?)
       Manchmal liefert das Syslog wertvolle Informationen – versuchen
       Sie  dmesg | tail  oder so

bei manuellem mount ist das selbe

Code:
mount -t ext3 /dev/md0 /daten

hier der fstab eintrag:

Code:
/dev/disk/by-id/scsi-SATA_ST3500630AS_5QG0EXCF-part1 /                    ext3       acl,user_xattr        1 1
/dev/disk/by-id/scsi-SATA_ST3500630AS_5QG1RB2F-part1 swap                 swap       defaults              0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
/dev/fd0             /media/floppy        auto       noauto,user,sync      0 0
/dev/md0	     /daten		  ext3       user		   0 0

Ein Detailscan des Raids sagt folgendes:
Code:
mdadm --detail /dev/md0
mdadm: md device /dev/md0 does not appear to be active.

Hat wer ne ahnung, warum das md0 beim Start nicht active gesetzt worden ist?
 
OP
M

mib1

Member
sry weis nicht was ich jetz gehabtt hab, is eh klar, das da die kernel version reinkommt

Code:
# gzip -cd /boot/initrd-2.6.22.5-31-default | cpio --list | grep -i raid456
17552 blocks
 
Na wie du siehst fehlt das raid5-Modul (raid456.ko) im initramfs-Image. Es ist aber nur nötig, es im Image zu haben, wenn das Rootfilesystem auf einem RAID-Device ist.
 
Oben