Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

VMDK verkleinern

Moderatoren: Dayworker, irix

Member
Beiträge: 8
Registriert: 31.03.2010, 13:25

VMDK verkleinern

Beitragvon goodgame » 31.03.2010, 13:39

Ich habe hier einen ESXi4 ohne Vserver am laufen und will eine der VMs verkleinern.
Ich habe es nach folgender anleitung probiert.

http://www.howtoforge.com/how-to-shrink ... files-vmdk

aber leider meldet das Ding dass der file (debian_sklave-flat.vmdk) keine Virtual Disk ist.
Erkennt VMWare siene eigenen Formate nicht mehr oder liegt es daran dass esxi4 vmdk files zu neu sind???


Gruss goodgame

Benutzeravatar
UNSTERBLICH(R.I.P.)
Beiträge: 14759
Registriert: 09.08.2003, 05:41
Wohnort: sauerland
Kontaktdaten:

Beitragvon continuum » 31.03.2010, 15:48

eine Verkleinerung von vmdks mit vmkfstools geht seit einer Weile nicht mehr - Gott Sei Dank

Eine flat vmdk ist keine Virtuelle Disk - das ist richtig.
Du musst die kleine Beschreibungsdatei angeben - also die ohne -flat

Falls eine virtuelle Disk verkleinert werden soll gibt es andere Methoden wie Ghost oder Converter

Member
Beiträge: 8
Registriert: 31.03.2010, 13:25

Beitragvon goodgame » 01.04.2010, 10:07

Wenn ich das richtig mitbekommen habe funktioniert das mit dem Converter nur in Verbindung mit dem VCenter Server, oder?


Gruss Stefan

Member
Beiträge: 8
Registriert: 31.03.2010, 13:25

Beitragvon goodgame » 01.04.2010, 10:48

Mit dem Vdiskmanager bekomme ich auf der normalen vmdk, die ist aber nur ein paar KB gross nach einer Sekunde Meldung dass
Shrink completed successfully
und nicht hat sich getan.
Wie aber bekomme ich die -flat.vmdk klein?

Gruss

Member
Beiträge: 8
Registriert: 31.03.2010, 13:25

Beitragvon goodgame » 06.04.2010, 09:33

Nachdem ich mich doch entschlossen habe ein X zu installieren (die VM ist ein debian 64bit) und die grafische Shrink Funktion probiert habe musste ich festellen dass sich das Tool beschwert:
Shinkl disk ist disalbled for this virtual machine.
Shrinking is disabled for linked clones blabla bla

Die VM ist weder ein Clone noch wurde von ihr geklont, sie hat keine Disk die festgelegt auf eine Groesse ist und sie hat keinen Snapshot. Ich weiss jetzt wirklich nicht mehr weiter. Das Backup das ich im VMWare Server laufen habe beschwert sich nicht.


Gruss goodgame

Profi
Beiträge: 877
Registriert: 18.03.2005, 14:05
Wohnort: Ludwigshafen

Beitragvon Martin » 06.04.2010, 09:52

In welchem Format ist die vmdk-Datei überhaupt angelegt? Bei einer auf VMFS standardmäßig "thick" angelegten Datei wird ein shrink keine Wirkung zeigen...

Member
Beiträge: 8
Registriert: 31.03.2010, 13:25

Beitragvon goodgame » 06.04.2010, 12:16

Ok ich denke dass ich eine thick disk habe (scheinbar deutet der name "flat" darauf hin.).
Das bringt mich zur naechsten Frage. Wie konvertiere ich das ganze in ein Shrinkfaehiges Format?


Gruss goodgame

Benutzeravatar
UNSTERBLICH(R.I.P.)
Beiträge: 14759
Registriert: 09.08.2003, 05:41
Wohnort: sauerland
Kontaktdaten:

Beitragvon continuum » 06.04.2010, 12:31

Hier geht es aber bunt durcheinander ...

alle virtuellen Platten fuer ESX und ESXi haben eine kleine Text-vmdk und eine grosse *-flat.vmdk mit den Daten.
das hat mit thick oder thin provision NICHTS zu tun

Wenn die Groesse der *-flat.vmdk = nominelle Groesse = dann hat man eine thick provisioned vmdk
Ist die *-flat.vmdk kleiner als die nominelle Groesse ist dann hat man eine thin-provisioned vmdk

Member
Beiträge: 8
Registriert: 31.03.2010, 13:25

Beitragvon goodgame » 06.04.2010, 12:48

Also ich hab in der vmdk Datei folgendes gefunden


Code: Alles auswählen

# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=60859c2e
parentCID=ffffffff
createType="vmfs"

# Extent description
RW 524288000 VMFS "debian-flat.vmdk" 0

# The Disk Data Base
#DDB

ddb.toolsVersion = "8226"
ddb.thinProvisioned = "1"
ddb.adapterType = "lsilogic"
ddb.geometry.sectors = "63"
ddb.geometry.heads = "255"
ddb.geometry.cylinders = "32635"
ddb.uuid = "60 00 C2 98 b3 af 97 9e-38 71 77 69 7a 4b 5f f3"
ddb.longContentID = "a1522fee1afd4d3117e89c392a48f181"
ddb.virtualHWVersion = "7"
ddb.deletable = "true"


Unter Debian sagt mir fdisk dass HD Kapazitaet = VMDisk ist, also muss ich davon ausgehen dass es eine thick Disk ist.
Das mit dem Flat stand irgnedwo auf den letzten 1000 Seiten die ich in Google ueberflogen habe.

Gruss goodgame

Benutzeravatar
UNSTERBLICH(R.I.P.)
Beiträge: 14759
Registriert: 09.08.2003, 05:41
Wohnort: sauerland
Kontaktdaten:

Beitragvon continuum » 06.04.2010, 12:55

und ? - was hast du vor ?
nominelle Groesse aendern ? - oder in thin-provisioned Format wechseln ?


Nominelle Groesse andern ist bei Windows-VMs mit Converter machbar - bei Linux bin ich mir nicht so sicher.

Wenn in thin-provisioned Format geaendert werden soll kannst du das mit den vmkfstools a la

vmkfstools so-isses-jetzt.vmdk neue.vmdk -d thin

erledigen

Member
Beiträge: 8
Registriert: 31.03.2010, 13:25

Beitragvon goodgame » 06.04.2010, 15:28

Der Converter aktzeptiert die vmdk nicht, oder scheint nichts mit angfangen zu koennen.
Wo finde ich die vmkfstools? Auch auf dem ESXi? In der VM (da nicht gefunden)

Gruss goodgame

Benutzeravatar
UNSTERBLICH(R.I.P.)
Beiträge: 14759
Registriert: 09.08.2003, 05:41
Wohnort: sauerland
Kontaktdaten:

Beitragvon continuum » 06.04.2010, 15:31

der Converter fragt nicht nach vmdks - der fragt nach VMX-files

vmkfstools findest du wenn du dich im ESXi per ssh anmeldest oder an der "unsupported" console vmkfstools eingibst

Member
Beiträge: 8
Registriert: 31.03.2010, 13:25

Beitragvon goodgame » 07.04.2010, 12:55

Oh mein Gott ich habe eine Information bekommen die mir hilft. Jetzt löst sich der Hinterhalt in meinem kopf:-)

Ich liebe Dich continuum :D


Gruss goodgame

Member
Beiträge: 32
Registriert: 07.10.2009, 12:30

und nachgehakt ...

Beitragvon elmuchacho » 04.01.2011, 15:25

Ulli schrieb:
Wenn die Groesse der *-flat.vmdk = nominelle Groesse = dann hat man eine thick provisioned vmdk
Ist die *-flat.vmdk kleiner als die nominelle Groesse ist dann hat man eine thin-provisioned vmdk

Ich habe mal eine TESTVM angelegt und beim Erstellen der 10GB Disk den Haken bei "Speicherplatz nach Bedarf zuteilen" gesetzt.
Im vSphere Client sehe ich dann in der Übersicht der Virtuellen Maschinen, dass der bereitgestellte Speicher 10.5GB beträgt, der verwendete Speicher allerdings nur 2.28kB.

Schaue ich im vSphere Client in den datastore, sehe ich die *-flat.vmdk gar nicht, sondern nur die *.vmdk mit 0kB ...

In der ssh-console wiederum wird mir mit ls -l immer die bereitgestellte Größe angezeigt ...
df -h zeigt jedoch an, dass keine 10GB dazugekommen sind ...

Ich weiss, dass es mit dem Dateisystem zusammenhängt.
Aber dann verstehe ich Ulli's Aussage nicht ...

Wie lege ich denn eine thin-provisioned Disk an, deren *-flat.vmdk nur die tatsächlich genutzte Größe anzeigt?

In der Hoffnung auf Erleuchtung ;)

Benutzeravatar
UNSTERBLICH(R.I.P.)
Beiträge: 14759
Registriert: 09.08.2003, 05:41
Wohnort: sauerland
Kontaktdaten:

Beitragvon continuum » 04.01.2011, 15:40

Wie lege ich denn eine thin-provisioned Disk an, deren *-flat.vmdk nur die tatsächlich genutzte Größe anzeigt?


Das problem ist hier eher die Anzeige - viclient und unterschiedliche ls befehle zeigen hier unterschiedliches an

Member
Beiträge: 32
Registriert: 07.10.2009, 12:30

jep

Beitragvon elmuchacho » 04.01.2011, 16:23

das stimmt ...
aber es wäre hilfreich, wenn man die vmdk in ihrer tatsächlichen größe kopieren könnte.
Das geht bei mir derzeit nur durch

Code: Alles auswählen

vmkfstools -i orgdisk.vmdk copydisk.vmdk -d 2gbsparse

Dann habe ich zwar viele files, aber wenigstens nicht mehr 10GB groß ...

Benutzeravatar
Moderator
Beiträge: 3476
Registriert: 23.02.2005, 09:14
Wohnort: Burgberg im Allgäu
Kontaktdaten:

Beitragvon Tschoergez » 04.01.2011, 17:05

Hi!
welche Version vom ESX verwendest Du denn genau?
Denn auch "ls" zeigt nicht mehr die aktuell verwendete Größe, sondern die zugeteilte Größe von thin-provisioned Platten an.

Mit "du" bzw. "df" bzw. "vdf" solltest Du den wirklich verbrauchten Platz sehen.
Mit ls -s bzw. ls -S müsstest Du auch die "verbratene" Größe sehen können.

edit: Ich glaube übrigens, das Verhalten von ls hat sich mit bei der Version 4.1 erst zum jetzigen verändert. Drum können die alten Aussagen in diesem Thread durchaus für die 4.1er Version nicht mehr gelten...

viele grüße,
jörg

Member
Beiträge: 32
Registriert: 07.10.2009, 12:30

ok

Beitragvon elmuchacho » 05.01.2011, 08:32

"du" und "vdf" unktionieren auf meinem ESXi überhaupt nicht. Der Aufruf wird mit "not found" quittiert ...

"df -h" zeigt schon die tatsächlich belegten Werte an ...

Allerdings passen alle Angaben, die ich via SSH auf dem ESXi sehe nicht zu den Angaben im vSphere Client ...

Dort wird mir z.B. folgende Werte angezeigt:
bereitgestellt : 102GB
belegt : 6,35GB

auf dem ESXi ergibt das:

Code: Alles auswählen

/vmfs/volumes/4ac6a05e-c42169d8-a4fe-001b2140ff12/ubuntu# ls -l | grep flat
-rw-------    1 root     root       107374182400 Jan  5 07:22 ubuntu-flat.vmdk

und

Code: Alles auswählen

/vmfs/volumes/4ac6a05e-c42169d8-a4fe-001b2140ff12/ubuntu # ls -s | grep flat
50872320 ubuntu-flat.vmdk

und in der eigentlichen VM dann:

Code: Alles auswählen

root@srvubuntu:/home/support# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              96G   36G   55G  40% /
varrun                2,0G  116K  2,0G   1% /var/run
varlock               2,0G     0  2,0G   0% /var/lock
udev                  2,0G   44K  2,0G   1% /dev
devshm                2,0G     0  2,0G   0% /dev/shm

und ein

Code: Alles auswählen

vmdkfstools -i ubuntu.vmdk zarafa640.vmdk -d 2gbsparse

ergab dann

Code: Alles auswählen

-rw-------    1 root     root          142016512 Jan  4 21:20 ZARAFA640-s001.vmdk
-rw-------    1 root     root            2883584 Jan  4 21:20 ZARAFA640-s002.vmdk
-rw-------    1 root     root            3342336 Jan  4 21:20 ZARAFA640-s003.vmdk
-rw-------    1 root     root            2949120 Jan  4 21:20 ZARAFA640-s004.vmdk
-rw-------    1 root     root         1315110912 Jan  4 21:21 ZARAFA640-s005.vmdk
-rw-------    1 root     root         1990524928 Jan  4 21:23 ZARAFA640-s006.vmdk
-rw-------    1 root     root            1769472 Jan  4 21:23 ZARAFA640-s007.vmdk
-rw-------    1 root     root          337182720 Jan  4 21:24 ZARAFA640-s008.vmdk
-rw-------    1 root     root          422313984 Jan  4 21:24 ZARAFA640-s009.vmdk
-rw-------    1 root     root         1638268928 Jan  4 21:26 ZARAFA640-s010.vmdk
-rw-------    1 root     root         2131034112 Jan  4 21:28 ZARAFA640-s011.vmdk
-rw-------    1 root     root         2130771968 Jan  4 21:31 ZARAFA640-s012.vmdk
-rw-------    1 root     root         2131820544 Jan  4 21:33 ZARAFA640-s013.vmdk
-rw-------    1 root     root         1715929088 Jan  4 21:34 ZARAFA640-s014.vmdk
-rw-------    1 root     root          690290688 Jan  4 21:35 ZARAFA640-s015.vmdk
-rw-------    1 root     root            1703936 Jan  4 21:35 ZARAFA640-s016.vmdk
-rw-------    1 root     root            1703936 Jan  4 21:35 ZARAFA640-s017.vmdk
-rw-------    1 root     root         1964113920 Jan  4 21:37 ZARAFA640-s018.vmdk
-rw-------    1 root     root         2131034112 Jan  4 21:39 ZARAFA640-s019.vmdk
-rw-------    1 root     root         2131034112 Jan  4 21:41 ZARAFA640-s020.vmdk
-rw-------    1 root     root         2131099648 Jan  4 21:43 ZARAFA640-s021.vmdk
-rw-------    1 root     root         2126643200 Jan  4 21:45 ZARAFA640-s022.vmdk
-rw-------    1 root     root         2131034112 Jan  4 21:48 ZARAFA640-s023.vmdk
-rw-------    1 root     root         1632960512 Jan  4 21:50 ZARAFA640-s024.vmdk
-rw-------    1 root     root          377356288 Jan  4 21:50 ZARAFA640-s025.vmdk
-rw-------    1 root     root          474939392 Jan  4 21:51 ZARAFA640-s026.vmdk
-rw-------    1 root     root          450887680 Jan  4 21:51 ZARAFA640-s027.vmdk
-rw-------    1 root     root          441516032 Jan  4 21:52 ZARAFA640-s028.vmdk
-rw-------    1 root     root          443613184 Jan  4 21:52 ZARAFA640-s029.vmdk
-rw-------    1 root     root          493944832 Jan  4 21:53 ZARAFA640-s030.vmdk
-rw-------    1 root     root          492437504 Jan  4 21:54 ZARAFA640-s031.vmdk
-rw-------    1 root     root          379846656 Jan  4 21:54 ZARAFA640-s032.vmdk
-rw-------    1 root     root          404553728 Jan  4 21:54 ZARAFA640-s033.vmdk
-rw-------    1 root     root          469499904 Jan  4 21:55 ZARAFA640-s034.vmdk
-rw-------    1 root     root         1009647616 Jan  4 21:56 ZARAFA640-s035.vmdk
-rw-------    1 root     root         1158807552 Jan  4 21:57 ZARAFA640-s036.vmdk
-rw-------    1 root     root          873988096 Jan  4 21:58 ZARAFA640-s037.vmdk
-rw-------    1 root     root          457834496 Jan  4 21:59 ZARAFA640-s038.vmdk
-rw-------    1 root     root          725352448 Jan  4 22:00 ZARAFA640-s039.vmdk
-rw-------    1 root     root         2128084992 Jan  4 22:02 ZARAFA640-s040.vmdk
-rw-------    1 root     root         2131558400 Jan  4 22:04 ZARAFA640-s041.vmdk
-rw-------    1 root     root         2130903040 Jan  4 22:06 ZARAFA640-s042.vmdk
-rw-------    1 root     root         2104033280 Jan  4 22:09 ZARAFA640-s043.vmdk
-rw-------    1 root     root         1390804992 Jan  4 22:10 ZARAFA640-s044.vmdk
-rw-------    1 root     root         1264779264 Jan  4 22:12 ZARAFA640-s045.vmdk
-rw-------    1 root     root           26411008 Jan  4 22:12 ZARAFA640-s046.vmdk
-rw-------    1 root     root          125108224 Jan  4 22:12 ZARAFA640-s047.vmdk
-rw-------    1 root     root           15794176 Jan  4 22:12 ZARAFA640-s048.vmdk
-rw-------    1 root     root             327680 Jan  4 21:19 ZARAFA640-s049.vmdk
-rw-------    1 root     root             327680 Jan  4 21:19 ZARAFA640-s050.vmdk
-rw-------    1 root     root              65536 Jan  4 21:19 ZARAFA640-s051.vmdk
-rw-------    1 root     root               2488 Jan  4 22:12 ZARAFA640.vmdk


sehr verwirrend für mich ...
auf jeden Fall heisst das für mich, dass ich der Anzeige im vSphere Client nicht wirklich trauen kann ...

unter anderem habe ich dort auch eine VM mit einer HD a 100GB (thick)
diese wird allerdigns angezeigt als "bereitgestellt 200GB, belegt 100GB" ...
es gibt aber nur eine Datei a 100GB ...

Benutzeravatar
Moderator
Beiträge: 3476
Registriert: 23.02.2005, 09:14
Wohnort: Burgberg im Allgäu
Kontaktdaten:

Beitragvon Tschoergez » 05.01.2011, 09:37

Erstmal zu den Disk-Typen:
Thick-Platten werden beim anlegen gleich in er kompletten Größe angelegt (pre-allokiert). D.h. wenn Du eine 100GB thick platte anlegst, bekommst Du eine 100GB -flat.vmdk und die 100GB sind "verbraucht" auf dem Datastore.

Thin-Platten wachsen: Wenn Du da eine 100GB-Platte anlegst, bekommst Du eine kleine -flat.vmdk, und je mehr Blöcke vom Gast-OS belegt sind, um so größer wird die -flat.vmdk

2gb-spare platten sind wie thin-platten, nur dass sie in "Chunks" mit max. 2GB aufgeteilt sind. Beim ESX macht das eigentlich keinen Sinn, bringt keine Vorteile (performancetechnisch sogar eher nachteile). Gedacht ist das f. VMware Server und Workstation, weil da die 2GB-Häppchen leichter auf FAT-Partitionen liegen, via FTP übertragen werden können usw.

Das Gast-OS merkt von alledem nix, das sieht immer eine 100GB-Platte.

Wie viel jetzt wirklich belegt ist, siehst Du mit ls -s . ls -ahl zeigt in der aktuellen Version immer die Größe der virtuellen Platte an, (also im Beispiel die 100GB), auch wenn die thin ist und noch nicht die ganzen 100GB wirklich belegt sind.

Der vSphere Client zeigt in er Summary einer VM beim verwendeten Speicher den Plattenplatz an, den die ganzen Dateien der VM aktuell wirklich verbrauchen (inkl. belegtem Thin-plattenplatz, swap-Dateien, snapshots)
Der bereitgestellte Speicher zeigt das an, was die VM maximal brauchen kann (wenn also die thin-platten komplett belegt wären, und die Snapshots komplett "aufgefüllt" sind).
(Mit diesem Wert musst Du rechnen, wenn Du ganz auf nummer sicher gehen willst).

In Deinem Fall hat die VM also wahrscheinlich einen Snapshot (der auch nochmal 100GB groß werden kann, drum kommts auf die 200GB bereitgestellter speicher).
Wenn Du testhalber der VM mal 8GB RAM einbaust, kommen da dann nochmal 8GB bereitgestellter speicher für die Swap-Datei dazu.

Im Tab "Speicheransichten" /Storage Views kannst Du Dir von einer VM auch alle Dateien anzeigen (siehe screenshot). Der zeigt die wirklich belegte Größe der Dateien an.

Bild

Viele Grüße,
Jörg

Member
Beiträge: 32
Registriert: 07.10.2009, 12:30

danke danke

Beitragvon elmuchacho » 05.01.2011, 11:08

sehr ausführlich und hilfreich ...
danke ...

In Deinem Fall hat die VM also wahrscheinlich einen Snapshot (der auch nochmal 100GB groß werden kann, drum kommts auf die 200GB bereitgestellter speicher).

leider nicht ...
KEIN Snapshot vorhanden und auch via SSH nur eine 100GB Datei vorhanden ...
Im Tab "Speicheransichten" /Storage Views kannst Du Dir von einer VM auch alle Dateien anzeigen

auch nicht ...

Ich habe irgendwie auch ganz andere Reiter bei einer angewählten VM ...
meine heißen: Erste Schritte, Übersicht, Ressourcenzuteilung, Leistung, Ereignisse, Konsole und Berechtigungen ...
mehr habe ich da nicht ...

[/code][/quote]

King of the Hill
Beiträge: 13058
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 05.01.2011, 11:26

Der Jörg hat ein vCenter und du evtl. nur einen Standalone Host? Da liegen dann Welten zwischen :)

Gruss
Joerg

Benutzeravatar
Moderator
Beiträge: 3476
Registriert: 23.02.2005, 09:14
Wohnort: Burgberg im Allgäu
Kontaktdaten:

Beitragvon Tschoergez » 05.01.2011, 13:08

:oops: Oh, Shit!
Das stimmt natürlich, da hab ich gar nicht daran gedacht. (Wer hat schon KEIN vCenter 8) :grin: ?!?)

Mach doch mal nen Screenshot vom "Übersicht"-Tab der VM und vom "Einstellungen bearbeiten..."-Dialog.

Mit vmkfstools -i wird die virtuelle Platte übrigens kopiert (und dabei umgewandelt), d.h. danach hast Du die Platte zweimal!

Viele Grüße,
Jörg

Member
Beiträge: 11
Registriert: 22.08.2008, 21:30

Beitragvon rafffiii » 14.05.2011, 23:51

das Thema ist zwar schon ein bisschen älter aber bevor ich ein neues thema aufmach...

gibt es jetzt eine möglichkeit die vmdk zu verkleinern?
mir geht es vor allem darum das ich meine VM's ja auch sichern will und eigentlich ungern über 75% an ungenutzten speicherplatz mitsichern möchte. heißt ich müsste bei meinen 4 VM's 200GB statt eigentlich ca . 40 GB sichern.
Unter VMWare Server 2 konnte ich sogar noch alle VM's packen und damit nochmal platz und damit Traffic sparen.

Danke schon mal

Raffi

King of the Hill
Beiträge: 13058
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 15.05.2011, 11:28

Durch den Converter schicken oder Vizioncore vOptimizer verwenden.

Gruss
Joerg

Benutzeravatar
Guru
Beiträge: 3138
Registriert: 22.02.2008, 20:01
Wohnort: Hessen

Beitragvon PeterDA » 15.05.2011, 12:26

Hi,
wenn es dir nur um das Backup geht, würde ich mir mal den vRanger anschauen. Der scannt es auch sehr intelligent nicht benutzten Speicher einfach nicht mit zu sichern.

Grus Peter


Zurück zu „ESXi 4“

Wer ist online?

Mitglieder in diesem Forum: Google Adsense [Bot] und 7 Gäste