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!

Shrink verkleinert vmdk nicht?!

Hilfe bei Problemen mit der Installation und Benutzung der VMware Workstation und VMware Workstation Pro.

Moderatoren: irix, continuum, Dayworker

Member
Beiträge: 7
Registriert: 19.05.2006, 10:29

Shrink verkleinert vmdk nicht?!

Beitragvon Benni » 19.05.2006, 11:10

Guten Tag,

Ich nutze VMWare 5.5.1. Darin läuft ein Debian Sarge 3.1. Die vmdk ist independent-persistent und mittlerweile 46GB groß obwohl sich nur noch ~15GB Daten darin befinden.
Zu Backupzwecken wollte ich nun folgendermassen vorgehen. vmdk an einen anderen Ort kopiert und unter XP-ProSP2 folgendes machen:

1. vmware-vdiskmanager -d zum defragmentieren -- ist erfolgreich durchgelaufen
2. vmware-vdiskmanager -k zum shrinken -- ist durchgelaufen aber Ergebnis ist wieder 46GB ????
3. vmware-vdiskmanager -r disk.vmdk -t 1 new.vmdk um in 2GB Häppchen zu teilen -- geht auch.

Mein Problem ist nun Schritt 2. Warum wird die vmdk nicht kleiner? Partitionierung im Debian Gast sieht so aus:

Dateisystem Größe Benut Verf Ben% Eingehängt auf
/dev/sda1 4,6G 1,3G 3,2G 29% /
tmpfs 227M 0 227M 0% /dev/shm
/dev/mapper/daten 92G 13G 75G 15% /daten

daten ist mit dmcrypt verschlüsselt, also dachte ich das es daran liegt und habe auf dem Gast xserver usw installiert um die vmware-tools nutzen zu können während das cryptofs eingehängt ist, aber auch das brachte keine verkleinerung der vmdk.

Mache ich da irgendeinen Denkfehler oder warum bleibt die vmdk immer bei 46GB?

Member
Beiträge: 383
Registriert: 03.10.2005, 03:29

Beitragvon al!ve » 19.05.2006, 12:22

Mal wieder kann ich nichts genaues sagen sondern nur vermuten.

Was tut denn "Shrink"? Um alle "leeren Bereiche" entfernen zu können, muss VMWare diese auch erkennen. Ein verschlüsseltes Dateisystem hat in der Regel die Eigenschaft, über den kompletten Bereich "sehr zufällig" auszusehen. Einer der Schutzeigenschaften ist eben, dass ein Angreifer nicht einmal sieht, wo auf der Platte sich Daten befinden, die sich evtl zu entschlüsseln lohnen. So wird auch VMWare nicht sehen können, welche Bereiche nun belegt (sinnvoll beschrieben) und welche leer (im Fall eines verschlüsselten Dateisystems eben "sinnlos beschrieben") sind.

Ich denke, dass ein verschlüsseltes Dateisystem nicht verkleinert werden kann. Auch kann aufgrund der Natur von "annähernd zufälligen Daten" ein Kompressionsalgorithmus vermutlich nicht all zu viel reißen.

Member
Beiträge: 7
Registriert: 19.05.2006, 10:29

Beitragvon Benni » 19.05.2006, 13:07

Hmmmm soweit habe ich die Sache noch gar nicht gedacht :(
Aber vermutlich könntest du Recht haben.
Also muss ich die partition löschen dann die vmdk shrinken und danach mein cryptfs neu anlegen.
Wenn das funktioniert hast du Recht mit deinen Ausführungen. Ich werde das umgehend mal testen.

Benutzeravatar
Profi
Beiträge: 992
Registriert: 07.08.2003, 09:32

Beitragvon looping » 19.05.2006, 14:37

ich vermute in die selbe richtung wie al!ve - wie soll shrink in der suppe zwischen sinnvollen daten und dem salt unterscheiden? die sichersten daten sind übrigens nicht die verschlüsselten - sondern die, die erst gar nicht auf der festplatte landen (frei nach bruce schneier).

Benutzeravatar
Moderator
Beiträge: 14752
Registriert: 09.08.2003, 05:41
Wohnort: sauerland
Kontaktdaten:

Beitragvon continuum » 19.05.2006, 15:43

wie soll shrink in der suppe zwischen sinnvollen daten und dem salt unterscheiden?


Genau fuer diesen Zweck schreibt man eine wiper-file - dass macht man im Gast selber (oder vom Host aus - wenn dieser das Dateisystem des Gasts beherrscht)

Mit der wiperfile wird dann das unrefernzierte Datengehacksel ueberschrieben - uebrig bleiben dann grosse Inseln mit Nullen - diese koennen dann von Shrink erkannt werden.

Es gibt verschiedene Varianten zur Erstellung der Wiperfile - beim vdiskmanager nimmt man "-p"

Ulli

Member
Beiträge: 7
Registriert: 19.05.2006, 10:29

Beitragvon Benni » 19.05.2006, 16:47

@continuum
Wie bewerkstellige ich das den auf dem Gast wenn dieser wie in meinem Fall Debian ist? Selbst wenn ich xserver installiere und die vmware-tools für linux installiere habe ich ja dann lediglich dieses eine Tool aber keinen vdiskmanager.
Und unter meinem XP host kann ich die cryptet partition nicht mounten.

Also wie soll ich dieses wiperfile unter der vmware erstellen während die cryptet part. eingehängt ist?

Experte
Beiträge: 1425
Registriert: 11.08.2004, 17:08
Wohnort: Paderborn

Beitragvon MSueper » 19.05.2006, 17:19

als root
dd if=/dev/zero of=/wiperfile bs=1024 count=X
rm /wiperfile
wobei X die Anzahl der freien Blöcke auf der Platte / ist. Für andere Partitionen ist das dann zu wiederholen und danach ist ein "defrag" oder "shrinkt" mit dem vdiskmanager zu machen, was Du oben bereits getan hattest.
Link: http://vmware-forum.de/viewtopic.php?t= ... =wiperfile

Member
Beiträge: 7
Registriert: 19.05.2006, 10:29

Beitragvon Benni » 20.05.2006, 03:45

Vielen Dank für eure Tips, aber es geht nicht, warum auch immer.

Zuerst habe ich auf dem gast das mit dem wiperfile gemacht auf der root Partition und dann auf der gecrypteten. Danach startx die vmare-toolbox gestartet und shrink angeklickt......46GB also keine Veränderung.

Dann habe ich die cryptet Partition gelöscht und eine neue leere unverschlüsselte erstellt, aber auch dann wurde die vmdk beim shrinken nicht kleiner....also ich verstehe wirklich nicht was ich falsch mache??

Experte
Beiträge: 1425
Registriert: 11.08.2004, 17:08
Wohnort: Paderborn

Beitragvon MSueper » 20.05.2006, 11:19

die vmware Tools bracht es nicht!!

bitte nur das wiperfile wie oben beschrieben anlegen und damit alle Blöcke "Nullen". Das Wiperfile löschen und dann den Gast herunterfahren und auf dem Host den vdiskmanager nutzen um die vmdk-Datei das Gastes zu schrumpfen.
Das ist alles.
Grüße, Martin

Member
Beiträge: 7
Registriert: 19.05.2006, 10:29

Beitragvon Benni » 20.05.2006, 11:44

auch das habe ich probiert, funktioniert aber leider auch nicht.
Was mich eben stutzig macht das auch nichts geshrinkt wird wenn die cryptet Partition gelöscht und eine neue formatierte leere nicht gecryptete Partition angelegt wird und ich dann unter dem wxp host vdiskmanager -k disk.vmdk ausführe bereits nach wenigen minuten die temp vmdk >5GB ist obwohl nur noch effektiv 1,3GB auf der originalen vmdk vorhanden sind.

Experte
Beiträge: 1425
Registriert: 11.08.2004, 17:08
Wohnort: Paderborn

Beitragvon MSueper » 20.05.2006, 12:17

Hallo,
Du hast also alle Partitionen genullt? Ja? Das Vorgehen muß für alle Mount-Points durchgeführt werden.
Bei trustix und Solaris funktioniert das prima. Es hängt natürlich dennoch davon ab, das vdiskmanager die genullten Blöcke auch als solche erkennt. Eine "verschlüsselte" Partition ist natürlich so nicht zu überlisten.
Wenn Du die verschl. Part. zunächst löscht, dann das Wiperfile erstellt, das wieder löscht und dann schrumpfst, könnte es gehen.
Ich bin aber inzwischen von dyn. wachsenden Part. abgekommen und nutze lieber kleine vorallokierte Partitionen in der Größe, wie man sie später braucht. Die verschlüsselte Part. würde sich an Deiner Stelle auf eine 2. Platte mit ca. 16GB vorallokiertem Platz legen.
Grüße, Martin

Member
Beiträge: 7
Registriert: 19.05.2006, 10:29

Beitragvon Benni » 20.05.2006, 12:52

So ich besorge mir gerade ein neues Backup der vmdk, dauert ein bissi übers netzwerk bei 46GB wenn einem nur 100mBit zur Verfügung stehen :(

Ich werde dann nochmal folgendermassen vorgehen:

1. Die cryptet Partition komplett löschen
2. Eine neue nicht gecryptete partition anlegen
3. Diese wird dann ext3 formatiert und eingehängt
4. root partition nullen
5. neue leere partition nullen (zur sicherheit)
6. vm runterfahren und per vdiskmanager das shrinken starten

Wenn ich das so mache MUSS es doch formatieren?
Vielen Dank übrigends nochmal für deine Zeit und deine Ausführungen.
Ich glaube ich habe da damals wohl in der Tat einen Fehler begangen mit der wachsenden vmdk und nun muss ich dafür bezahlen *g*

Member
Beiträge: 7
Registriert: 19.05.2006, 10:29

Beitragvon Benni » 20.05.2006, 18:35

So ich wollte nochmal einen Bericht abgeben wie ich das nun alles gelöst habe.

Ich habe mir eine neue vmdk erstellt (jetzt auch in 2GB Happen) und darauf meine root Partition geklont.
Dann eine weitere welche nun mein cryptet fs enthält und auch dorthin den Inhalt geklont.
Nun wird es mir zwar immer noch passieren das die cryptet vmdk anschwillt im laufe der zeit, aber dann kann ich sie nach einem Backup problemlos löschen schnell neu erstellen und daten wieder drauf.
Ich denke das ist die komfortabelste Lösung wenn man ein cryptet fs unter Vmware nutzt!


Zurück zu „VMware Workstation und VMware Workstation Pro“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast