Verkleinern einer virtuellen VMware Platte

Das Verkleinern einer virtuellen VMware Platte – also des vmdk-Files – ist unter ESXi offenbar nicht vorgesehen (supportet). Trotzdem habe ich mir die Infos bröckchenweise zusammengesucht und folgendes einfache Vorgehen hat dann geklappt:

  1. Bestehendes Dateisystem auf der Disk verkleinern (variiert natürlich je nach Typ – bei mir war es LVM-Schieberei und zuletzt ein pvresize --setphysicalvolumesize 1577844736k /dev/sdi1)
  2. Das Verkleinern (Shrink) der darunter liegenden virtuellen Disk geht leider nicht (wie von mir naiv gedacht) mit ESXi-Mitteln (vSphere Client). Die Größe lässt sich per Klick zwar kleiner stellen, springt dann beim Anwenden immer wieder auf die ursprüngliche Größe. Die Alternativ-Idee ist nun, den leeren Bereich mit Nullen zu füllen und dann auf “Thin provisioned” umzustellen, wodurch die Null-Bereiche freigegeben werden:
    1. Dazu habe ich mit gparted (auf dem Host, auf dem die Platte eingebunden ist) erstmal nur die Partition verkleinert und eine unformatierte (deleted) Partition im frei gewordenen Bereich angelegt.
    2. Mit ddrescue -f /dev/zero /dev/sdi2 (ebenfalls auf dem Host, auf dem die Platte eingebunden ist) wird nun der freie Bereich wirklich mit Nullen überschrieben.
    3. Danach stellt vmkfstools -K /vmfs/volumes/datastore1/foo/bar.vmdk (per ssh auf dem ESXi-Server) die Typ der Platte um und gibt den Platz des leeren Bereichs auf dem Datastore frei.

Die Platte ist nun zwar nicht wirklich verkleinert, aber der Effekt ist der gleiche – zumindest der für mich in diesem Fall wesentliche Punkt, nämlich dass Platz auf dem Datastore freigegeben wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.