Thick und Thin Provisioning: was ist der Unterschied?

In diesem Artikel werden wir den Aspekt der Vorabzuweisung von Speicherplatz der Einstellungen für virtuelle Festplatten im Detail betrachten und bringen in Erfahrung, was Thick und Thin Provisioning sind, wie sie sich unterscheiden und welche diese Typen der Vorabzuweisung von Speicherplatz  eignen sich besser für Ihre Infrastruktur

Versuchen Sie NAKIVO Backup & Replication:

„Best of VMworld 2018“, Ehrenpreisträger in Gold für Datenschutz

Thick Provisioning

Thick Provisioning ist eine Art von Speichervorbelegung. Bei Thick Provisioning wird die gesamte Menge an Speicherplatz auf dem virtuellen Datenträger beim Erstellen des virtuellen Laufwerks auf dem physischen Speicher vorbelegt. Ein virtuelles Laufwerk mit Thick Provisioning belegt den gesamten Speicherplatz, der ihm im Datenspeicher zugewiesen wurde, von Anfang an, sodass der Speicherplatz für andere virtuelle Maschinen nicht verfügbar ist.

Es gibt zwei Untertypen von virtuellen Festplatten mit Thick-Provisioning:

  • Ein Lazy-Zeroed-Datenträger ist ein Datenträger, der seinen gesamten Speicherplatz zum Zeitpunkt seiner Erstellung übernimmt, aber dieser Speicherbereich kann einige alte Daten auf dem physischen Datenträger enthalten. Diese alten Daten werden nicht gelöscht oder überschrieben, daher sollen sie „auf Nullpunkt eingestellt“ werden, bevor neue Daten in die Blöcke geschrieben werden können. Diese Art von Festplatte kann schneller erstellt werden, aber ihre Leistung wird bei den ersten Schreibvorgängen aufgrund der erhöhten IOPS (Ein- und Ausgabe-Befehle pro Sekunde) für neue Blöcke geringer sein.
  • Ein Eager-Zeroed-Datenträger ist ein Datenträger, der den gesamten erforderlichen Speicherplatz zum Zeitpunkt seiner Erstellung noch erhält und der Speicherplatz wird von allen vorherigen Daten auf dem physischen Datenträger gelöscht. Das Erstellen von eifrigen, vernullten Festplatten dauert länger, da Nullung auf die gesamte Festplatte geschrieben werden, ihre Leistung jedoch während der ersten Schreibvorgänge schneller ist. Dieser Untertyp von virtuellen Festplatten mit Thick-Provisioning unterstützt Clusterfunktionen wie Fehlertoleranz.

Thick provisioning

Aus Gründen des Datenschutzes ist Eager-Zeroing häufiger als das Lazy-Zero-Verfahren mit virtuellen Thick-Provisioning-Festplatten. Warum? Wenn Sie eine VMDK (Festplatte einer virtuellen Maschine) löschen, werden die Daten im Datenspeicher nicht vollständig gelöscht. Die Blöcke werden einfach als verfügbar markiert, bis das Betriebssystem sie überschreibt. Wenn Sie in diesem Datenspeicher eine virtuelle Festplatte mit Eager-Nullung erstellen, wird der Festplattenbereich vollständig gelöscht (das heißt auf Null eingestellt), sodass Personen mit schlechten Absichten nicht in der Lage sind, die vorherigen Daten wiederherzustellen – selbst wenn sie spezialisierte Software von Drittanbietern verwenden.

Thin Provisioning

Diese Provisionierung ist eine andere Art der Speichervorbelegung. Ein virtuelles Thin Provisioning-Laufwerk belegt nur den Speicherplatz, den es anfangs benötigt und wächst mit der Zeit je nach Bedarf.

Wenn Sie beispielsweise ein neues Thin Provisioning-Volume mit 30 GB erstellen und 10 GB an es kopieren, wird die Größe des der resultierenden VMDK-Datei wird 10 GB groß sein, während Sie eine 30 GB-VMDK-Datei haben würden, wenn Sie sich für die Verwendung einer Thick-bereitgestellten Festplatte entschieden hätten.

Thin Provisioning

Die virtuellen Thick-Provisioning-Festplatten sind schnell zu erstellen und auch nützlich zur Einsparung von Speicherplatz. Die Leistung einer Thin-Provisioning-Festplatte ist nicht höher als die einer Thick-Provisioning-Festplatte mit Lazy-Zero, da für diese beiden Festplattentypen Nullung geschrieben werden müssen, bevor Daten in einen neuen Block geschrieben werden. Beachten Sie, dass beim Löschen Ihrer Daten von einem virtuellen Thin-Provisioning-Laufwerk, die Festplattengröße nicht automatisch reduziert wird. Dies liegt daran, dass das Betriebssystem nur die Verzeichnisse aus der Dateitabelle löscht, die auf die Elemente von Dateirump verweisen; es markiert die Blöcke, die zu „gelöschten“ Dateien gehören, als frei und zugänglich für neue Daten, auf die geschrieben werden soll. Aus diesem Grund sehen wir sofort die Entfernung von Dateien. Wenn es eine vollständige Löschung wäre, bei der Nullung über die Blöcke geschrieben wurden, die die gelöschten Dateien belegten, würde dies ungefähr die gleiche Zeit erfordern, wie das Kopieren der fraglichen Dateien. Sehen Sie die vereinfachte Abbildung unten.

View from the operating system

Fragen und Probleme bei der Verwendung von virtuellen Thin-Provisioning-Festplatten

Die Bereitstellung von virtuellen Thin-Provisioning-Festplatten  ist nicht immer reibungslos. Es gibt einige Probleme, die Sie kennen und mit denen Sie umgehen sollten.

Laden Sie unser kostenloses Whitepaper (Informationsschrift) herunter: „Wie berechnet man das Wiederherstellungsziel und senkt man die Ausfallkosten?“.

Betrachten wir ein Beispiel, das die virtuellen Maschinen unbrauchbar macht. Zum Beispiel, haben wir einen Datenspeicher mit 20 GB, auf dem drei virtuelle Maschinen laufen. Jede virtuelle Maschine verfügt über einen Thin-Provisioning-virtuellen Datenträgersatz mit einer maximalen Größe von 10 GB. (Diese Vorgehensweise wird als „Überprovisionierung“ bezeichnet. Wir weisen die virtuellen Festplatten mehr Speicherplatz zu, als sie physisch belegen können. Dies wird häufig getan, da Sie das System skalieren können, indem Sie bei Bedarf mehr physischen Speicher hinzufügen.) Die Dateigröße von jedem virtuellen Laufwerk wird erweitert, sobald Daten hinzugefügt werden, bis kein freier Speicherplatz mehr im Datenspeicher vorhanden wird. Die Situation wird kritisch, wenn nur noch 1 GB freier Speicherplatz im Datenspeicher vorhanden ist, beispielsweise wenn VM1 8 GB, VM2 7 GB und VM3 – 4 GB belegen.

Regelmäßige Methoden zum Löschen von Dateien innerhalb virtueller Maschinen helfen nicht die virtuellen Thin-Provisioning-Laufwerke zu verkleinern. Wenn mehr als 1 GB neuer Daten auf eine dieser virtuellen Maschinen geschrieben wird, fallen alle drei aus und Sie müssen eine oder mehrere der virtuellen Maschinen in einen anderen Datenspeicher migrieren, um ihre aktiven Zustände wiederherzustellen.

Wie Sie die Dateigröße des Thin-Provisioning-virtuellen Laufwerks nach dem Löschen von Dateien reduzieren können

Um die VMDK-Dateigröße Ihrer virtuellen Thin-Provisioning-Laufwerke reduzieren zu können, müssen Sie wissen, wie Sie die zuvor gelöschten Blöcke zum Nullpunkt bringen können. Lassen Sie uns in Erfahrung bringen, wie das zu machen ist.

HINWEIS: Festplatte-Schrumpfoperationen sind nur dann möglich, wenn die virtuellen Maschinen keine Snapshots enthalten. Seien Sie bitte aufmerksam und führen Sie Befehle auf eigene Verantwortung aus. Sichern Sie immer alle wichtigen Daten, bevor Sie Laufwerksaktionen durchführen.

Schrumpfende Thin-Provisioning-VMware-Festplatten in Linux

Betrachten wir ein Beispiel: wir haben eine 10.266.496 KB (10GB) VMDK-Datei (wir haben von ihrer Größe erfahren, indem wir zum Verzeichnis auf dem Datenspeicher kamen, in dem sich unsere virtuelle Maschine befindet) und möchten die virtuelle Festplatte verkleinern, auf der das Gast-Linux-Betriebssystem installiert ist. Wir können versuchen, unnötige Dateien auf dieser virtuellen Festplatte zu löschen. Allerdings setzt Linux nicht automatisch Blöcke auf Null nach dem Löschen von Dateien; Sie müssen dies selbst tun. Sie können dies mit dem dd-Dienstprogramm (Daten-Duplikator) zum Kopieren und Konvertieren von Daten tun. Dieses Tool ist auf allen Linux-Systemen verfügbar.

HINWEIS: Bevor Sie das dd-Dienstprogramm ausführen, müssen Sie sicherstellen, dass der Datenspeicher über ausreichende Speicherkapazität verfügt, um es verwenden zu können (z.B. können Sie für ESXi-Server die Speicherkapazität im Speicherbereich von vSphere-Client überprüfen – gehen Sie zu Configuration >> Storage).

Verwenden wir das dd-Dienstprogramm.

  1. Zuerst überprüfen wir den freien Speicherplatz auf einer virtuellen Gast-Linux-Maschine mit dem Befehl df –h:
    			root@test-virtual-machine:/# df –h
    

    Wir erhalten die folgende Ausgabe in der Konsole:

    Filesystem   Size   Used   Avail   Use%   Mounted on
    			udev         469M   0      469M    0%     /dev
    			tmpfs        99M    6,3M   92M     7%     /run
    			/dev/sda7    17G    8,8G   6,4G    58%    /
    			tmpfs        491M   116K   491M    1%     /dev/shm
    			tmpfs        5,0M   4,0K   5,0M    1%     /run/lock
    			tmpfs        491M   0      491M    0%     /sys/fs/cgroup
    			/dev/sda1    945M   121M   760M    14%    /boot
    			/dev/sda6    3,7G   13M    3,5G    1%     /var/log
    			tmpfs        99M    36K    99M     1%     /run/user/1000
    

    Wir können aus dieser Ausgabe sehen, dass die / (root) Partition 8,8 GB Dateien enthält.

  2. Lassen Sie uns ein paar Gigabyte unnötiger Dateien in der Root-Partition löschen. Dies sehen wir in der Konsole, wenn wir den Befehl df –h / ausführen:
    			Filesystem   Size   Used   Avail   Use%   Mounted on
    			/dev/sda7    17G    4,7G   11G     31%    /
    

    So, unsere Root-Partition enthält jetzt 4.7 GB von Dateien. Wenn wir jedoch in das Verzeichnis gehen, in dem sich unsere VMDK-Datei befindet, können wir sehen, dass ihre Größe immer noch 10.266.496 KB (10 GB) beträgt.

  3. Jetzt werden wir den freien Speicherplatz mit Nullung füllen (in unserem Fall füllen wir 10 GB von 11 GB verfügbar). Zuerst geben wir cd gefolgt vom Namen des Verzeichnisses ein, in das die Partition, die auf Null gesetzt werden muss, gemountet wird (in unserem Fall ist es cd/, weil wir zur Root-Partition navigieren wollen). Danach führen wir den folgenden Befehl aus, um die Variablen an unsere Bedürfnisse anzupassen:
    			dd bs=1M count=10240 if=/dev/zero of=zero
    

    In diesem Befehl:

    dd kann nur als Superuser ausgeführt werden.

    bs legt die Blockgröße fest (z.B. bs=1M würde Ihnen eine Blockgröße von 1 Megabyte geben).

    – count gibt die Anzahl der Blöcke an, die kopiert werden sollen (die Standardeinstellung ist, dass dd für immer weiterläuft oder bis die Eingabe abläuft). In unserem Fall 10,240 MB sind die Grösse an freiem Speicherplatz, die wir mit Nullung füllen möchten, sodass die Anzahl der 1-Megabyte-Blöcke 10240 ist.

    – if steht für „Eingabedatei“. Hier sollten Sie die Quelle angeben, aus der Sie Daten kopieren möchten. In unserem Fall ist es /dev / zero – eine spezielle Datei (ein Pseudo-Gerät), die so viele Nullzeichen bereitstellt, wie Sie daraus lesen möchten.

    – of steht für „Ausgabedatei“. Hier legen Sie das Ziel fest, an das Sie Ihre Daten schreiben/einfügen möchten (in unserem Fall lautet der Name der Datei zero).

    Nach dem Ausführen des obigen Befehls vergrößert sich die Größe unserer VMDK-Datei. Dies ist die Ausgabe, die wir nach dem erfolgreich abgeschlossenen Befehl sehen:

    			10240+0 records in
    			10240+0 records out
    			10737418240 bytes (10 GB) copied, 59,4348 s, 181 MB/s
    			Command has been completed successfully.
    

    Also, jetzt ist die Größe unserer VMDK-Datei 11,321,856 KB (10,8 GB), was bedeutet, dass es erweitert wurde. Wenn wir den Befehl df –h / erneut ausführen, sehen wir Folgendes:

    			Filesystem   Size   Used   Avail   Use%   Mounted on
    			/dev/sda7    17G    15G    569M    97%    /
    

    Dies bedeutet, dass fast die gesamte Root-Partition (d. h. 97%) belegt ist. Dies liegt daran, dass wir den größten Teil des zuvor „verfügbaren“ Raumes mit Nullung gefüllt haben. Jetzt ist unsere Thin-Provisioning-Festplatte bereit geschrumpft wurde.

    HINWEIS: um ein Schrumpfen durchzuführen, müssen VMware-Tools installiert werden.

  4. Für virtuelle Maschinen, die auf VMware-ESXi oder VMware-Workstation ausgeführt werden, führen wir die folgenden zwei Befehle im Linux-Gastbetriebssystem aus.

a) um sicherzustellen, dass die Festplatten-Partition verfügbar ist, führen wir den Befehl:

			root@test-virtual-machine:/# vmware-toolbox-cmd disk list

Dies ist die Ausgabe, die wir in unserem Fall sehen (das heißt wir sehen die Liste der verfügbaren Partitionen):

			/
			/boot
			/var/log

Die Root-Partition ist vorhanden, sodass wir fortfahren können.

b) um die Partition zu verkleinern, führen wir den folgenden Befehl aus:

			root@test-virtual-machine:/# vmware-toolbox-cmd disk shrink /

Dies ist die Ausgabe, die wir in unserem Fall sehen:

			Please disregard any warnings about disk space for the duration of shrink process.
			Progress: 100 [===========>]
			Disk shrinking complete.

Jetzt ist die Größe unserer geschrumpfenten VMDK-Datei 5,323,456 KB (das heißt 5,08 GB – viel weniger als die 10,8 GB, die es vorher war).

HINWEIS: wenn Ihre virtuelle Gastmaschine auf einem ESXi-Server ausgeführt wird, können Sie nach dem Füllen der Blöcke mit Nullung die folgenden Schritte ausführen:

  1. Schalten Sie die virtuelle Maschine aus oder trennen Sie das virtuelle Laufwerk, das Sie verkleinern möchten.
  2. Stellen Sie mit dem SSH-Client eine Verbindung zum ESXi-host her.
  3. Navigieren Sie zum Ordner der virtuellen Maschine.
  4. Überprüfen Sie die Datenträgerverwendung mit du -h.
  5. Führen Sie vmkfstools -K test-virtual-machine.vmdk. aus.
  6. Überprüfen Sie die Festplattennutzung mit du-h noch einmal.

NAKIVO Backup & Replication kostenlose Version – die Nummer 1 kostenlose Datenschutzlösung, die auf Linux und Windows installiert werden kann.

Shrinking-Thin-bereitgestellte VMware-Festplatten in Windows

Wie Linux, Windows setzt nicht automatisch Blöcke auf Null nach dem Löschen von Dateien. Um den freien Speicherplatz der Zieldatenträger auf Ihrer virtuellen Windows-Maschine auf Null setzen zu können, müssen Sie SDelete herunterladen – ein kostenloses Dienstprogramm aus der Microsoft Sysinternals Suite – und die Dateien aus dem heruntergeladenen Archiv entpacken, um c:\program files\sdelete.

Dann gehen Sie wie folgt vor:

1. Führen Sie cmd aus.

2. Gehen Sie zu dem Verzeichnis, in dem sich SDelete befindet. In unserem Fall ist es cd c:\program files\sdelete

Verwenden Sie für jede Partition in der Konsole den Befehl sdelete –z. Dies ist, was wir in unserem Fall haben:

			sdelete -z c:
			sdelete -z d:

Diese Befehle löschen freien Speicherplatz auf Ihrer Thin-Provisioned-Festplatte, indem Sie ungenutzten Speicherplatz auf den angegebenen Partitionen ausfüllen.

Warten Sie ein paar Minuten, bis der Vorgang abgeschlossen ist. Ihre VMDK-Datei wird während des Prozesses auf Ihre maximale Größe erweitert.

3. Stellen Sie sicher, dass VMware-Tools auf Ihrer virtuellen Windows-Maschine installiert sind. Standardmäßig werden VMware-Tools installiert, um c:\program files\vmware \ vmware tools\. Navigieren Sie zu diesem Verzeichnis, indem Sie Folgendes eingeben: cd c:\program files\vmware \ vmware tools\.

4. Um die verfügbaren Festplatten-Partitionen anzuzeigen, geben Sie Folgendes ein:

vmwaretoolboxcmd disk list

5. Reduzieren Sie die benötigten Festplatten-Partitionen. In unserem Fall haben wir die Befehle ausgeführt:

			vmwaretoolboxcmd disk shrink c:\
			vmwaretoolboxcmd disk shrink d:\

Warten Sie, bis das Programm die Festplatte reduziert wird.

Sie können diese Methode für virtuelle Maschinen verwenden, die auf VMware-ESXi oder VMware-Workstation ausgeführt werden.

VMware-Speicherung Distributed Resource Scheduler

Oben erwähnten wir eine Lösung zur manuellen Reduzierung von Thin-Provisioning-Festplatten. Es gibt jedoch eine weitere Möglichkeit, Ihre virtuellen Festplatten (sowohl Thin-bereitgestellten als auch Thick-bereitgestellten) zu verwalten, wenn Sie einen Datenspeicher-Cluster in vSphere verwenden. VMware bietet eine automatische virtuelle DatenträgerMigration innerhalb des Datenspeicher-Clusters, um einen Überlauf des Festplattenspeichers zu vermeiden, auf dem sich Thin-bereitgestellten virtuellen Festplatten befinden und um I/O-Ressourcen auszugleichen. Wenn mehr als ein gemeinsamer Datenspeicher auf dem ESXi-Server bereitgestellt ist, können Sie den DRS-Speicherung (Speicherung Distributed Resource Scheduler) einzustellen. DRS-Speicherung ist eine intelligente vCenter-Server-Funktion zur effizienten Verwaltung von VMFS und NFS-Speicher, die automatische Festplattenplatzierung und Migration virtueller Maschinen bietet. Sie können DRS-Speicherung auch auf manuellen Modus einstellen, wenn Sie Migrationsempfehlungen lieber manuell genehmigen.

Gehen Sie folgendermaßen vor, um DRS-Speicherung zu aktivieren:

  1. Navigieren Sie zum Datenspeicher-Cluster im vSphere-Web-Client.
  2. Gehen Sie zu vCenter > > Datastore-Clusters.
  3. Wählen Sie Ihren Datenspeicher-Cluster aus und klicken Sie auf Manage >> Settings >> Services >> Storage DRS
  4. Klicken Sie auf Edit.
  5. Konfigurieren Sie die benötigten Automatisierungseinstellungen, I/O-bezogenen Funktionen und erweiterten Optionen.datastore-cluster

6. Klicken Sie zum Beenden auf OK.

Wenn in Ihrer vSphere-Umgebung keine Datenspeicher-Cluster vorhanden sind, gehen Sie folgendermaßen vor, um einen neuen Datenspeicher-Cluster zu erstellen und einzurichten:

  1. Navigieren Sie im vSphere-Web-Client zu vCenter >> Datacenters.
  2. Klicken Sie mit der rechten Maustaste auf Ihr Rechenzentrum und wählen Sie New Datastore-Cluster.
  3. Geben Sie den Namen Ihres Datenspeicher-Clusters ein und aktivieren Sie das Kontrollkästchen neben „Turn On Storage DRS“.
  4. Wählen Sie die gewünschten automationseinstellungen, I/O-bezogenen Funktionen und erweiterten Optionen aus.
  5. Klicken Sie zum Beenden auf OK.

Schlussfolgerung

In diesem Blogbeitrag haben wir die Arten von virtuellen Festplatten betrachtet und die Vor- und Nachteile jedes einzelnen abgewogen, um die Unterschiede zwischen Thick- und Thin-Provisioning besser zu verstehen. Eager-Zeroed Thick-bereitgestellte Festplatten sind die besten für Leistung und Sicherheit, benötigen jedoch einen ausreichenden freien Speicherplatz und benötigen viel Zeit, um erstellt zu werden. Lazy-Zeroed Thick-Provisioning-Festplatten  sind gut für ihre kurzen Erstellungszeiten, aber sie bieten nicht so viel Geschwindigkeit wie Eager-Zeroed-Festplatten und sind weniger sicher. Thin provisioned disks sind die beste Wahl, um Datenspeicher-Speicherplatz zum Zeitpunkt der Erstellung der Festplatte zu sparen. Sie können eine virtuelle Festplatte mit einer größeren maximalen Größe als den verfügbaren physischen Speicherplatz erstellen („overprovisioning“) und in Zukunft mehr physischen Speicherplatz hinzufügen, aber denken Sie daran, dass Ihre virtuellen Maschinen unbrauchbar werden, wenn sich der physische Speicherplatz füllt und die Thin-Provisioning – Festplatte nicht größer werden kann, um mehr Daten aufzunehmen. Wir haben auch Methoden zur Reduzierung von Thin-bereitgestellten VMware-Virtual-Festplatten durchgelaufen, falls Sie nicht mehr Speicher hinzufügen möchten und den Platzbedarf reduzieren müssen

Thick und Thin Provisioning: was ist der Unterschied?
Rate this post

Share:

LinkedIn Google+