[linux-l] partition resize

Stefan Bund sbund at artec-berlin.com
Mi Jul 17 13:00:10 CEST 2002


"Eicher Rene" <eicherlist at bluewin.ch> writes:
> Kann ich ein installiertes Linux RH7.2 neu partitionieren ohne Datenverlust.
> z.B. "/home" kleiner machen und den gewonnen Platz "/" zuteilen.

Fabian Yamaguchi <fabiany at gmx.net> writes:
> Rein theoretisch geht das schon und zwar mit Partition Magic oder
> fips. P.M. ist allerdings ein Windows-Programm und kommerziel. fips
> ist glaub ich freeware und ein DOS-Programm.
> Aber wie schon gesagt, in der Theorie klappt das, ein Freund von mir
> hat dabei aber schon haftig Daten verloren. Du solltest also auf
> jedenfall Backups machen, zumindest von /home.

Also aus genau dem Grund habe ich mir jetzt angewöhnt, alles außer
root mittels lvm und reiserfs zu installieren. Das ist so ziemlich die
flexibelste Lösung, die ich mir vorstellen kann. (root lasse ich weg,
weil mir das einfach zu umständlich ist, auch wenns theoretisch geht,
und unter root sollte ja sowieso nicht groß was rumliegen).

LVM: Damit verwaltet man 'logical volumes', was sowas ähnliches ist
wie eine Partition. Allerdings kann man eine 'logical volume'
problemlos in der Größe ändern. Allerdings betrifft das dann nur die
Partition, nicht das Dateisystem. Darum also

reiserfs: Ein journaling filesystem, das online-resize
unterstützt. Bei mir funktioniert das im harten Arbeitseinsatz absolut
problemlos (so alle paar Wochen ist unsere Projektpartition mal wieder
voll und dann wird sie online vergrößert, also ohne umount oder
reboot).

Verkleinern von Dateisystemen geht nicht so toll, aber
vergrößern. Also mache ich das seitdem immer so, das ich am Anfang
sehr viele kleine logical volumes anlege (jede mit 128M): /usr,
/usr/local, /tmp, /var, /var/log, /var/spool, /www, /home,
/var/lib/postgresql usw.  Wenn dann eine volume zu klein wird, wird
sie einfach vom vorhandenen restlichen Platz vergrößert. Brauche ich
mal kurzfristig ganz viel Platz, mache ich mir schnell eben 'ne
temporäre Volume mit der notwendigen größe. Sobald ich den Platz dann
nicht mehr brauche, wird die volume wieder gelöscht.

Sobald die Platte wirklich voll ist, baue ich eine neue Platte ein,
binde die neue Platte ins LVM ein, und ich habe wieder Platz, um die
Partitionen weiter zu vergrößern. Unsere /projects Volume verteilt
sich auf 3 Festplatten ...

Das tolle ist, das ich die Partitionen zur Laufzeit einfach vergrößern
kann. Das macht ein kleines Skript von mir:

$ df -m
Filesystem           1M-blocks      Used Available Use% Mounted on
[...]
/dev/master/projects     42831     42696       135 100% /projects
[...]

$ extend-volume /dev/master/projects 256
[...]

$ df -m
Filesystem           1M-blocks      Used Available Use% Mounted on
[...]
/dev/master/projects     43087     42696       391 100% /projects
[...]

Obercool und praktisch (und nett auf der Arbeit:

Mitarbeiter: Die Projektpartition ist voll !!!
Admin: Tja, da müsst ihr wohl mal ein bischen aufräumen
(1 Tag spáter, es sind 512MB freigeräumt)
Mitarbeiter: Ich habe alles gemacht, aber es fehlen immer noch 100 MB
Admin: Mal sehen, vielleicht kann ich ja noch was machen
(1 Tag später ist die Partition plötzlich 128MB größer ...)

Die Leute räumen immer schön auf, da die Partition nicht einfach
beliebig groß ist. Man muß den Leuten ja nicht erzählen, das man noch
so ca. 10GB in der Hinterhand hat :-) )

Und nach meiner Erfahrung funktioniert das wirklich stabil. Ich habe
hier auf meinen Servern noch nie Probleme gehabt. Ich empfehle diese
Lösung *seeeeeehhr*, ich bin gerade dabei, meinen Rechner zuhause
entsprechend neu zu installieren, da der noch 'ne alte installation
hat.

OK, die Performance ist vielleicht nicht optimal (LVM hat natürlich
seinen Overhead), aber die Vorteile sind für mich einfach so
gravierend, das ich das verschmerzen kann. Da ist mir die Flexibilität
nach so einigen Jahren Linux-Erfahrung doch deutlich wichtiger.

Stefan.



Mehr Informationen über die Mailingliste linux-l