* Philipp Zacharias wrote on Fri, Dec 29, 2006 at 12:34 +0100:
Am Freitag, 29. Dezember 2006 07:15 schrieb Steffen Dettmer:
mmm... Ich versteh's immer noch nicht. Das RAID liefert ein /dev/md0 oder sowas; keine Partition. Die kann man als pv in ein LVM packen oder ein Filesystem drauf machen.
Wenn man ein RAID (also das /dev/md0) vergrössern kann, kann man das darauf befindliche Filesystem mit resize2fs vergrössern - auch ohne LVM. Oder?
Dazu hab ich jetzt leider auch nach intensiver Recherche nix gefunden. Aber es wäre ja so wie wenn man z.B. bei einer bestehenden Festplatte noch nicht den gesamten Platz genutzt hat und jetzt das Dateisystem erweitern möchte. Dafür muss man allerdings erst die Partition vergrößern.
Partitionen sind eine spezielle Ausnahme-Eigenschaft eines (sehr üblichen, zugegebenermassen) Disklabels (oder wie das heisst). Man kann ein Filesystem auch direkt auf einer Platte anlegen, ohne Partition. Macht kaum Sinn, aber geht. Man kann auch ein Filesystem auf einer Partition oder einem anderen Gerät anlegen, ohne dass es das untenliegende Gerät ausfüllt; da gibts sicherlich passende Optionen im mkfs.ext2. So ein Filesystem kann man vergrössern und verkleinern (bis zur Partitions- oder Gerätegrösse). Wenn man natürlich zufällig Partitionen benutzt und zufällig ein Filesystem drauf hat, was diese genau ausfüllt (was zufällig ja fast immer das ist, was man macht ;)), kann man das Filesystem natürlich nicht vergrössern, weil es schon 100% ausfüllt, klar. Wenn sich das Gerät (oder die Partition) aber vergrössert, kann man das fs darauf vergrössern. Ist doch alles so richtig, oder?
Wie vergrössert man ein RAID5 eigentlich? Ich hab 5 Platten, stecke eine 6te dazu und das funktioniert wie "erwartet", echt?! Ist ja ein Hammer!
puh, ganz so einfach scheint sich das doch noch nicht zu gestaltet. Dafür braucht's auch topaktuelle Software. Auf [1] kommen ein Kernel >= 2.6.17, mdadm >= 2.5.2 und LVM2 >= 2.02.06 zum Einsatz. Nur damit lässt sich ein mdadm --grow /dev/md0 --raid-disks=n+1 (wobei n die vorher vorhandene Zahl an Disks angibt) auch auf einem RAID5 durchführen.
Wie auch immer das funktioniert. Ist mir erstmal nicht klar. RAID5 rotiert ja die redundanten chunks. Hat man eine Platte mehr, muss man irgendwie einen schlauen Rotierungsalgorithmus haben, wenn das noch funktionieren soll. Oder man konvertiert das RAID5, was auch kompliziert und langsam klingt... In [2] steht "Dabei werden alle Stripes des RAID5 auf allen Platten neu verteilt". CooL. Wenn das auch noch powerfail-safe ist, kann man sich respektvoll vor den Autoren dieser Software verneigen :-)
In der manpage zu meinem mdadm (1.12.0) steht hingegen: "This number can only be changed using --grow for RAID1 arrays, and only on kernels which provide necessary support."
grow für RAID1, was meint das? Zusätzliche Spiegel in ein RAID1 zu packen ist natürlich kein Problem (ging, soweit ich mich erinnere, sogar mit dem ersten Linux-RAID). Dabei wird das Volume natürlich nicht grösser. Wie kann ein RAID1 wirklich wachsen?
Sieht für mich schon mal nicht so toll aus :-(. Langsam entwickle ich doch Tendenzen hin zu einem neuen 3ware-RAID-Controller.
Na gut, bei so einem Kontroller ist klar, dass all das garantiert nicht geht :-) Hardware-RAID hat IMHO (neben den Vorteilen) drei Nachteile: - man kann nicht sicher sein, mit welchen anderen Controllern das RAID laufen könnte (z.B. wenn der eingesetzte kaputt geht oder 3ware in zwei Jahren nicht mehr existiert) - man weiss nicht, welche Software genau wie zum Einsatz kommt und wie stabil ist. Auch das Fehlerverhalten ist nicht 100% klar (hab schon hardware Raids erlebt, wo man aus /proc/ rausklauben musste, das ein mirror degraded war, und das "Notfallmailtool" das nicht richtig gemacht hat - super). - man weiss (gerade bei preiswerten Controllern) nicht, ob die Performance am Ende stimmt. Bei billig IDE Controllern (die in ComputerBILD oder ähnlichen Tests prima Bewertung kriegen, weil die Win GUI so toll sei) kann es vorkommen, dass ein RAID 0 langsamer als eine einzelne Platte wird (hab ich schon live gesehen :-)). Richtige RAID-Controller haben einen Power- und einen Ultra-SCSI Anschluss :-) Oder vielleicht ein Ethernetinterface :)
Dafür gibt es laut [2] mittlerweile ein Tool namens ext2online [1] http://de.gentoo-wiki.com/LVM2_und_RAID5_erweitern [2] http://linuxwiki.de/ext3
Danke für die Links, interessant. Allerdings klingt "die cvs Version von ext2resize unterstützt ext3 auch online (Achtung: beta code)" für mich nicht nach "geht" sondern "geht eventuell in Zukunft" :-) Abgesehen davon, dass man den Kernelpatch ohne reboot (und remount) wohl kaum reinkriegt :-) BTW, http://kbase.redhat.com/faq/FAQ_96_4842.shtm ist auch lustig. Im Beispiel wird ext2online benutzt aber dann:
# e2fsck -f /dev/TestVG/TestLV e2fsck 1.35 (28-Feb-2004) /dev/TestVG/TestLV is mounted.
WARNING!!! Running e2fsck on a mounted filesystem may cause SEVERE filesystem damage.
Do you really want to continue (y/n)? no
check aborted.
# umount /mnt/test ^^^^^^^^^^^^^^^^^^^^ # e2fsck -f /dev/TestVG/TestLV
lol, doch umount; soll er mal mit / vormachen... SCNR. oki, Steffen p.s.: Zu [1] bin ich skeptisch ("Es gibt auch eine Möglichkeit, RAID-Festplatten direkt zu partitionieren (dev/md/{1,2,3}), ohne einen Umweg über LVM machen zu müssen." klingt für mich, als ob der Author RAID und Geräte "alles sind Files" nicht wirklich verstanden hat, aber vielleicht ist es auch nur ungeschickt ausgedrückt). -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org