mdadm, root und grub [gelöst]

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
kemde
Beiträge: 49
Registriert: 01.02.2007 18:48:25

mdadm, root und grub [gelöst]

Beitrag von kemde » 05.09.2007 11:22:40

Sodele, nächstes Problem,

Hilfen, Wikis und sonstiges hier im Forum scheinen veraltet zu sein bzw. gehen auf das Problem nicht ein:

Mein /home habe ich heute endlich auf raid1 gehoben mit mdadm, das hat prinzipiell nach dem Kochbuch aus dem Wiki funktioniert. Allerdings gibt es immer noch ein Problem beim booten: fsck meckert einen fehlerhaften Superblock an, denn der gäbe die Größe des Arrays anders (größer) an als die physikalische Größe.

Er bietet mir dann beim Booten eine Shell an. Nehme ich das Angebot an und schaue per mdadm --detail nach, so ist gar kein Superblock da. Später nach dem Booten nach gesehen ist der Superblock aber wieder "persistent" und alle devices sind active und sync, was ja wohl bedeutet, daß es tut.

Aber zu meiner eigentlichen Frage: Wie richte ich denn ein raid1 für mein root-Dateisystem (das ist bei mir alles außer /home) ein ? Grub ist installiert ...

Hat da jemand ein grundsätzliches Vorgehen, bevor ich wieder einen ganzen Tag verdaddel ? Ich würde, wenn's dann funktioniert, auch einen Text für Folgegenerationen schreiben ...

Beste Grüße
Klaus Emde
Zuletzt geändert von kemde am 07.09.2007 09:53:53, insgesamt 1-mal geändert.

kemde
Beiträge: 49
Registriert: 01.02.2007 18:48:25

Beitrag von kemde » 05.09.2007 17:23:40

Weiß es keiner oder ist die Frage einfach zu blöd ?

Beste Grüße
Klaus Emde

kemde
Beiträge: 49
Registriert: 01.02.2007 18:48:25

Beitrag von kemde » 06.09.2007 08:54:26

Die beiden Partitionen hatten beim Einrichten leicht unterschiedliche Größe. Im Superblock steht nun eine größere Zahl als die physikalische Größe des raid, das erzeugt den Fehler.

Gibt's eine Möglichkeit, den Superblock neu zu schreiben ? mdadm, e2dsck, mke2fs habe ich schon durchgeguckt ...

Mictlan
Beiträge: 596
Registriert: 03.09.2007 11:55:28

Beitrag von Mictlan » 06.09.2007 09:03:16

hmmm mal so ne idee...

schaun ob das raid eh sync is,
größere platte aus dem raid raushängen,
partition löschen,
partition neu anlegen mit der gleichen größe wie auf der anderen partition
partition wieder ins raid einhängen und syncen lassen

*edit*
hab grad gesehn dass im raid die größere drinnsteht..... da musst irgendwoher (von der partition vorher bzw nachher) den plattenplatz abzweigen.....
poste mal die partitionstabellen der beiden platten..... da muss sich ja was machen lassen....

kemde
Beiträge: 49
Registriert: 01.02.2007 18:48:25

Beitrag von kemde » 06.09.2007 09:32:31

Hallo,

ja, danke mal. Also hier die Partitionstabelle:

http://nopaste.debianforum.de/6589

sdb5 und sda5 sind die Partitionen des raid1-Array /dev/md1.

Ich hab's schon mit gleichgroßen Partitionen versucht (in der Tat war das der erste Versuch). Aber da wollte mdadm die zweite Partition nicht zum array hinzufügen (mdadm --add /dev/md1 /dev/sda5 brachte deb Fehler "no space left on volume"). Erst mit einer leicht größeren zweiten Partition hat das funktioniert.

Grüße
Klaus Emde

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von habakug » 06.09.2007 10:48:56

Hallo!
/dev/sdb5 3825 16573 102406311 83 Linux
/dev/sda5 3648 16523 103426438+ 83 Linux
So geht es auf jeden Fall nicht. Der Partitionstyp muß "fd" sein (Linux raid autodetect). Das kannst du mit fdisk ändern.

Gruß, habakug

kemde
Beiträge: 49
Registriert: 01.02.2007 18:48:25

Beitrag von kemde » 06.09.2007 11:49:34

Hallo habakug,

ja, das war's auch, als ich das md erstellt bzw. die Partitionen hinzugefügt habe. Es funkioniert ja allem Anschein nach auch.

Hier die Ausgabe von mdadm --detail /dev/md1:
http://nopaste.debianforum.de/6590

Übrigens sagt mdadm --examine /dev/md1, daß auf dem md kein Superblock existieren würde ! Das ist befremdlich ...

Also, e2fsck sagt:
Die Dateisystemgröße (laut Superblock) ist 25601577 Blocks.
Die physikalische Größevon Gerät ist 25601552 Blocks.
Entweder der Supernlock oder die Partitionstabelle ist beschädigt.

Komisch, oder ? Vielleicht richte ich das md einfach noch mal ein ?

Klaus Emde

Mictlan
Beiträge: 596
Registriert: 03.09.2007 11:55:28

Beitrag von Mictlan » 06.09.2007 12:31:20

nur kurz der vollständigkeit halber:

sdb is die neue platte die jetzt die alte spiegeln soll
sda ist die mit der das system installiert wurde

sda1 = sdb1 = /
sda5 = sdb5 = /home
sda3 = swap

ich weiß nicht was du mit deinem rechner machen willst.... einfach ob du nur bei einem eventuellen pattencrash nix verliern willst, oder ob bei einem plattencrash dein System weiterlaufen soll... so wie du das aktuell hast wird dir wenn sdb defekt wird dein system weiterlaufen. sollte aber sda eingehn, dann schmiert dir dein System mit Kernel-Panic ab, da ihm swap fehlt....
ich würd dir raten wenns um einen Störungsfreien Betrieb gehen soll dass du für alle Partitionen ein eigenes Raid1 anlegst.

also quasi so:
sda1=sdb1 = /
sda3=sdb3 = swap
sda5=sdb5 = /home

mit so einer ähnlichen Konfig läuft mein Rechner und das funktioniert ohne Probleme. Den Ausfall einer Platte, egal welcher meldet das System gerade mal mit einem eMail und nciht mit einem Absturz :-)

wenns dich interessiert dann poste ich mal meine partitionstabellen und md-config

kemde
Beiträge: 49
Registriert: 01.02.2007 18:48:25

Beitrag von kemde » 06.09.2007 12:46:16

Ja, mir geht's um die Ausfallsicherheit bei Plattencrash

Aber das ist erst der nächste Schritt, wenn wenigstens mein /home mal gespiegelt ist.

Da hänge ich aber an dem einfachen Problem, daß das Kochrezept für ein raid1 mit mdadm zwar prinzipiell auf ein /home geht, auf das Stammverzeichnis aber nicht anwendbar ist, denn / kann man mit cp -a nicht kopieren (wäre eine Kopie in sich selbst) und man kann's auch nicht unmounten. Äääh, ich meine, ich kann's nicht :-))

Also, ich mache mein /dev/md1 jetzt einfach noch mal komplett neu, mal sehen ob das hilft.

Grüße
Klaus Emde

kemde
Beiträge: 49
Registriert: 01.02.2007 18:48:25

Beitrag von kemde » 06.09.2007 12:47:27

Mictlan hat geschrieben:
wenns dich interessiert dann poste ich mal meine partitionstabellen und md-config

Yes ! Please ! Thanx, mate !

kemde
Beiträge: 49
Registriert: 01.02.2007 18:48:25

Beitrag von kemde » 06.09.2007 13:41:02

Hmm,

kann es sein, daß debian/mdadm mit dem ext3-Filesystem nicht zurechtkommt ?
Ich installiere gerade komplett neu (mein Lepptopp tut noch), bei Versuch, ext3 mit raid einzurichten, kam immer die Meldung "FIle system has an incompatible feature enabled"). Möglicherweise ein Bug ?

Mit ext2 scheint's zu funktionieren ... will kepp you informed.

Mictlan
Beiträge: 596
Registriert: 03.09.2007 11:55:28

Beitrag von Mictlan » 06.09.2007 15:16:13

das glaub ich kaum.... ich verwende zhaus ein ext3+swap in verbindung mit raid1 und ein xfs mit raid5......

beides sau schnell und ohne probleme (wenn man mal weiß was ma wie einrichten muss ;-) )

sag lag ich damit richtig?
Mictlan hat geschrieben:sdb is die neue platte die jetzt die alte spiegeln soll
sda ist die mit der das system installiert wurde

sda1 = sdb1 = /
sda5 = sdb5 = /home
sda3 = swap
??

Mictlan
Beiträge: 596
Registriert: 03.09.2007 11:55:28

Beitrag von Mictlan » 06.09.2007 21:24:37

Code: Alles auswählen

cat /etc/fstab:
# /etc/fstab: static file system information.
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/md1        /               ext3    usrquota,grpquota,user_xattr,errors=remount-ro 0       1
/dev/md2        /raid5          xfs     usrquota,grpquota 0       2
/dev/md0        none            swap    sw              0       0
/dev/hdd        /media/cdrom0   udf,iso9660 user,noauto     0       0

------------------------------------------

yuma:~# mdadm --detail --scan
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=d77da6df:b39dc40e:a0e05ea2                                                                                      :0b7f7a2d
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=2428af74:62f891f7:a0e05ea2                                                                                      :0b7f7a2d
ARRAY /dev/md2 level=raid5 num-devices=4 UUID=bf4abc33:83d522ff:4bdcba87                                                                                      :8e62e3f3

------------------------------------------

yuma:~# mdadm --detail /dev/md1
/dev/md1:
        Version : 00.90.03
  Creation Time : Mon Sep  3 09:04:32 2007
     Raid Level : raid1
     Array Size : 53713216 (51.22 GiB 55.00 GB)
    Device Size : 53713216 (51.22 GiB 55.00 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Thu Sep  6 23:02:52 2007
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : 2428af74:62f891f7:a0e05ea2:0b7f7a2d
         Events : 0.646

    Number   Major   Minor   RaidDevice State
       0       3        2        0      active sync   /dev/hda2
       1      22        2        1      active sync   /dev/hdc2

------------------------------------------

fdisk /dev/hda

Disk /dev/hda: 60.0 GB, 60022480896 bytes
255 heads, 63 sectors/track, 7297 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1         243     1951866   fd  Linux raid autodetect
/dev/hda2   *         244        6930    53713327+  fd  Linux raid autodetect

------------------------------------------

fdisk /dev/hdb
Disk /dev/hdc: 60.0 GB, 60022480896 bytes
255 heads, 63 sectors/track, 7297 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1               1         243     1951866   fd  Linux raid autodetect
/dev/hdc2             244        6930    53713327+  fd  Linux raid autodetect
soda kurze Beschreibung zu dem ganzen.....
ich hab zwei raid 1 und ein raid 5.... das raid 5 lass ich mal aussen vor....

bei den raid 1 hab ich die erste Platte partitioniert und dann anhand von der Basis mit den start/end Werten die zweite Platte hinzugefügt.
hda1/hdc1 = raid 1 = swap
hda2/hdc2 = raid 1 = /

was mir gerade so auffällt.... auf hdc2 sollte eigentlich das boot-Flag gesetzt sein *g*
grub ist ebenfalls auf beiden Platten installiert..... (auf der zweiten halt mit einer andern Einstellung - eben auf die 2. Platte zugeschnitten als würds die Erste net geben)

ich hab meine platte folgendermaßen umgehängt....

mit live cd gestartet
mdadm -Cv /dev/md0 -l1 -n1 /dev/hda1 erstellen des raids mit nur einer platte (jetzige daten
mdadm /dev/md0 -a /dev/hdc1 hinzufügen von hdc1
mdadm /dev/md0 -G -n 2 erweitern des raids auf 2 platten - hinzugefügtes hot spare wird automatisch eingehängt und gesynct
sync-fertig laufen lassen --> cat /proc/mdstat
während der synct /etc/fstab umschreiben und grub anpassen:

/boot//grub/menu.lst
kopt=root=/dev/md1 ro
groot=(hd0,1)

title Debian GNU/Linux, kernel 2.6.18-4-686
root (hd0,1)
kernel /boot/vmlinuz-2.6.18-4-686 root=/dev/md1 ro
initrd /boot/initrd.img-2.6.18-4-686
savedefault

so das müsste es gewesen sein..... ich hoff ich hab nix vergessen....

viel glück....

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von habakug » 06.09.2007 23:14:59

Hallo!

Deine Partitionstabelle [1] von /dev/sdb sagt
#
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Doch was ist mit den Zylindern von 16574 bis 19457? Sie sind keiner Partition zugeordnet. Was macht das für einen Sinn?
/dev/sda ist eine Platte mit identischen Werten zu /dev/sdb. Doch was ist mit den Zylindern von 16524 bis 19329? Auch diese sind keiner Partition zugeordnet.

Der Superblock der Partitionen, die du für das Raid benutzt, sollte vor einer Neuinstallation mit z.B.

Code: Alles auswählen

mdadm --zero-superblock /dev/sda1
behandelt werden.

Alles in allem sieht es etwas gefährlich aus, was du da machst.
Gruß, habakug

[1] http://nopaste.debianforum.de/6589

kemde
Beiträge: 49
Registriert: 01.02.2007 18:48:25

Beitrag von kemde » 07.09.2007 09:39:42

Mictlan hat geschrieben:das glaub ich kaum.... ich verwende zhaus ein ext3+swap in verbindung mit raid1 und ein xfs mit raid5......

beides sau schnell und ohne probleme (wenn man mal weiß was ma wie einrichten muss ;-) )

sag lag ich damit richtig?
Mictlan hat geschrieben:sdb is die neue platte die jetzt die alte spiegeln soll
sda ist die mit der das system installiert wurde

sda1 = sdb1 = /
sda5 = sdb5 = /home
sda3 = swap
??
Ja, du lagst richtig.

kemde
Beiträge: 49
Registriert: 01.02.2007 18:48:25

Beitrag von kemde » 07.09.2007 09:43:52

habakug hat geschrieben:Hallo!

Deine Partitionstabelle [1] von /dev/sdb sagt
#
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Doch was ist mit den Zylindern von 16574 bis 19457? Sie sind keiner Partition zugeordnet. Was macht das für einen Sinn?
/dev/sda ist eine Platte mit identischen Werten zu /dev/sdb. Doch was ist mit den Zylindern von 16524 bis 19329? Auch diese sind keiner Partition zugeordnet.

Der Superblock der Partitionen, die du für das Raid benutzt, sollte vor einer Neuinstallation mit z.B.

Code: Alles auswählen

mdadm --zero-superblock /dev/sda1
behandelt werden.

Alles in allem sieht es etwas gefährlich aus, was du da machst.
Gruß, habakug

[1] http://nopaste.debianforum.de/6589
Der leere Block hat einfach historische Gründe. Davor war eine andere Linux-Pertition, dahinter war ein Windows. Dazwischen war halt Platz zum zwischenspeichern von unwichtigen Daten, die ich nicht gesichert hatte, aber auch nicht löschen wollte. Inzwischen sind diese wieder auf dem jetzt neuen Home und die Partition gelöscht.

kemde
Beiträge: 49
Registriert: 01.02.2007 18:48:25

Es tut !

Beitrag von kemde » 07.09.2007 09:51:33

Aaaalso, jetzt klappts !

Die ganze Sache sieht ähnlich aus wie die Konfiguration von mictlan; drei md's, eins für /, eins /home und eins für swap. Alles funktioniert; ich habe die einzelnen Partitionen des swap-md nacheinander mal für faulty erklärt, aber der Kernel kriegt keine Panik.




Ich habe einfach komplett neu aufgesetzt und schon bei der Installation die md's eingerichtet. Beim ersten Versuch hat er wieder ein "inkompatibles Feature" angemeckert, dann habe icheinfach alle Pertitionen gelöscht und neu angelegt, wonach es keinen Fehler mehr gab. War 'ne Nachtschicht :-(.

Keine Ahnung, was da los war, vielleicht eine kaputte Partitionstabelle ... jedenfalls geht's jetzt und ich kann mich wieder ernsthaften Dingen zuwenden :-))

Beste Grüße
Klaus Emde

Mictlan
Beiträge: 596
Registriert: 03.09.2007 11:55:28

Beitrag von Mictlan » 07.09.2007 12:02:02

na passt, hauptsach es funktioniert jetzt :D

Antworten