VMWare Festplatten shrinken ohne XServer

25 02 2008

Tja da stand ich seit ewiger Zeit vor einem Problem, und dann ist das so einfach zu lösen. Ich habe mehrere kleinere Virtuelle Server hier im Einsatz. Fast alles Debian Etch Maschinen, die naturgemäß ohne X-Oberfläche installiert worden sind. Da ich auch nicht unbedingt auf Super Performance angewiesen war, habe ich beim erstellen der virtuellen Maschinen den Festplattenspeicher nicht „preallocated“, sondern single growable disks angelegt.

Ein großer Nachteil dieser Variante ist, dass einmal beanspruchter Festplattenplatz auf der physikalischen Platte nicht mehr freigegeben wird. Diese Möglichkeit bieten die VMWare Tools, die aber wiederum bei eine grafische Oberfläche benötigen, sowohl unter Windows als auch Linux. Für mich schied diese Möglichkeit also aus.

Ohne installierten X-Server geht das aber sehr einfach mit den VMware Command Line Tools von Ken Kato. Auf der Seite könnt ihr euch einfach das Zip Archiv „vm-xxxxxx.zip“ herunterladen. Darin enthalten sind die bereits vorkompilierten Tools:

    VMBack

  • vmw
  • vmshrink
  • vmftp

Also einfach entpacken in das Verzeichnis Linux-FC4 und dort liegen die drei Dateien. Falls diese noch nicht ausführbar sind, einfach nur ein:

chmod +x *

In dem Verzeichnis, und schon könnt ihr loslegen. Zum shrinken reicht ein:

./vmshrink

und schon geht’s los:

shrinking Full


Aktionen

Information

2 responses

4 09 2008
R.Rusch

Danke, für diesen Beitrag!!!
Ich habe mich totgesucht, warum meine Platte einfach nicht weniger Platz belegt, obwohl ich in der Appliance GB an Daten gelöscht hatte.

So ganz leuchtet mir das alles aber nicht ein:
Gerade eine „growable“ disk sollte sich doch dazu überreden lassen, wieder Platz freizugeben. Dagegen fände ich es eher verständlich, dass eine „preallocated“ disk starrköpfig ihre 100GB oder was auch immer behält – egal, ob darin Daten sind oder nicht.

Egal, super vielen Dank für diesen Beitrag!!!

5 09 2008
dudleyperkins

Gern geschehen 🙂

Mit dem Speicher freigeben bei einer preallocated disk ist so eine Sache. Das Problem ist einfach, das ja oft nicht die Daten selber sondern nur die Index-Einträge gelöscht werden. Also sind auf der virtuellen Platte ja noch Daten geschrieben. Von Außen erkennbar ist das für VMWare nicht so einfach, daher wird die Platte nicht automatisch kleiner.

Was das Script macht ist einfach ausgedrückt, zuerst alle unbenutzten Sektoren der virtuellen Platte mit Nullen füllen und dann per RPC VMWare auffordern die Disk zu verkleinern um genau diesen Bereich.

Hinterlasse einen Kommentar