• 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] SW-Raid 1, Platten vergrößern

OP
deadkenny

deadkenny

Member
hy tom,

genau das habe ich getan und der sync läuft.
genau das hatte ich ja schon gemacht. nur scheint der nach einem reboot das ganze "vergessen" zu haben.

ein
server:~ # mdadm /dev/md0 -a /dev/sda1
ergibt mittlerweile ein
server:~ # mdadm -D /dev/md0
/dev/md0:
Version : 00.90.02
Creation Time : Fri Feb 24 22:03:41 2006
Raid Level : raid1
Array Size : 155838400 (148.62 GiB 159.58 GB)
Device Size : 155838400 (148.62 GiB 159.58 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Tue Jan 29 15:19:02 2008
State : clean, degraded, recovering
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 1

Rebuild Status : 28% complete

UUID : b594609e:03e10e2c:5d4b3a5e:af5ddbde
Events : 0.52112367

Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 0 0 - removed

2 8 1 1 spare rebuilding /dev/sda1
server:~ #
danach werde ich mal ohne plattentausch etc. rebooten und schauen, was passiert.

gruß
kenny
 
OP
deadkenny

deadkenny

Member
also, nach dem sync sieht es folgendermaßen aus:

server:~ # fdisk -l

Disk /dev/hda: 41.1 GB, 41174138880 bytes
255 heads, 63 sectors/track, 5005 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 1 66 530113+ 82 Linux swap / Solaris
/dev/hda2 * 67 850 6297480 83 Linux
/dev/hda3 851 5005 33375037+ 83 Linux

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 60801 488384001 fd Linux raid autodetect

Disk /dev/sdb: 203.9 GB, 203928109056 bytes
255 heads, 63 sectors/track, 24792 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 19401 155838501 fd Linux raid autodetect

Disk /dev/md0: 159.5 GB, 159578521600 bytes
2 heads, 4 sectors/track, 38959600 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Device Boot Start End Blocks Id System
server:~ #

und

server:~ # mdadm -D /dev/md0
/dev/md0:
Version : 00.90.02
Creation Time : Fri Feb 24 22:03:41 2006
Raid Level : raid1
Array Size : 155838400 (148.62 GiB 159.58 GB)
Device Size : 155838400 (148.62 GiB 159.58 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Tue Jan 29 18:16:33 2008
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

UUID : b594609e:03e10e2c:5d4b3a5e:af5ddbde
Events : 0.52117608

Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 1 1 active sync /dev/sda1
server:~ #

passt ja soweit alles. bin mal gespannt, ob das nach einem reboot auch noch so aussieht.
 
OP
deadkenny

deadkenny

Member
so,

der reboot funzt, aber:

ich kann nur von sdb booten. wähle ich im bootmenü "platte 1" aus, bleibt er direkt nach dem bootmenü hängen.
lass ich sda drin und schalte sdb ab, erhalte ich
, d.h. er findet sein config file nicht.

muß ich den bootloader wegen der neuen platten auch umkonfigurieren? wäre mir neu.

/boot/grub/menu.lst

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX 10.0 Platte 1
kernel (hd1,0)/boot/vmlinuz root=/dev/md0 vga=0x317 selinux=0 splash=0 showopts
initrd (hd1,0)/boot/initrd

###Fallback auf Platte 2 (sdb)###
title SUSE LINUX 10.0 Platte 2
kernel (hd2,0)/boot/vmlinuz root=/dev/md0 vga=0x317 selinux=0 splash=0 showopts
initrd (hd2,0)/boot/initrd

###Don't change this comment - YaST2 identifier: Original name: floppy###
title Diskette
chainloader (fd0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE LINUX 10.0
root (hd0,0)
kernel /boot/vmlinuz root=/dev/md0 vga=normal showopts ide=nodma apm=off acpi=off noresume selinux=0 nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: memtest86###
title Speichertest
kernel (hd0,0)/boot/memtest.bin
 

TomcatMJ

Guru
Die neuen Platten haben eine andere physikalische Geometrie als die alten Platten,daher muss GrUB einfach mal neu auf die Platten geschrieben werden.
 
A

Anonymous

Gast
deadkenny schrieb:
muß ich den bootloader wegen der neuen platten auch umkonfigurieren? wäre mir neu.

umkonfigurieren weniger, aber neu anlegen auf sdb. Du hast zwar sda1 und sdb1 im Spiegel doch der MBR sitzt davor und ist nicht gespiegelt, auch sollte es da ein paar kleine Unterschiede zwischen den MBR auf sda und sdb geben, damit der boot auch wirklich in jeder Situation von jeder Platte problemlos laufen kann, denn jeder MBR muss erst einmal einige Dateien seiner eigenen Platte laden können und die Biosfunktionen die dazu genommen werden muss, kennt sowieso kein Softwareraid, also ein einfaches kopieren des MBR mittels
Code:
dd if=/dev/sda of=/dev/sdb bs=1 count=444
von sda auf sdb funktioniert so nicht.


PS: wenn ich mir den Verlauf dieses Thread hier anschaue, dann bleibe ich dann doch lieber bei meinem altem Weg wie ich ihn ganz vorne beschrieben habe. :wink:

robi
 
deadkenny schrieb:
habe jetzt nochmal die alte sdb eingebaut und von dieser gestartet. funzt.
nun folgendes:
server:~ # fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 60801 488384001 83 Linux

Disk /dev/sdb: 203.9 GB, 203928109056 bytes
255 heads, 63 sectors/track, 24792 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 19401 155838501 fd Linux raid autodetect
wie nun weiter???
die beschriebenen wege scheinen nicht zu funktionieren. :?
83 oder fd - das interessiert kein Programm mehr.
Wenn sda1 so jetzt existiert machst du
Code:
mdadm /dev/md0 -a /dev/sda1
Durchsynchronisieren lassen brauchst du den erstmal nicht. mdadm -D /dev/md0 wird vorläufig noch 155/160 GB anzeigen.

Dann schaust du jetzt zu, dass du von md0 booten kannst. Dazu musst du evtl. die mdadm.conf noch anpassen falls noch nicht geschehen, und RAID-Support in die initrd einbinden. Siehe dazu den Wiki-Artikel "von nonraid auf raid1". (Und auch Bootloader...)
Wenn du dann erfolgreich von md0/sda booten kannst, kann ich weiterschreiben :p
 
OP
deadkenny

deadkenny

Member
ok,

habe 2 Sachen geändert:

server:~ # cat /etc/mdadm.conf
DEVICE /dev/sda1 /dev/sdb1
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=b594609e:03e10e2c:5d4b3a5e:af5ddbde
num-devices=2 zugefügt.

und ein
mkinitrd -d /dev/md0
das -f md im wiki hat hier nicht gefunzt, liegt anscheinend an der version.

bootet aber immer nur noch von sdb
 
OP
deadkenny

deadkenny

Member
na klasse,

- jetzt habe ich grub ein "bischen hin und her" installiert
- sdb ausgebaut und von sda gebootet
- und es klappt, warum auch immer, juhuuu

er bootet jetzt von sda!!! :lol:
 
OP
deadkenny

deadkenny

Member
danke :D

der sync läuft bereits (82%).

danach käme dann nur noch die "vergrößerung".

vielen dank schonmal für Eure Geduld!!!

wenn ich das geschafft habe, versuche ich noch ein kleines howto zu schreiben, wenns recht ist. :wink:
 
Vergr"ossern kannst du jetzt schon, du musst nicht immer warten bis die Synchro fertig ist. (Aber bei einigen Sachen gibt es eben Punkte, wo man warten muss.)
 
OP
deadkenny

deadkenny

Member
hy,

bin erst jetzt dazu gekommen, mich drum zu kümmern:

jetzt sieht es wie folgt aus:

server:~ # fdisk -l

Disk /dev/hda: 41.1 GB, 41174138880 bytes
255 heads, 63 sectors/track, 5005 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 1 66 530113+ 82 Linux swap / Solaris
/dev/hda2 * 67 850 6297480 83 Linux
/dev/hda3 851 5005 33375037+ 83 Linux

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 60801 488384001 fd Linux raid autodetect

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 60801 488384001 fd Linux raid autodetect

Disk /dev/md0: 159.5 GB, 159578521600 bytes
2 heads, 4 sectors/track, 38959600 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Device Boot Start End Blocks Id System
server:~ #

server:~ # mdadm -G /dev/md0
mdadm: no changes to --grow
server:~ #

warum kann ich denn nicht vergrößern?

und bei dem Befehl "xx_growfs /": was setze ich hier als filesystem ein? fdisk -l zeigt ja "fd" als FS an, eigentlich ist es reiserfs, aber das funzt nicht mit growfs
 
Hm, jetzt musste ich es selber erstmal mit mdadm probieren... also:
mdadm -G /dev/md0 -z max
und dann
resize_reiserfs /dev/md0
obwohl ich reiser3 für eine schlechtere Wahl halte (läuft halt in kritischen Bereichen nicht multithreaded - ist bei Multicore nervig). Dein Original-Filesystem war 160 GB, das hättest du locker auf die 500 kopieren können. (Wäre sicher auch schneller als eine RAID1-Synchro gewesen.)
 
OP
deadkenny

deadkenny

Member
hallo zusammen,

vielen dank für all eure hilfe. (besonders nochmal für
mdadm -G /dev/md0 -z max
und dann
resize_reiserfs /dev/md0
es hat also geklappt, wenn auch auf umwegen, aber nu läuft alles perfekt, wie vorher.

ich rekapituliere mal:

eigentlich hat alles so gefunzt, wie jengelh es beschrieben hat, nur daß aus irgendwelchen gründen nach dem einbau der neuen platte doch ein reboot fällig war und der bootmanager neu konfiguriert werden musste.

also,nochmal vielen dank für eure mühe!!! :lol: :lol: :lol:

HowTo:
- mdadm /dev/md0 -r /dev/sda1
- alte platte raus
- neu rein
- reboot
- neue platte auf gewünschte größe partitionieren und ins raid integrieren
- hierbei nicht vergessen den filesystem type auf "FD" zu setzen
- mdadm /dev/md0 -a /dev/sda1
- wenn der sync fertig ist, genau das gleiche mit sdb
- zum vergrößern des raids (wenn es denn die komplette platte sein soll):
mdadm -G /dev/md0 -z max
und dann
resize_reiserfs /dev/md0
- zu guter letzt noch den bootloader neu schreiben und

FERTIG!!!
hoffe ich doch, oder habe ich was vergessen? :?
 
Oben