Swap verkleinern

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08

Swap verkleinern

Post by sven-reichelt »

Hallo!

Ich brauche dringend etwas mehr Speicher auf meinem Server der nur 10GB Speicher hat.

Nun, meine Swap hat 2GB, und ich würde sie gerne auf 256MB verkleinern und den Rest der Hauptpartition zuordnen.

Kann mir da jemand helfen?
Weil ich bin nur ein "Easy-User"

Danke,
Sven Reichelt
Anonymous

Re: Swap verkleinern

Post by Anonymous »

im grunde ist es sehr einfach, allerdings hängt der tatsächliche aufwand stark von deiner platten-partitionierung ab. wenn du die swap-partition etwa auf der letzten logischen partition eingerichtet hast, ist es einfach, sollte sie sich vor der root-partition befinden, ist es etwas komplizierter, da sich die partitions-nummern verschieben.
ich beschreib dir mal das vorgehen im ersteren fall

hda x..y irgendwas
hda 5 boot
hda 6 root
hda 7 swap

$ swapoff -a
$ fdisk /dev/hda

hier die partition 7 löschen und gemaess vortellungen neu partitionieren, etwa da7 1,5 gb linux native , hda8 0,5 gb swap

dann
$mkswap /dev/hda8
die partition in /etc/fstab unter 'swap' eintragen.

$mkfs -t ext3 /dev/hda7

jetzt musst du dir nur noch einene ort ausdenken, wo du die 1,5 gb ins filesystem einhängst. solltest du einen pfad verwenden, der schon auf der alten platte vorhanden war, musst du natürlich die daten kopieren(verschieben).
diesen 'mountpoint' musst du ebenfalls in die fstab eintragen

benutzung auf eigene gefahr, gruss, steady
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08

Re: Swap verkleinern

Post by sven-reichelt »

Hm, also ich schreib mal kurz meine Daten hier auf.

/dev/hda1 boot
/dev/hda2 swap
/dev/hda3 root

Hm wie kann ich es denn machen des ich die swap einfach zusammenschiebe und den freien Speicher hda3 zuordne? Oder geht das nicht wie bei Windows?
sascha
Posts: 1325
Joined: 2002-04-22 23:08

Re: Swap verkleinern

Post by sascha »

Mit parted dürfte das gehen.
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08

Re: Swap verkleinern

Post by sven-reichelt »

Also ich habe es hinbekommen die Swap zu verkleinern, doch schaffe ich es nicht /dev/hda3 den freien Speicher zuzuordnen.

Hat jemand ne Lösung?
gamecrash
Posts: 339
Joined: 2002-05-27 10:52

Re: Swap verkleinern

Post by gamecrash »

Aus dem freien Platz ne neue Partition machen und die dann da mounten, wo Du sie brauchen kannst wär wohl das einfachste und ungefährlichste für Deine Daten...
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08

Re: Swap verkleinern

Post by sven-reichelt »

Ja nur was soll ich da speichern?
Diie htdocs? Ne, des sind über 4GB - passt nicht

Ich kann also nur versuchen den Speicher hda3 zuzuordnen. Das muss doch irgendwie gehn, oder?
tape
Posts: 57
Joined: 2003-02-11 12:08

Re: Swap verkleinern

Post by tape »

yep.. es geht auch.. mit parted kann eine partition auch verschoben (z.B. an den Anfang des neuen freien bereichs) und vergrößert werden.

http://www.gnu.org/software/parted/parted.html

Anton
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08

Re: Swap verkleinern

Post by sven-reichelt »

Hm, auch wenn die Partition beschrieben ist?
Denn ich bekomme immer nur Fehler, das es nicht möglich sei.

Weiß jemand die Kommandos?
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08

Re: Swap verkleinern

Post by sven-reichelt »

Nur noch mal zur Erklärung:

Also kurz vorweg meine Partitionen:
---------------------------------------------------------
Disk /dev/hda: 10.0 GB, 10005037056 bytes
255 heads, 63 sectors/track, 1216 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 1 7 56227 83 Linux (~53MB)
/dev/hda2 8 40 265072+ 82 Linux swap (~260MB)
<<<hier freier Speicher ~1.75GB>>>
/dev/hda3 270 1216 7606777+ 83 Linux (~7.14GB)
---------------------------------------------------------

Nun, ich würde gerne den freien Speicher zwischen der Swap (/dev/hda2) und der Rootpartition (dev/hda3) der Rootpartition zuordnen.

Nun habe ich es schon vergebens mit fdisk und parted probiert und es soweit geschafft, das mein System nur noch im "read-only" Modus lief (war nur fehler in der fstab {dumme # was sucht die auch da... xD}).

Nun, hat von euch jemand eine Lösung wie ich das vollbringen kann?

Ich dachte mir es wäre am einfachsten die Daten zu sichern, indem ich die /dev/hda3 vorher verkleinere, das Ende frei gebe und dort /dev/hda4 erstelle, wo ich dann die Daten hin kopiere.
Dann kann ich ja nachher die Daten auf die neue /dev/hda3 kopieren, /dev/hda4 löschen und die /dev/hda3 vergrößern (das soll ja meines Wissens nach gehen, also nach hinten vergrößern, aber nicht nach vorne).

Ist das soweit von mir richtig gedacht?
Oder muss ich noch was beachten?

Vielleicht wäre es ja auch eine möglichkeit, wenn ich die ganzen Daten irgendwo ausserhalb meines Rechners speichere. Nur fragt sich, wo ich mal eben 2,2GB herbekomme...
Und auch dann wüsste ich nicht so recht, wie ich die Daten ohne Verlust der User-, Gruppen- und Zugriffsrechte verschiebe und nachher wieder auf meine Platte hole.

Beste Grüße,
Sven Reichelt
tape
Posts: 57
Joined: 2003-02-11 12:08

Re: Swap verkleinern

Post by tape »

es geht mit parted, die Befehle resize und move von parted sind genau dafuer gemacht. :) Wichtig dabei sind immer die gnauen Angaben zu den Sektorgrenzen/Anzahl die man sich immer wieder anzeigen lassen sollte.

Versuchs doch erstmal mit dem verkleinern der swap partition, dann kann du immer noch den move und ein anschließendes resize der großen partition damits wieder bis zum schluß voll ist machen.

Anton
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08

Re: Swap verkleinern

Post by sven-reichelt »

Jap habe ich mal versucht, hier das Ergebnis:

(parted) print
Disk geometry for /dev/hda: 0.000-9541.546 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.000 54.909 primary ext3
2 54.910 313.769 primary linux-swap
3 2110.100 9538.593 primary ext3

(parted) move 3 313.770
Error: Can't move a partition onto itself. Try using resize, perhaps?

(parted) print
Disk geometry for /dev/hda: 0.000-9541.546 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.000 54.909 primary ext3
2 54.910 313.769 primary linux-swap
3 2110.100 9538.593 primary ext3

(parted) resize 3 313.770 9538.593

(parted) print
Disk geometry for /dev/hda: 0.000-9541.546 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.000 54.909 primary ext3
2 54.910 313.769 primary linux-swap
3 2110.100 9538.593 primary ext3


Es hat also mit move nicht funktioniert und bei resize erhalte ich gar keine Meldung aber die Werte bei print beleiben gleich.

Und was nun?
tape
Posts: 57
Joined: 2003-02-11 12:08

Re: Swap verkleinern

Post by tape »

wolltest Du nihct Deine / vergrößern? Wie soll also ein move gehen wenn noch kein Platz im Zielgebiet frei ist. :)

Die Angabe des Startcylinders entspricht in deinem move Beispiel nicht dem wie er im Partitionslisting auftaucht. Wenn keine Meldung/Fehlermeldung auftaucht hat ers wegen einer falschen Angabe nicht gemacht.

Ich würde aber zuerst die Swap testweise um ein paar Tausend Cylinder verkleinern, dann testen obs geklappt hat!

Anton
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08

Re: Swap verkleinern

Post by sven-reichelt »

Hm, zu erklärung: meine / ist hda3.
Und davor, also zwischen hda2 und hda3 sind 1,75GB frei.

Aber wie wäre dann der move-command richtig?
tape
Posts: 57
Joined: 2003-02-11 12:08

Re: Swap verkleinern

Post by tape »

ay, dann kommt parted evt. mit der Berechnung dre Nachkommstellen durcheinander und/oder die Nachkommastelle ist keine Cylindergrenze oder so.
Versuch es mal mit einer ganzen zahl, oder ein paar stelen weiter nach dem Komma.

hth
Anton
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08

Re: Swap verkleinern

Post by sven-reichelt »

Gleicher Fehler :cry:
tape
Posts: 57
Joined: 2003-02-11 12:08

Re: Swap verkleinern

Post by tape »

Sorry, dann kann ich Dir im Moment nicht weiterhelfen. So hatte hc es gemacht und es hat funktioniert. :(

Anton Pirnat
Anonymous

Re: Swap verkleinern

Post by Anonymous »

aus

Code: Select all

File system	 	detect	 	create	 	resize	 	copy	 	check	
ext2		*		*		*1		*2		*3	
ext3		*				*1		*2		*3
und

Code: Select all

Notes:

   1. For ext2, ext3 and reiserfs: the start of the partition must stay fixed.
   2. For ext2, ext3: the partition you copy to must be bigger or exactly the same size as the partition you copy from.
   3. For ext2 and ext3: the checking is limited to ensuring the resize and copy commands will be ok.

schliesse ich : der anfang deiner hda3-partition kann nicht verschoben werden.
also sollte hier nicht bald eine ne lösung haben, rate ich dir zum einhängen des freien platzes ins dateisystem....
gruss, steady
[/code]
mcclane
Posts: 28
Joined: 2004-06-03 12:22

Re: Swap verkleinern

Post by mcclane »

Ich hätte auch noch eine Lösung.
Hatte zwar xfs als Dateisystem aber ich glaube für ext3 gibts die Tools auch.
Wenn der freie Platz hinter der Partition liegt kann die Partition mit cfdisk gelöscht werden.
Danach muß evtl. ein reboot durchgeführt werden, weil die Partitionstabelle in der Regel nicht im laufenden Betrieb neu eingelesen werden kann, wenn sie geändert wurde.
Anschließend legt man die neue Partiton mit dem gleichen Anfangszylinder neu an über die volle Größe.
Bei XFS geht es dann so weiter das die Partition gemountet wird und dann mit xfs_growfs das gemountete Dateisystem auf volle Partitionsgröße vergrößert wird.
Ist resize2fs nicht für den selben Zweck geeignet?
Im Zweifelsfall würde ich es daheim erst mal ausprobieren.