VirtualBox - Festplatte voll

nierewa

Lt. Junior Grade
Registriert
Juni 2008
Beiträge
414
Hallo,

ich habe eine virtuelle Maschine in VirtualBox erstellt.
Diese hat eine dynamische Festplatte mit 450GB eingebunden.
Die dynamische Festplatte in der virtuellen Maschine ist zu 180GB belegt, 270GB sind also noch frei.

Trotzdem belegt die Festplatte auf der SSD (476GB), auf der sie sich befindet, 422GB plus 1 Snapshot,
so das nur noch ein paar Megabyte frei sind.
So kann die virtuelle Maschine nicht mehr starten und bricht dem Fehler ab:

Code:
The I/O cache encountered an error while updating data in medium "ahci-0-0" (rc=VERR_DISK_FULL).

Klar. Die Festplatte ist voll.

Wie kann das sein? Was kann ich tun?
Die dynamische Platte sollte doch gar nicht so groß sein, oder!?

Hoffe ich konnte alles verständlich erklären :p
 
Die dynamische Platte wächst eben mit dem was beschrieben wird. Wie soll der Host wissen, welche Daten nun wieder gelöscht wurden? Das ist ja auch Dateisystemebene, nicht auf Hardwareebene wo der Host die Kontrolle hat.

VBoxManage kann so virtuelle Platten normal wieder verkleinern. Schau dir da mal Anleitungen an
 
VBoxManage.exe modifyhd c:\path\to\thedisk.vdi --compact

ausgeführt. Jetzt sind wieder 400 MB frei auf der Hostplatte.
Aber das kann doch noch nicht alles sein bg

Kannst Du mir einen Hinweis geben?
Ich weiß ja noch nicht mal, wo ich die Anleitung finde ☺️

Edit:
Ich konnte die Maschine starten. Wie gesagt, es waren 400MB frei.
Jetzt, kurz nach dem Start wieder Error: ... es sind auf der Hostplatte nur noch 600kB :confused_alt::confused_alt:
 
nierewa schrieb:
Jetzt, kurz nach dem Start wieder Error: ... es sind auf der Hostplatte nur noch 600kB :confused_alt::confused_alt:
Das Betriebssystem schreibt natürlich jede Menge beim start. Und wenns nur Auslagerungsdaten sind :D

Du musst deutlich mehr freischaufeln.
Ergänzung ()

nierewa schrieb:
Kannst Du mir einen Hinweis geben?
Ich weiß ja noch nicht mal, wo ich die Anleitung finde ☺️
Hier:
https://www.virtualbox.org/manual/ch08.html

Grundsätzlich: Die Hostplatte darf nie kleiner als die des Gastes sein. Sonst ist es einfach falsch eingerichtet. Diese virtuellen Platten gibt es einfach nur, falls man viele Systeme laufen hat und nicht sofort den ganzen Speicher jeder Instanz geben will unnötig. Aber wenn man nicht mal für ein System genügen Hostspeicher hat, dann ist das natürlich komplett falsch eingerichtet und der Host nicht geeignet.
Was am Client angezeigt wird als leer ist dabei irrelevant. Der Host kann glaub ich nur 0er ignorieren und damit die Platte wieder verkleinern. Normal überschreibt aber Windows keine gelöschten Daten mit 0 sondern löscht lediglich die Verweise auf die Daten, so dass sie überschrieben werden können (deshalb gibt es überhaupt Progamme, die Dateien wiederherstellen können).

Sorry, aber du doktorst hier an dem Symptom rum, du musst aber die Ursache beheben
 
Grundsätzlich: Die Hostplatte darf nie kleiner als die des Gastes sein. Sonst ist es einfach falsch eingerichtet.
Ist sie ja auch nicht. Die Hosplatte ist 500GB (476) und die des Gastes 450GB. Also kleiner.

Der Host kann glaub ich nur 0er ignorieren und damit die Platte wieder verkleinern.
Deshhalb:
Code:
 Before you compress the image, you must use a suitable software tool to zero out free space in the guest system.
For example:

    Windows guests. Run the sdelete -z command.

Hmm, aber wie wenn ich die virtuelle Maschine nicht starten kann?
Das fällt ja aus.
 
Zuletzt bearbeitet:
naja, du hast mit den snapshots eben zuviel belegt, also ist der host zu klein.
Snapshots löschen oder größere Hostplatte nutzen.

Oder die VM wo anders starten, die Platte dort säubern und dann verkleinern.
Aber auch das ist nur ein Pflaster auf ein falsch konfiguriertes System und du wirst das Problem wieder haben früher oder später.
Was dir noch bleibt, wenn der Host gleich bleiben soll: Die Gast-Platten Partition verkleinern, dann image ziehen, neues System anlegen mit kleinerer Platte und Image wieder drauf.
 
Aber auch das ist nur ein Pflaster auf ein falsch konfiguriertes System....
Wie soll es denn besser konfiguriert werden?

Ich verstehe das dynamisch doch anders funktioniert als ich dachte.
Die Größe wird nicht automatisch angepaßt sondern steigt mit jedem Byte was geschrieben wird.
Ist ja auch logisch wenn man mal drüber nachdenkt ;)

Aber dann endet auch schon der Lichtblitz...
 
Ich sag mal so:
Mach dir Gedanken, wieviel du wirklich beim Gast brauchst.
Dann dimensioniere den Host aufs mind. 1,5fache, dann bist du safe und hast immer Puffer.
Da kannst dann auch mehrere so System laufen lassen und wenns eng wird eines umziehen.
 
Ok.

Kennst Du ein Tool mit dem ich die vdi bearbeiten kann?
Also Dateien löschen usw. ?
 
Nein, aber da hab ich jetzt auch nicht gesucht danach.
Ich würds einfach auf ne externe Platte schieben und dort verkleinern. Einfachster Weg
 
Provisierung hast du Thin genommen oder?
Gibts das nicht nur bei VMware?

Dann dimensioniere den Host aufs mind. 1,5fache, dann bist du safe und hast immer Puffer.
Noch eine Frage zum Verständnis.
Würde die Größe dann nicht aber auch immer weiter anwachsen wenn viele Dateien geschrieben und wieder gelöscht werden? Oder "wächst" die VDI dann nur bis zur angegebenen Größe?
 
nierewa schrieb:
...
Trotzdem belegt die Festplatte auf der SSD (476GB), auf der sie sich befindet, 422GB plus 1 Snapshot,
so das nur noch ein paar Megabyte frei sind.
...
Könnte estwas mit der Fragmentierung der Daten im Gastsystem zu tun haben, wenn eine Datei am Anfang der virtuellen Platte liegt und eine am Ende, dann belegt das Gastsystem den ganzen zugewiesenden Speicher auf dem Host. Wenn man nun die Datei vom Ende auch an den Anfang schiebt, dann kann das Tool die VDI auch wieder physikalisch verkleiner, da ja dann keine Daten mehr am Ende existieren.
Hoffe habe mich halbwegs verständlich ausgedrückt wie ich das meine.
 
nierewa schrieb:
Trotzdem belegt die Festplatte auf der SSD (476GB), auf der sie sich befindet, 422GB plus 1 Snapshot,
so das nur noch ein paar Megabyte frei sind.
So kann die virtuelle Maschine nicht mehr starten und bricht dem Fehler ab
Theoretisch könntest Du eine Menge an Speicher auf der Host-Partition zurückgewinnen, indem Du den Snapshot per VBox auflöst. Anschließend könntest Du dann innerhalb der virtuellen Disk geeignete Aufräumarbeiten vornehmen lassen, sodass im Anschluß daran, sich per VBox-Compact die virtuelle Disk erheblich verkleinern ließe.
Praktisch dürfte das aber schon beim ersten Schritt daran scheitern, dass beim Auflösen des Snapshots einfach zu wenig Workspace für VirtualBox vorhanden ist, um die Zusammenlegung von VM-Disk und Snapshot durchführen zu können.

Und ja, eine virtuelle Disk kann im ungünstigsten Fall ihre virtuelle Endgröße überschreiten. Also z.B. eine auf 450 GB angelegte virtuelle Disk könnte auf einen größeren Wert aus Sicht des Hosts anwachsen.
 
Zurück
Oben