Bootplatte nachträglich spiegeln

23/12/2008 - 16:28 von Diedrich Ehlerding | Report spam
Ich habe ein System (Suse 10.2), dessen Bootplatte nachtràglich
gespiegelt werden soll. Das system ist ohne LVM o.Ä. aufgesetzt; also
zB / auf /sev/sda1, swap auf /dev/sda2,

Ich habe (an zwei USB-Platte) folgendes Vorgehen ansatzweise
ausprobiert:

a) Platte 1 partitionieren, hier /dev/sdb1
b) auf /dev/sdb1 Filesystem erzeugen
c) mount /dev/sdb1, ein paar Dateien anlegen, umount
d) resize2fs /dev/sdb1 -2mb (damit der md-Superblock hinter dem
Filesystem Platz hat)
e) zweite Platte partitionieren (/dev/sdc1, hleiche Göße)
f) mdadm --create /dev/md0 usw. (Spiegel erzeugen)

Danah ließ sich /dev/md0 mounten (das Filesystem schien also in Ordnung
zu sein; die INgalte waren auch da); auch ein erzwungener fsck zeigte
keine Fehler. Und auch der ewrzwungene fsck auf /dev/md0 zerstört die
md-struktur nicht; ich konnte md0 danach stoppen und wieder starten.
Man kann also anscheinend eine Platte mit Erhalt der Daten in ein
md-Konstrukt umbauen.

Mein PLan für die Bootplatte ist nun im Wesentlichen so wie oben:
Live-CD booten (knoppic oder so), dann resize2fs für die Bootplatte,
mdadm --create, fstab auf der Bootplatte umbauen, so dass /
auf /dev/md0 liegt (ggf. weitere Partitionen genauso behandeln; mdadm
-D --scan und mdadm.conf mit der Zuordnung von md-Instanzen un
md-UUIDs persistent machen). Dann sollte das System eigentlich booten,
und das Rootfilesystem sollte auf /dev/md0 liegen ... so meine
Hoffnung.

Bevor ich mir allerdings den Ast absàge, auf dem ich sitze ... was mich
etwas stutzig machte, war: ich habe die zweite Platte aus dem Verbund
wieder rausgenommen und wollte nun versuchen, /dev/sdb1 wieder zu
mounten. Das ging nicht, weil mount da einen md-Superblock hegunden hat
- m.a.W. wenn die Platte einmal zur md-Platte geworden ist, scheint man
nicht wieder zurückzukönnen. Der Umbau auf md muss also beim ersten
Versuch klappen, ich kann hinterher nicht zurück. Deshalb möchte ich
mich vergewissern: ist es richtig verstanden, dass der md-Superblock
(bei Standardeinstellungen von mdadm) "hinten" auf die Partition
geschrieben wird? Oder laufe ich Gefahr, mein root-Filesystem bei der
oben geschilderten Vorgehensweise zu schreddern? m.a.W.: macht mdadm
Spielplatte nicht gemerkt habe?

Zweite FRage: was mache ich mit /boot - auch in md-Konstrokt umbauen?
Und wie kriege ich auf die zweite Platte dann einen Bootsektor (falls
ich die mal brauche ...)?


Diedrich
pgp-Key (RSA) 1024/09B8C0BD
fingerprint = 2C 49 FF B2 C4 66 2D 93 6F A1 FF 10 16 59 96 F3
HTML-Mail wird ungelesen entsorgt.
 

Lesen sie die antworten

#1 Holger Marzen
23/12/2008 - 17:02 | Warnen spam
* On Tue, 23 Dec 2008 16:28:51 +0100, Diedrich Ehlerding wrote:

Ich habe ein System (Suse 10.2), dessen Bootplatte nachtràglich
gespiegelt werden soll. Das system ist ohne LVM o.Ä. aufgesetzt; also
zB / auf /sev/sda1, swap auf /dev/sda2,

Ich habe (an zwei USB-Platte) folgendes Vorgehen ansatzweise
ausprobiert:

a) Platte 1 partitionieren, hier /dev/sdb1
b) auf /dev/sdb1 Filesystem erzeugen
c) mount /dev/sdb1, ein paar Dateien anlegen, umount
d) resize2fs /dev/sdb1 -2mb (damit der md-Superblock hinter dem
Filesystem Platz hat)
e) zweite Platte partitionieren (/dev/sdc1, hleiche Göße)
f) mdadm --create /dev/md0 usw. (Spiegel erzeugen)




Ich hab das immer so gemacht, dass ich aus der zusàtzlichen Platte einen
degraded array gemacht hab, also /dev/md0, der als zweite platte
/dev/null als failed-disk hatte.

Dann das Ding gemountet, per cp -a die Daten draufgeschaufelt.
Booteintrag angepasst und mit /dev/md0 als root-fs gebootet. Danach die
alte Platte hinzugenommen zum Array.

Nicht vergessen, den Swap auch zu spiegeln (auf md). Denn wenn die
Platte mit dem Swap abraucht, hàngt sich die Kiste weg.

Ähnliche fragen