Einleitung
In diesem Dokument werden Optionen zum Freigeben von Speicherplatz innerhalb eines Thin-Provisioning Virtual Machine (VM) beschrieben, das sich auf HyperFlex befindet.
Anforderungen
Es gibt keine spezifischen Anforderungen für dieses Dokument
Verwendete Komponenten
Die Beispiele in diesem Dokument wurden auf VMware vSphere Hypervisor (ESXi) 6.5 validiert.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle verstehen.
Problem:
HyperFlex verfügt nicht über einen Mechanismus, um Speicherplatz innerhalb einer Thin Provisioning VM zurückzugewinnen, die freigegeben wird. Thin Provisioning ermöglicht das bedarfsgesteuerte Wachstum einer virtuellen Festplatte. Dies ermöglicht eine effizientere Nutzung des Speicherplatzes im Vergleich zur dicken Bereitstellung. Wenn Dateien auf einer Thin-Provisioning-virtuellen Festplatte gelöscht werden, wird die Festplattengröße nicht automatisch verringert. Der Grund dafür ist, dass das Betriebssystem nur die Indizes aus der Dateisystemtabelle löscht. Dies führt zum Aussehen der schnellen Löschung von Dateien, aber keine Rückgewinnung von Speicherplatz.
Lösung:
Speicherplatz innerhalb einer Microsoft Windows VM auf einem HyperFlex-Cluster zurücksetzen
In diesem Abschnitt finden Sie einige Optionen zur Rückgewinnung von Speicherplatz auf Thin Provisioning Virtual Drives. Diese Tools null die gelöschten Datenblöcke. Bevor Sie eine Operation ausführen, bei der Blöcke mit Null beginnen, stellen Sie sicher, dass Sie Sicherungen haben. Stellen Sie außerdem sicher, dass keine vorherigen Snapshots auf der VM vorhanden sind, auf denen Sie die Schritte durchführen. Dazu gehören SENTINEL-Snapshots. Durch das Entfernen des SENTINEL-Snapshots wird die VM über einen längeren Zeitraum hinweg gestoppt. Sie können auswählen, das virtuelle System herunterzufahren, bevor Sie alle Snapshots entfernen, um das virtuelle System nicht zu infizieren.
Weitere Informationen zum VMware- und Snapshot-Management finden Sie in diesen Artikeln:
Eine Snapshot-Entfernung kann ein virtuelles System für eine lange Zeit blockieren.
Best Practices für die Verwendung von Snapshots in der vSphere-Umgebung
Speicherplatz auf Thinly Provisioned Disks auf Microsoft Windows VMs freigeben
SDelete ist ein kostenloses Dienstprogramm der Microsoft Sysinternals Suite, das verwendet wird, um Platz zurückzugewinnen.
Vorsicht: SDelete -z bewirkt, dass das Betriebssystem des virtuellen Systems bis zu 100 % des verfügbaren Speicherplatzes benötigt, während der freie Speicherplatz auf dem Computer auf Null reduziert wird. Dies führt zu einer vorübergehenden Steigerung des genutzten Speicherplatzes im Datenspeicher.
Wenn Sie den ENOSPC-Zustand erreicht haben oder einen Hyperflex-Cluster im schreibgeschützten Modus haben, beachten Sie bitte, dass dies möglicherweise kontraproduktiv ist. Wenn die Nutzung eines oder mehrerer VMDKs um bis zu 100 % (als Folge von SDelete) eine beträchtliche Steigerung der gesamten Hyperflex-Cluster-Speicherkapazität darstellt, muss diese mit Vorsicht verwendet werden.
Dieser Screenshot zeigt die VM VMDK-Seite vor der Ausführung von SDelete:
Nachdem Sie SDelete auf die Ziel-VM heruntergeladen haben, entpacken Sie die Datei.
Geben Sie cmd ein, um die Eingabeaufforderung zu öffnen. Klicken Sie mit der rechten Maustaste, und wählen Sie Als Administrator ausführen aus.
Navigieren Sie zu dem Verzeichnis, in dem Sie SDelete entpackt haben.
Geben Sie den Befehl sdelete.exe -z <Laufwerkbuchstabe>: ein, und klicken Sie auf Akzeptieren.
Dieser Screenshot zeigt die VM VMDK-Größe nach dem SDelete Betrieb:
Speicherplatz innerhalb eines Linux-VM auf einem HyperFlex-Cluster zurückgewinnen
Mit dem Dienstprogramm "Hinzufügen" können Sie die Bereiche, in denen die gelöschten Daten gespeichert sind, ausblenden. Geben Sie df -h ein, um den freien Speicherplatz auf dem Linux-Betriebssystem zu überprüfen.
Geben Sie den Befehl dd bs=1M count=90112 if=/dev/zero of=zero ein, um den leeren Platz zu verteilen.
Dieser Befehl sprengt 90 GB Platz. Ändern Sie diesen Befehl, um ihn an Ihr Anwendungsbeispiel anzupassen.
Untergliederung der Befehlseingabe:
bs ist die verwendete Blockgröße
Anzahl ist die Anzahl der Blöcke
if ist die Eingabedatei
von ist die Ausgabedatei
Danach wird die VMDK-Datei vergrößert.
Dieser Screenshot zeigt die Größe von VMDK in vCenter:
Geben Sie den Befehl rm zero ein, um das Leerzeichen zurückzufordern:
/$ sudo rm zero
[sudo] password for user: <---Enter password for user
In diesem Screenshot wird die VM VMDK-Größe in vCenter nach dem Löschen der Nulldateien angezeigt.
Zugehörige Informationen