Ich hoste mehrere virtuelle Maschinen auf einem Host, auf dem Hyper-V Server 2008 R2 ausgeführt wird. Die Festplatten wurden ursprünglich vor etwa 16 Monaten auf einem anderen Server (2008, nicht R2) bereitgestellt und vor einem Jahr auf diesen Server migriert. Die meisten Gäste verwenden Windows 7.
Kürzlich habe ich die VHD-Größe mit dem vom Gast gemeldeten genutzten Speicherplatz verglichen und festgestellt, dass mehrere Computer VHD-Dateien hatten, die 50-100% größer waren als tatsächlich benötigt. Deshalb habe ich beschlossen, die VHD-Dateien zu komprimieren, um Speicherplatz auf dem Host freizugeben. Ich folgte den Anweisungen, die ich im Internet gefunden hatte, ungefähr wie folgt:
- Führen Sie CHKDSK auf dem Gastcomputer aus
- Führen Sie eine Defragmentierung auf dem Gastcomputer aus (integrierte Windows-Defragmentierung).
- Schalte den Gast aus
- Öffnen Sie das Tool "Edit Disk ..." in Hyper-V Manager
- Wählen Sie die gewünschte VHD aus und komprimieren Sie sie
Als ich das zum ersten Mal versuchte, funktionierte es einwandfrei und reduzierte die Größe meiner VHD um etwa 50%. Aber für die Festplatten aller anderen Gäste erhalte ich folgende Fehlermeldung:
The server encountered an error trying to edit the virtual disk.
'The system failed to compact 'C:\example.vhd'. Error Code: The requested
operation could not be completed due to a file system limitation
Bei keinem Gast ist die NTFS-Komprimierung aktiviert. Es gibt keine Schnappschüsse dieser Datenträger. Was könnte diesen Fehler sonst noch verursachen?
Bearbeiten : Bonuspunkte für alle, die eine Lösung beschreiben, um dynamische VHD-Größen automatisch in Schach zu halten.