mdadm, root und grub [gelöst]
mdadm, root und grub [gelöst]
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
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.
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....
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....
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
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
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
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
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![Smile :-)](./images/smilies/icon_smile.gif)
wenns dich interessiert dann poste ich mal meine partitionstabellen und md-config
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
![Smile :-)](./images/smilies/icon_smile.gif)
wenns dich interessiert dann poste ich mal meine partitionstabellen und md-config
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
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
![Smile :-)](./images/smilies/icon_smile.gif)
Also, ich mache mein /dev/md1 jetzt einfach noch mal komplett neu, mal sehen ob das hilft.
Grüße
Klaus Emde
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.
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.
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?
beides sau schnell und ohne probleme (wenn man mal weiß was ma wie einrichten muss
![Wink ;-)](./images/smilies/icon_wink.gif)
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
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
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....
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Hallo!
Deine Partitionstabelle [1] von /dev/sdb sagt
/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.
behandelt werden.
Alles in allem sieht es etwas gefährlich aus, was du da machst.
Gruß, habakug
[1] http://nopaste.debianforum.de/6589
Deine Partitionstabelle [1] von /dev/sdb sagt
Doch was ist mit den Zylindern von 16574 bis 19457? Sie sind keiner Partition zugeordnet. Was macht das für einen Sinn?#
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
/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
Alles in allem sieht es etwas gefährlich aus, was du da machst.
Gruß, habakug
[1] http://nopaste.debianforum.de/6589
Ja, du lagst richtig.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
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.habakug hat geschrieben:Hallo!
Deine Partitionstabelle [1] von /dev/sdb sagtDoch was ist mit den Zylindern von 16574 bis 19457? Sie sind keiner Partition zugeordnet. Was macht das für einen Sinn?#
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
/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.behandelt werden.Code: Alles auswählen
mdadm --zero-superblock /dev/sda1
Alles in allem sieht es etwas gefährlich aus, was du da machst.
Gruß, habakug
[1] http://nopaste.debianforum.de/6589
Es tut !
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
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
![traurig :-(](./images/smilies/icon_sad.gif)
Keine Ahnung, was da los war, vielleicht eine kaputte Partitionstabelle ... jedenfalls geht's jetzt und ich kann mich wieder ernsthaften Dingen zuwenden
![Smile :-)](./images/smilies/icon_smile.gif)
Beste Grüße
Klaus Emde