[Eisfair] Eisfair-1: Upgrade von Kernel 2.4 auf 2.6

Jürgen Witt j-witt at web.de
Mo Mai 14 15:08:32 CEST 2012


Hallo Holger,

Am 14.05.2012 13:16, schrieb Holger Bruenjes:
> Hallo Juergen
>
> Am 2012-05-14 10:46, schrieb Jürgen Witt:
>
>> Ich habe mir ein Eisfair-1-Software-Raid-1 Testsystem aufgebaut
>> (leider habe ich nur zwei 160GB IDE-Platten hier, hätte gern 3
>> gleichgroße SATA-Platten, weil beim Kunden ein
>> SATA-Platten-Software-Raid-5 existiert). Gestartet bin ich mit dem
>> eisfair-1.7.3-1.24.0-cd-image.iso und habe dann alle base-Updates
>> bis 1.8.3 vorgenommen, bis ich das aktuellst mögliche
>> kernel-2.4-System hatte. Es sind nur die Pakete raidtools, samba,
>> MC und inet installiert. Das Upgrade vom 2.4 auf den
> ^^^^^^^^^^^^ die sind out, dafuer gibt es mdadm

Damit hast Du natürlich Recht, aber beim Kunden ist es mit den raidtools
eingerichtet und ein Upgrade von diesen Systemvoraussetzungen wollte ich
ausprobieren. Außerdem habe ich die Raid-Erstellung laut der Anleitung
in der aktuelle Dokumentation einmal angefangen - dann also unter
Verwendung von mdadm - und bekomme beim Ausführen von Befehl

mdadm --create /dev/md1 --bitmap=internal --level=1 --raid-disks=2
missing /dev/hdc1

die Meldung, daß mein Kernel (zu dem Zeitpunkt ja noch 2.4) die Option
--bitmap=internal nicht unterstützt und ich ein Kernel-Upgrade mache soll.

>> 1. Wie ändere ich die Größe meiner Raid-Partitionen im laufenden
>> System? (Mir gruselt jetzt schon vor dem Zeitbedarf für das
>> handling und den Sync der 1TB großen Platten beim Kunden)
>
> hmm, hmm,
> base aktualisieren

OK, ist schon auf Stand.

> System vom RAID runternehmen auf einzelne Platte

und das mache ich wie? So wie in 3.5 .Desaster Recovery beschrieben mit

mdadm /dev/md1 --fail /dev/hda1
mdadm /dev/md2 --fail /dev/hdc2
mdadm /dev/md3 --fail /dev/hdc3
mdadm /dev/md4 --fail /dev/hdc4

mdadm /dev/md1 --remove /dev/hdc1
mdadm /dev/md2 --remove /dev/hdb2
mdadm /dev/md3 --remove /dev/hdb3
mdadm /dev/md4 --remove /dev/hdb4

?
Dann hätte ich eine Platte aus dem Raid-5 entfernt und ein "kaputtes" 
Raid für aus 2 Platten, oder?

Ich habe im Archiv eine schöne Anleitung gefunden:

Platten aus einem bestehenden
Software-RAID Array sauber recyclen.

Oder:
"Wie werde ich Software-RAID wieder los?"

Ausgangssituation:
- Funktionierendes RAID1 mit /dev/hda, /dev/hdc
- Standard-Installation mit /dev/hda1, /dev/hda2, /dev/hda3

Ziel:
/dev/hda soll recycled werden

1. Device hda als defekt simulieren
# raidsetfaulty /dev/md1 /dev/hda1 && \
   raidsetfaulty /dev/md2 /dev/hda2 && \
   raidsetfaulty /dev/md3 /dev/hda3

2. Device hda aus Array entfernen
# raidhotremove /dev/md1 /dev/hda1 && \
   raidhotremove /dev/md2 /dev/hda2 && \
   raidhotremove /dev/md3 /dev/hda3

3. Kontrolle
# cat /proc/mdstat

4. hda3 und hda1 einhaengen
# mount /dev/hda3 /mnt && \
   mount /dev/hda1 /mnt/boot

4. /mnt/etc/fstab editieren
# joe /mnt/etc/fstab

/dev/hda3    /        ext3
/dev/hda1    /boot    ext3
/dev/hda2    none     swap


5. /mnt/etc/lilo.conf editieren
# joe /mnt/etc/lilo.conf

disk = /dev/hda
   bios = 0x80
boot = /dev/hda
read-only
prompt
timeout = 5
vga = normal

image = /boot/kernel
root = /dev/hda3
label = eisfair
initrd = /boot/initrd.gz


6. lilo installieren
# lilo -r /mnt

7. Persistent-Superblock entfernen
dd if=/dev/zero of=/dev/hda1 bs=1 seek=xxxxxx count=4

schreibt ab Position xxxxxx KByte auf /dev/hda1 vier 1 KByte
große Blöcke mit Nullen.

Die passende Position xxxxxx wird aus /proc/mdstat ausgelesen.

dd if=/dev/zero of=/dev/hda2 bs=1 seek=xxxxxx count=4
...

8. Partitionstypen von hda rueckfuehren
# sfdisk --change-id /dev/hda 1 83 && \
   sfdisk --change-id /dev/hda 2 82 && \
   sfdisk --change-id /dev/hda 3 83

9. Kontrolle
# fdisk -ul /dev/hda

/dev/hda1   *        63     16127      8032+  83  Linux
/dev/hda2         16128    548351    266112   82  Linux swap
/dev/hda3        548352   4193279   1822464   83  Linux

10. Reboot
# reboot

______________________________________________________

                   Ergaenzung
______________________________________________________

1. Die Daten auf der Recycling-Platte bleiben
selbstverstaendlich erhalten. Die recycelte
Platte ist somit als eigenstaendiger Klon
_ohne_ RAID boot- und lauffaehig.

2. Das RAID-Array auf hdc besteht natuerlich weiter,
wenn auch eine Platte fehlt. Man kann also durchaus
eine neue Platte in das Array integrieren
und dieses somit wieder komplettieren.

3. Man erhaelt zwei gleiche Systeme,
einmal _mit_ und einmal _ohne_ RAID.

4. Bei RAID-Verbunden aus Platten mit unterschiedlicher
Plattengeometrie ist immer Vorsicht geboten.
Moeglicherweise koennen beim Booten oder auch sonstige
Probleme auftreten.

> Platten neu mit dem 2.6er installer einrichten

dafür nehme ich jetzt welche Platten?

> base und Kernel aktualisieren

OK

> System ohne /boot und lilo.conf zurueckkopieren

von wo kopiere ich jetzt zurück?

Entschuldige, das ist sehr kompakt geschrieben und ich kann Dir gerade 
nicht folgen.

Hast Du eine Idee zu meiner 2. Frage?

Vielen Dank
Jürgen


Mehr Informationen über die Mailingliste Eisfair