Ich verwende Windows Server 2008r2 mit der Rolle Hyper-V. Das Gastsystem ist Ubuntu 12.04 LTC. Es befindet sich auf der dynamischen virtuellen Festplatte.
Ich möchte diese VHD komprimieren (Die tatsächliche Größe beträgt 50 GB, 360 GB auf der Festplatte). Das kann ich aber nicht, da das Ubuntu-Dateisystem kein NTFS ist. Was brauche ich (gparted, sdelete, ...), um dieses Problem zu lösen?
Das Hauptproblem ist, dass das Dateisystem nicht NTFS ist, sondern ext4.
Die Antwort:
1) Laden Sie systemrescuecd herunter
2) Füge diese .iso zur Quest OS Ubuntu hinzu
3) Starten Sie diese virtuelle Maschine
4) Verwenden Sie nullfrei
zerofree /dev/sda1
5) Schalten Sie diese virtuelle Maschine aus
6) Verwenden Sie den Hyper-V-Manager (Bearbeiten -> Defragmentierung).
Dieser VHD war 360 GB. Jetzt 70 GB.
fstrim
im Jahr 2019, insbesondere für ext4 unter LVM superuser.com/questions/1491437/…Antworten:
Schalten Sie Ihre VM aus, sichern Sie die virtuelle Festplatte und führen Sie eine andere virtuelle Maschine aus (ich verwende SystemRescueCD, da diese klein und schnell ist), für die die ext4-Partition verfügbar ist, dh eine Festplatte für SysRescue (aber mounten Sie sie nicht!). Führen Sie auf der SysRescue-VM " zerofree " auf der ext4-Partition aus, schalten Sie diese VM aus und verwenden Sie dann Ihre Administrationswebsite, um die VHD zu komprimieren.
quelle
Ich kann bestätigen: zerofree arbeitet daran, virtuelle Festplattendateien zu komprimieren
ABER: Sie müssen keine Rettungs-CDs verwenden oder die VHDX in einer anderen virtuellen Maschine mounten:
Booten Sie im abgesicherten Modus und führen Sie dann Folgendes aus:
Danach müssen wir die Optimierung für die virtuelle Festplattendatei starten. Erstellen Sie auf dem Server, auf dem sich die VHDX-Datei befindet, die folgende Datei ShrinkVhdx.ps1:
Und jetzt starte die Datei und genieße den freigegebenen Speicherplatz :-)
quelle
Der Prozess scheint zu sein
nämlich
Dies erzeugt eine Datei mit dem Namen
oooooooo.ooo
gefüllt mit0
s. Sie sollten den Befehl sfill auf allen Partitionen wiederholen, denke ich.Beachten Sie, dass dies auch nicht schnell geht. Es dauert Stunden, wenn nicht Tage.
quelle
1) Laden Sie systemrescuecd herunter
http://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/3.8.1/systemrescuecd-x86-3.8.1.iso/download
2) Füge diese .iso zur Quest OS Ubuntu hinzu
3) Starten Sie diese virtuelle Maschine
4) Verwenden Sie nullfrei
nullfrei / dev / sda1
5) Schalten Sie diese virtuelle Maschine aus
6) Verwenden Sie den Hyper-V-Manager (Bearbeiten -> Defragmentierung).
quelle
Ich habe versucht, Systemrescuecd auf einem Computer der 2. Generation zu starten. Aber es hat nicht funktioniert, also habe ich eine neue Maschine der 1. Generation erstellt und die VHDX hinzugefügt. systemrescuecd gestartet. Ich habe keine Operationen durchgeführt. Entfernen Sie die Maschine der 1. Generation und setzen Sie die VHDX wieder in die ursprüngliche Maschine ein. Dann startete Ubuntu überhaupt nicht. Nur Grub-Menü.
Siehe meinen Beitrag hier: Hyper-V Ubuntu vhdx scsi ide
Also sei dir dessen bewusst und mache ein Backup (diesmal habe ich es nicht gemacht) ...
quelle
Sie können dies tun, indem Sie einige Parameter in den folgenden Dateien überprüfen: / sys / block // queue / discard_granularity / sys / block // queue / discard_max_bytes Wenn beide eine 0 haben, wird dies wahrscheinlich von Ihrer Hardware- + Softwarekonfiguration nicht unterstützt.
Ein vollständiges Tutorial dazu finden Sie unter: http://www.1337admin.org/uncategorized/compacting-virtual-disks-on-generation-2-linux-hyper-v-2012-r2-vms/
quelle