Page 1 of 1

Swap verkleinern

Posted: 2004-07-28 23:04
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

Re: Swap verkleinern

Posted: 2004-07-28 23:18
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

Re: Swap verkleinern

Posted: 2004-07-28 23:28
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?

Re: Swap verkleinern

Posted: 2004-07-29 00:15
by sascha
Mit parted dürfte das gehen.

Re: Swap verkleinern

Posted: 2004-07-29 17:28
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?

Re: Swap verkleinern

Posted: 2004-07-29 18:00
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...

Re: Swap verkleinern

Posted: 2004-07-29 19:08
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?

Re: Swap verkleinern

Posted: 2004-07-29 22:15
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

Re: Swap verkleinern

Posted: 2004-07-30 00:59
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?

Re: Swap verkleinern

Posted: 2004-07-30 10:10
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

Re: Swap verkleinern

Posted: 2004-07-30 14:25
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

Re: Swap verkleinern

Posted: 2004-07-30 14:53
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?

Re: Swap verkleinern

Posted: 2004-07-30 15:06
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

Re: Swap verkleinern

Posted: 2004-07-30 15:11
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?

Re: Swap verkleinern

Posted: 2004-07-30 15:19
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

Re: Swap verkleinern

Posted: 2004-07-30 15:42
by sven-reichelt
Gleicher Fehler :cry:

Re: Swap verkleinern

Posted: 2004-07-30 16:38
by tape
Sorry, dann kann ich Dir im Moment nicht weiterhelfen. So hatte hc es gemacht und es hat funktioniert. :(

Anton Pirnat

Re: Swap verkleinern

Posted: 2004-07-30 21:41
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]

Re: Swap verkleinern

Posted: 2004-07-31 23:54
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.