Seite 1 von 1

Files einer Disc viel zu groß, Shrink, defrag...

Verfasst: 30.06.2009, 18:15
von sambu
Hi,

hab einige VMs auf einem CentOS mit installierten VMware Server 2.0.1 laufen. U.a. einen Eisfair Linux-Server.
Der hat zwei Discs. Disc 1 hat 50GB. Die war mal zu 80% voll, hat aber nun nur noch 13 GB belegt. Allerdings sind die Container-Files der Disc immer noch 45GB groß. Wie bekomm ich die klein? Da sind 3 Partitionen drauf, 1xswap und 2x ext3. Muss ich da irgendwie das Journal löschen?
Hat shrink und defrag schon laufenlassen. (vmware-vdiskmanager -d meineDisk.vmdk und vmware-vdiskmanager -k meineDisk.vmdk)

Ich blicks grad nicht wo mein Denkfehler ist. Ich dachte, dass nach Löschen und shrinken die Files so klein sind wie deren Inhalt.

Viele Grüße
Alex

Verfasst: 30.06.2009, 18:34
von continuum
wie hast du denn genau geshrinkt ?

shrinkbefehl

Verfasst: 30.06.2009, 21:07
von sambu
VM heruntergefahren, auf der Konsole:
vmware-vdiskmanager -k /VMs/disc1.vmdk

Jetzt bin ich gespannt:-)

Verfasst: 30.06.2009, 21:23
von continuum
hast du denn vorher eine wiperfile geschrieben ?
nur die -k function nuetzt gar nichts

eine wiperfile kannst du so von Hand schreiben - dabei musst du jede Partition einzeln bearbeiten

cd /mnt/sda2
dd if=/dev/zero of=0bits bs=20971520 # bs=20m
rm 0bits

Verfasst: 30.06.2009, 21:28
von continuum
wie man das mit einer Knoppix oder Slax macht steht hier
http://sanbarrow.com/phpBB2/viewtopic.php?t=1387

statt dem ESX denk dir einfach deine Linux-VM ...

wiperfile

Verfasst: 30.06.2009, 22:32
von sambu
Versteh ich das jetzt richtig?:
In jeder zu shrinkenden Partition soll ein "wiperfile" geschrieben werden, das lauter Nullen enthält und auch gleich wieder gelöscht wird!? Wie ermittle ich die notwendige Größe dieses Files?
Was bewirkt das dann im Containerfile? Sorgt das dafür, dass durch Löschungen entstandener Platz wieder mit Nullen gefüllt werden?
ok, hab ich mir so nicht vorgestellt...

Danke für Eure Tipps!

Gruß
Alex

Verfasst: 30.06.2009, 22:37
von continuum
Wie ermittle ich die notwendige Größe dieses Files?


Kommt nicht so drauf an - schreib einfach die Platte voll bis nichts mehr geht.

Wenn du eine VM mit graphischer Oberflaeche hast - kannst du das shrinken auch ueber die vmware-tools erledigen

Verfasst: 30.06.2009, 22:47
von sambu
d.h. ich muss mehrere dieser 0bits-files erzeugen? Beendet dd das Schreiben sobald die Platte voll ist? Ist dann nicht eine sicher zu groß gewählte Angabe sinnvoll?
Ich hab 50GB Platte, es sind 37 GB jetzt frei. Mach mir bitte einen konkreten Vorschlag wie ich die Größen wähle.

Verfasst: 30.06.2009, 23:46
von continuum
das beispiel von oben ist schon ok

dd schreibt dann einfach komplett die Platte voll und loescht es sofort wieder

gelöst

Verfasst: 04.07.2009, 14:13
von sambu
Hat funktioniert! Dankeschön!
Für die Suchmaschine nochmal kurz zusammengefasst:

Den freien Platz innerhalb eines nicht-preallocated Drives (sprich den Filecontainer auf die Größe des darin belegten Speichers verkleinern) kann man wieder freigeben, indem

1. der wirklich freie Platz mit Nullen überschrieben wird
Dazu wird ein wipefile angelegt. Dies sollte nicht im laufenden System stattfinden, weil die Platte randvoll geschrieben wird und das System unbrauchbar werden kann. Also die VM z.B. mit einer BootCD starten oder das Laufwerk in eine andere VM temporör einhängen.
dd if=/dev/zero of=0bits bs=20971520 # bs=20m
Die erzeugte Daten namens 0bits dann anschließend gleich wieder löschen.

2. das eigentliche shrink durchgeführt wird. Am Host:
vmware-vdiskmanager -k meineDisk.vmdk

Danke für Eure Hilfe!

Gruß
Alex

Verfasst: 24.07.2012, 12:37
von Dayworker
Danke sambu. Du hast mir sehr geholfen.