Das VMware Cloud Director-Platzierungsmodul bestimmt, in welchen Ressourcen (einschließlich Ressourcenpools, Datenspeicher, Netzwerken oder Netzwerkpools) die virtuellen Maschinen (VMs) in einer vApp platziert werden sollen. Basierend auf den VM-Anforderungen trifft das Modul eine unabhängige Platzierungsentscheidung für jede VM in einer vApp.

Das Platzierungsmodul wird in folgenden Szenarios ausgeführt:
Hinweis: VMware Cloud Director platziert die VMs unabhängig von den Anforderungen für jede VM innerhalb einer vApp.
  • Beim Erstellen einer VM bestimmt das Platzierungsmodul, in welchem Ressourcenpool, Datenspeicher und Netzwerkpool sie platziert werden soll.
  • Wenn Sie eine VM starten und die VM nicht eingeschaltet werden kann, kann VMware Cloud Director die VM selektiv in einen anderen Ressourcenpool, Datenspeicher oder Netzwerkpool verschieben.
  • Wenn Sie eine VM bearbeiten und die Konfiguration des Datenspeichers, der Ressourcen oder des Netzwerks ändern, verschiebt VMware Cloud Director die VM möglicherweise auf einen anderen Datenspeicher und Ressourcenpool, der die neuen VM-Einstellungen unterstützt. VMware Cloud Director verschiebt eine VM nur dann, wenn die aktuellen Ressourcen die neuen Anforderungen nicht unterstützen können.
  • Wenn Sie VMs auf andere Ressourcenpools migrieren.
  • Wenn das Organisations-VDC VMs erkennt, die in einem das VDC stützenden vCenter Server-Ressourcenpool erstellt wurden, und das System eine vereinfachte vApp erstellt, die jede ermittelte VM enthält.
Das Platzierungsmodul wählt infrage kommende Ressourcenpools für eine VM anhand der folgenden Kriterien aus:
  • CPU-Kapazität
  • Speicherkapazität
  • Anzahl der virtuellen CPUs
  • Hardwareversion, die vom Host unterstützt und vom Provider-VDC zugelassen wird
  • Affinitätsregeln

Das Platzierungsmodul filtert deaktivierte Ressourcenpools aus der Kandidatenliste heraus. Nach Möglichkeit platziert VMware Cloud Director VMs auf demselben Hostcluster wie andere VMs im Organisations-VDC.

Das Platzierungsmodul verwendet die folgenden Kriterien, um kandidatenielle Datenspeicher für VMs auszuwählen.
  • Speicherkapazität und Schwellenwerte
  • Speicherrichtlinien
  • Affinitätsanforderungen zwischen VMs
  • Wenn IOPS aktiviert ist, IOPS-Kapazität und IOPS der VM-Festplatten
In VMware Cloud Director gibt es zwei Datenspeicherschwellenwerte.
  • Roter Schwellenwert – die Menge an freiem Speicherplatz in einem Datenspeicher, unterhalb derer VMware Cloud Director den Datenspeicher während der Platzierung eines Elements herausfiltert, wie z. B. einer VM, einer Vorlage oder einer Festplatte.

    Wenn ein Datenspeicher den roten Schwellenwert erreicht, stoppt das Platzierungsmodul für Arbeitslasten die Platzierung neuer VMs im Datenspeicher, außer beim Importieren von VMs aus vCenter Server. Wenn im Falle eines VM-Imports die vCenter Server-VM bereits im Datenspeicher mit dem roten Schwellenwert vorhanden ist, bevorzugt das Platzierungsmodul den vorhandenen Datenspeicher.

    Das Platzierungsmodul für Arbeitslasten verwendet den roten Schwellenwert für alle Workflows. Wenn Sie eine neue Platzierung anfordern, filtert das Platzierungsmodul für Arbeitslasten zunächst alle Datenspeicher oder Speicher-Pods heraus, die den roten Schwellenwert überschritten haben. Wenn sich die Festplatten beim Anfordern einer Platzierung für ein vorhandenes Element in den Datenspeichern befinden, die den roten Schwellenwert überschritten haben, verlagert VMware Cloud Director die Festplatten in andere verfügbare Datenspeicher. Anschließend wählt das Modul über die Auswahllogik von VMware Cloud Director oder aus den vSphere Storage DRS-Empfehlungen einen Datenspeicher aus den verbleibenden Datenspeichern oder Speicher-Pods aus.

  • Gelber Schwellenwert – die Menge an freiem Speicherplatz im Datenspeicher, unterhalb derer VMware Cloud Director den Datenspeicher bei der Platzierung von Schatten-VMs herausfiltert, aus denen VMware Cloud Director schnell bereitgestellte VMs erstellt. Weitere Informationen zu Schatten-VMs finden Sie unter Fast Provisioning virtueller Maschinen.

    Der gelbe Schwellenwert gilt nicht für die Linked Clones, die von VMware Cloud Director für die schnelle Bereitstellung von VMs verwendet werden. Wenn das Platzierungsmodul einen Datenspeicher für einen Linked Clone auswählt und im ausgewählten Datenspeicher eine Schatten-VM fehlt, erstellt VMware Cloud Director eine Schatten-VM im Datenspeicher. Der Schwellenwert gilt in diesem Fall nicht für die Schatten-VM.

    Der gelbe Schwellenwert gilt nur für regelmäßige Hintergrundaufträge zur Erstellung von Schatten-VMs. Der Auftrag wird, wenn aktiviert, alle 24 Stunden ausgeführt und verwendet die vorzeitige VM-Erstellung in jedem Datenspeicher für ein angegebenes Paar aus Hub- und Speicherrichtlinie. Zum Aktivieren des Auftrags für die vorzeitige Bereitstellung von Schatten-VMs müssen Sie die folgende Eigenschaft auf true festlegen.
    valc.catalog.fastProvisioning=true
    Hinweis: Mithilfe des regelmäßigen Hintergrundauftrags werden Schatten-VMs in allen Datenspeichern für alle Vorlagen erstellt. Der Auftrag steigert die Speicherbelegung, selbst wenn Sie die Datenspeicher oder Schatten-VMs nicht verwenden.

In den meisten Fällen filtert das Platzierungsmodul deaktivierte und rote Schwellenwert-Datenspeicher aus der Kandidatenliste heraus. Das Modul filtert diese Datenspeicher nicht heraus, wenn Sie eine VM aus vCenter Server importieren.

Bei der Implementierung der Schwellenwertlogik wertet VMware Cloud Director die Anforderungen des aktuellen Platzierungssubjekts nicht aus. Damit das Platzierungsmodul für Arbeitslasten ein Subjekt in einem Datenspeicher platzieren kann, muss der verfügbare Speicherplatz in Byte den Schwellenwert in Byte überschreiten. Beispiel: Für einen Datenspeicher mit einer verfügbaren Kapazität von 5 GB und einem roten Schwellenwert von 4 GB kann das Platzierungsmodul eine VM mit einer Anforderung von 2 GB platzieren. Wenn der Schwellenwert bei der VM-Erstellung überschritten wird, filtert das Platzierungsmodul den Datenspeicher für weitere Platzierungen heraus.

Das Platzierungsmodul verwendet den Netzwerknamen, um Kandidaten für die Netzwerkpools einer vApp und der zugehörigen VMs zu ermitteln.

Nachdem das Platzierungsmodul einen Satz potenzieller Ressourcen ausgewählt hat, werden die Ressourcen bewertet, um im Anschluss die beste Positionierung für jede VM basierend auf der Konfiguration der CPU, des virtuellen Arbeitsspeichers und des Speichers jeder VM auszuwählen.

Bei der Einstufung von Ressourcen untersucht das Platzierungsmodul die aktuelle und geschätzte zukünftige Nutzung der Ressource. Die geschätzte zukünftige Nutzung wird auf Grundlage der im jeweiligen Ressourcenpool vorhandenen ausgeschalteten VMs und deren erwarteter Nutzung nach dem Einschalten berechnet. Für CPU und Arbeitsspeicher berücksichtigt das Platzierungsmodul die aktuelle nicht reservierte Kapazität, die maximale Nutzung und die geschätzte zukünftige nicht reservierte Kapazität. Für die Speicherung berücksichtigt das Modul die gesamte bereitgestellte Kapazität des Clusters, zu dem jeder Ressourcenpool gehört. Das Platzierungsmodul prüft dann die gewichtete Metrik sowohl für die aktuelle als auch für die zukünftig zu erwartende Eignung des jeweiligen Ressourcenpools.

Wenn eine Verschiebung erforderlich ist, bevorzugt das Platzierungsmodul Ressourcenpools mit der meisten nicht reservierten Kapazität für CPU, Arbeitsspeicher und Speicher. Gelbe Cluster werden weniger stark berücksichtigt, sodass diese nur ausgewählt werden, wenn kein geeigneter Cluster verfügbar ist, der die Platzierungskriterien erfüllt. Wenn beim Importieren einer VM aus vCenter Server die VM-Platzierung zufriedenstellend ist, ignoriert das Modul die Schwellenwerte, um die Verschiebung zu minimieren.

Beim Einschalten einer VM versucht VMware Cloud Director, sie an ihrem aktuellen Speicherort einzuschalten. Wenn vCenter Server einen Fehler bei der CPU- und Speicherkapazität des Hosts meldet, verwendet VMware Cloud Director den Ressourcenpool zweimal, bevor die VM in die anderen kompatiblen Ressourcenpools im Organisations-VDC verschoben wird. Während das Platzierungsmodul erneut versucht, einen kompatiblen Ressourcenpool zu finden, schließt VMware Cloud Director frühere verwendete und fehlgeschlagene Ressourcenpools aus. Wenn keine geeigneten Ressourcenpools mit dem Datenspeicher verbunden sind, auf dem sich die VMDKs befinden, kann das Verschieben einer VM in einen anderen Ressourcenpool zur Migration der VMDKs der VM auf einen anderen Datenspeicher führen. Wenn die VM-Platzierung an allen Speicherorten fehlschlägt, die die Anforderungen der VM erfüllen, gibt VMware Cloud Director eine Fehlermeldung zurück, dass die Platzierung nicht möglich ist. Wenn eine Affinität zum aktuellen Datenspeicher besteht und der Datenspeicher nicht verfügbar ist, zeigt das Platzierungsmodul eine Fehlermeldung darüber an, dass die Platzierung nicht möglich ist. Dies ist ein normaler Zustand des Systems, wenn es nahezu vollständig funktioniert und die vorgeschlagene Lösung zum jetzigen Zeitpunkt nicht alle Anforderungen erfüllt. Zum Beheben des Fehlers können Sie Ressourcen hinzufügen oder freigeben und einen erneuten Versuch starten. Wenn kein bestimmter Datenspeicher erforderlich ist, wählt das Platzierungsmodul einen Datenspeicher im Kandidatenhost-Cluster oder Ressourcenpool aus, der die anderen Anforderungen erfüllt, wie z. B. Speicherrichtlinie, Speicherkapazität und IOPS-Kapazität.

Bei parallelen Bereitstellungssituationen, wenn die Kapazität eines Ressourcenpools nahezu ausgeschöpft ist, kann die Prüfung dieses Ressourcenpools erfolgreich sein, auch wenn der Ressourcenpool nicht über ausreichend Ressourcen verfügt, um die VM zu unterstützen. In diesen Fällen kann die VM nicht eingeschaltet werden. Wenn eine VM in dieser Situation nicht eingeschaltet werden kann und das VDC von mehr als einem Ressourcenpool gestützt wird, starten Sie den Einschaltvorgang erneut, um VMware Cloud Director aufzufordern, die VM in einen anderen Ressourcenpool zu migrieren.

Bei nahezu ausgeschöpfter Kapazität des Clusters, zu dem ein Ressourcenpool gehört, kann eine VM in diesem Ressourcenpool unter Umständen nicht eingeschaltet werden, wenn kein einzelner Host über ausreichend Kapazität zum Einschalten der VM verfügt. Dies resultiert aus der Kapazitätsfragmentierung auf Clusterebene. In solchen Fällen muss ein Systemadministrator einige VMs aus dem Cluster migrieren, damit der Cluster ausreichend verfügbare Kapazität aufrechterhält.

Algorithmus des VM-Platzierungsmoduls

Der Platzierungsalgorithmus wählt einen Hostcluster aus der Liste der Hostcluster aus, für die erforderliche Speicherprofile verfügbar sind, und erfüllt alle vorhandenen VM-VM-, VM-Host- oder Anti-Affinitätsregeln. VMware Cloud Director berechnet die Platzierungslösung anhand verschiedener Punktzahlen. Um das Verhalten des Moduls zu ändern, können Sie das Zellenverwaltungstool verwenden, um die konfigurierbaren Parameter zu ändern, die mit einem Unterstrich (_) beginnen.
  1. Für jeden Hostcluster berechnet das Platzierungsmodul für Arbeitslasten eine capacityScore, futureCapacityScore und reservationScore. Das Platzierungsmodul berechnet jede Punktzahl separat für CPU, Arbeitsspeicher und Speicher.
    capacityScore: (not available in some cases ) 
    
    CPU = (cpuUnreservedCapacityMHz - (cupBurstMHz * _cpuBurstRatio)) / cpuRequirementMHz 
    Memory = (memoryUnreservedCapacityMB - (memBurstMB * _memoryBurstRatio)) / memRequirementMB 
    Storage = storageFreeCapacityMB / stgRequirementMB 
    
    futureCapacityScore (not available in some cases) 
    
    CPU = (cpuUnreservedCapacityMHz - (cpuUndeployedReservationMHz * _futureDeployRatio)) / cpuRequirementMHz 
    Memory = (memoryUnreservedCapacityMB - (memUndeployedReservationMB * _futureDeployRatio)) / memRequirementMB 
    Storage = storageFreeCapacityMB / stgRequirementMB 
    
    reservationScore: (used for capacityScore and futureCapacityScore when those scores are unavailable) 
    
    CPU = cpuUnreservedCapacityMHz / cpuRequirementMHz 
    Memory = memoryUnreservedCapacityMB / memRequirementMB 
    Storage = storageFreeCapacityMB / stgRequirementMB 
  2. Für jeden Hostcluster berechnet das Platzierungsmodul eine weightedCapacityScore für CPU, Arbeitsspeicher und Speicher.
    weightedCapacityScore = capacityScore * _currentScoreWeight + futureCapacityScore * (1 - _currentScoreWeight)

    Jede weightedCapacityScore ist ein Verhältnis von 0 bis 1 mit höheren Werten für mehr verfügbare Ressourcen. weightedCapacityScore-Werte können über verschiedene Ressourcentypen hinweg verglichen werden, z. B. CPU, Arbeitsspeicher und Speicher, da sie ein einheitsloses Maß an Verfügbarkeit darstellen. Eine höhere weightedCapacityScore bedeutet eine höhere Verfügbarkeit der entsprechenden Ressource im Hostcluster.

  3. Das Platzierungsmodul überprüft, ob genügend Ressourcen für CPU, Arbeitsspeicher und Speicher vorhanden sind.
    totalAvailable * _[memory|cpu|storage]headRoom < free / UnreservedCapacity
  4. Das Platzierungsmodul sortiert die Liste der Hostcluster auf dem weightedCapacityScore, sodass der am wenigsten eingeschränkte Hostcluster an erster Stelle und der am stärksten eingeschränkte Hostcluster an letzter Stelle steht.
  5. Das Platzierungsmodul verarbeitet jeden Hostcluster in der Liste.
    • Wenn der Hostcluster vermieden werden muss, z. B. aufgrund einer Anti-Affinitätsregel, fügt das Modul sie zu avoidHubList hinzu.
    • Wenn der Hostcluster nicht über genügend zusätzliche Ressourcen verfügt, fügt das Modul ihn zu noHeadRoomHubList hinzu.
    • Wenn der Hostcluster bevorzugt wird, z. B. aufgrund einer starken Affinitätsregel oder des aktuellen Hostclusters, fügt das Modul ihn zu preferredHubList hinzu.
    • Alle anderen Hostcluster wechseln zu acceptableHubList.

    In jeder Liste ist der am meisten bevorzugte Hostcluster der erste und der am wenigsten bevorzugte Hostcluster der letzte.

  6. Das Modul integriert die vier Listen.

    preferredHubList + acceptableHubList + noHeadRoomHubList + avoidHubList

    Das Modul ordnet die Ergebnisliste vom am besten zu dem am wenigsten bevorzugten Hostcluster an.

  7. Das Platzierungsmodul wählt den wichtigsten Hostcluster aus der Liste als Ziel-Hub aus.

Anpassbare Parameter

Um verschiedene Schwellenwerte des Auswahlalgorithmus zu beeinflussen, können Sie mehrere Parameter anpassen. Allerdings sollten nur Dienstanbieteradministratoren mit erweiterten Kenntnissen über die VMware Cloud Director-Vorgänge versuchen, diese Parameter ausgehend von den zugehörigen Standardwerten zu ändern, da dies zu unerwünschten und unerwarteten Ergebnissen führen kann. Testen Sie zuerst alle Parameteränderungen in einer Nicht-Produktionsumgebung.

Sie können die folgenden Parameter mithilfe des Zellenverwaltungstools anpassen.

Parameter Beschreibung
vcloud.placement.ranking.currentScoreWeight Die relative Bedeutung der aktuellen Komponente der Hostcluster-Punktzahl. Der Wert muss in [0.1] angegeben werden. Wenn der Wert 0 beträgt, ordnet das Modul den Hostcluster nur basierend auf der zukünftigen Punktzahl ein. Wenn der Wert 1 lautet, ordnet das Modul den Hostcluster nur basierend auf der aktuellen Punktzahl ein. Die Standardeinstellung ist 0,5.

vcloud.placement.ranking.memoryBurstRatio

vcloud.placement.ranking.cpuBurstRatio

Der Prozentsatz der Zuteilung über die Reservierung einer VM hinaus, den der Ranglistenersteller verwendet, um die Auslastung des Clusters zu schätzen. Der Wert liegt zwischen 0 und 1. 0 bedeutet, dass eine VM nur ihre Reservierung verwendet. 1 bedeutet, dass die VM voll ausgelastet ist. Die Standardeinstellung ist 0,67.
vcloud.placement.ranking.futureDeployRatio Der Prozentsatz der VMs auf diesem Hostcluster, die voraussichtlich bereitgestellt werden und Arbeitsspeicher und CPU verbrauchen. Der Wert liegt zwischen 0 und 1. Die Standardeinstellung ist 0,5.

vcloud.placement.ranking.memoryHeadRoom

vcloud.placement.ranking.cpuHeadRoom

vcloud.placement.ranking.storageHeadRoom

Diese Parameter geben die Kontrolle darüber, zusätzliche Ressourcen für das Wachstum auf einem Hostcluster zu belassen. Das Modul definiert den Spielraum als ein Verhältnis der nicht reservierten Ressourcen. Wenn beispielsweise vcloud.placement.ranking.memoryHeadRoom 0,2 ist und dem Hostcluster weniger als 20 % Ressourcen zur Verfügung stehen, stuft das Modul diesen Cluster als einen Cluster mit unzureichendem Speicherplatz ein und stuft ihn niedriger ein als andere Hostcluster. Der Wert muss zwischen 0 und 1 liegen. Die Standardeinstellung ist 0,2.

Beispiel:
./cell-management-tool manage-config -n vcloud.placement.ranking.memoryHeadRoom -v 0.3 

Datenspeicherfilter und Speicherplatzierungsalgorithmus

Die Datenspeicherfilter und der Speicherplatzierungsalgorithmus von VMware Cloud Director bestimmen die Platzierung von VM-Dateien und Festplatten auf den zugrunde liegenden Speicherressourcen. Speichercontainer stellen die Speicherressourcen dar: entweder ein Datenspeicher oder ein Datenspeicher-Cluster.

Die Datenspeicherfilter sind Teil der Speicherfilterkette, mit der die geeigneten Speichercontainer basierend auf den Anforderungen des Platzierungssubjekts eingegrenzt werden können. Die Filter verwenden die verfügbaren Speichercontainer in einem Provider-VDC als Eingabeliste. Die Filter werden in einer vordefinierten Reihenfolge ausgeführt und jeder Filter übergibt die verfeinerte Liste der Speichercontainer an den nächsten Filter. VMware Cloud Director überspringt Filter, die nicht angewendet werden können. Bei VMs ohne IOPS-Einstellung führt VMware Cloud Director beispielsweise den IOPS-Filter nicht aus.

Tabelle 1. Datenspeicherfilter
Filter Beschreibung
AffinityDatastoreFilter Filtert die Speichercontainer basierend auf den Affinitäts- und Anti-Affinitätsregeln, die für die Datenspeicher definiert wurden. VMware Cloud Director legt in Fällen wie dem VM-Import aus vCenter Server, der Mandantenmigration usw. Datenspeicher-Affinitätsregeln fest.
AlreadyOnValidDatastoreFilter "Wenn ein Platzierungssubjekt bereits auf einem gültigen Datenspeicher platziert ist, lehnt dieser Filter alle anderen Speichercontainer ab und behält nur den gültigen Datenspeicher bei."
BadHostsFilter Filtert die Speichercontainer heraus, für die nicht mindestens ein verbundener, betriebsbereiter und eingeschalteter Host vorhanden ist. Filtert Speichercontainer heraus, die aus der Bestandsliste gelöscht wurden.
DatastoreClusterFilter

"Filtert alle Datenspeicher-Cluster und Datenspeicher heraus, die Teil eines Datenspeicher-Clusters sind." "Das Filter wird verwendet, wenn das Platzierungssubjekt keine Datenspeicher-Cluster benötigt." Beispiel: Wenn freigegebene benannte Festplatten auf den Datenspeicher-Clustern basierend auf config: vcloud.disk.shared.allowOnSpod unzulässig sind.

DatastoreFsFilter "Filtert alle Speichercontainer heraus, die Teil des angegebenen Dateisystems sind." Beispiel: Wenn freigegebene benannte Festplatten auf NFS-Datenspeichern basierend auf config: vcloud.disk.shared.allowOnNfs unzulässig sind, fügt der Platzierungsalgorithmus diesen Filter der Kette hinzu.
DisabledDatastoreFilter Filtert alle deaktivierten Speichercontainer aus der Eingabeliste heraus.
IopsCapacityDatastoreFilter

Filtert alle Datenspeicher heraus, die nicht über genügend IOPS-Kapazität für die VM verfügen.

"Der Filter wird ausgeführt, wenn die folgenden Voraussetzungen erfüllt sind."

  • Die VM verfügt über eine IOPS-Einstellung.
  • Es sind keine Speicher-Pods vorhanden.
  • Für alle Datenspeicher ist iopsCapacities festgelegt.
  • Die VM hat die Funktion VCD/IOPS der Speicherrichtlinie und die Option Auswirkung auf Platzierung in den Einstellungen der Speicherrichtlinie aktiviert.
LeastProvisionedFilter Findet den am seltensten bereitgestellten Speichercontainer.
LinkedCloneFilter Filtert alle Datenspeicher heraus, die nicht über eine Quell-VM oder entsprechende Schatten-VMs in einem Datenspeicher verfügen. Filtert alle Datenspeicher heraus, die über Quell-VMs verfügen, deren zulässige maximale Kettenlänge für die virtuellen Festplatten der VMs überschritten wurde.
MinFreeSpaceFilter Filtert alle Speichercontainer heraus, die nicht genügend freien Speicherplatz für das Platzierungssubjekt enthalten. Bei Speicher-Pods wird der freie Speicherplatz durch den maximalen freien Speicherplatz des größten untergeordneten Datenspeichers bestimmt, nicht durch den gesamten Speicherplatz der untergeordneten Datenspeicher oder den freien Speicherplatz des Speicher-Pods. Beispiel: Ein Speicher-Pod verfügt über zwei Datenspeicher mit jeweils 3 GB bzw. 5 GB. VMware Cloud Director geht davon aus, dass der freie Speicherplatz des Speicher-Pods 5 GB beträgt. Wenn es keine solchen Container gibt, behält der Filter den Container mit dem größten freien Speicherplatz bei.
MostFreeSpaceFilter Findet den Speichercontainer mit dem größten freien Speicherplatz.
StorageClassFilter Filtert alle Speichercontainer oder Speicher-Pods heraus, die nicht mit der Speicherrichtlinie des Platzierungssubjekts übereinstimmen, das in ihrer Anforderung definiert wurde.
ThresholdFilter "Filtert die Speichercontainer heraus, die den angegebenen Schwellenwert der verfügbaren Kapazität erreichen." Es gibt gelbe und rote Schwellenwerte in VMware Cloud Director. Weitere Informationen finden Sie im Konfigurieren der Schwellenwerte für zu niedrige verbleibende Festplattenkapazität für einen Speichercontainer eines virtuellen Provider-Datencenters.
VirtualMachineFilter "Filtert alle Speichercontainer heraus, auf die die angegebene VM keinen Zugriff hat."

VMware Cloud Director übergibt die endgültige Liste der gefilterten Speichercontainer an den Speicherplatzierungsalgorithmus, der versucht, das Platzierungssubjekt in den ausgewählten Speichercontainern zu platzieren.

Um die Platzierungssubjekte jeweils im bestmöglichen Datenspeicher zu platzieren, verwendet der Speicherplatzierungsalgorithmus konfigurierbare Kriterien und die Liste gültiger Datenspeicher. Der Speicherplatzierungsalgorithmus verwendet den folgenden Workflow:
  1. Empfängt eine Reihe von Platzierungssubjekten vom Platzierungsmodul, ebenso wie einen Zielressourcenpool, der dem Provider-VDC zugrunde liegt. Es gibt zwei Alternativen:

    • In der Regel empfängt der Algorithmus eine VM-Home-Datei, die Metadaten und Konfigurationsinformationen sowie einen Satz von Festplatten für die Platzierung regulärer, nicht schnell bereitgestellter VMs enthält.
    • Der Algorithmus kann jedoch auch einen aggregierten Festplattenansatz für benannte Festplatten und schnell bereitgestellte VMs verwenden. Mit anderen Worten: Für jede schnell bereitgestellte VM erhält der Algorithmus eine Anforderung für die VM und alle zugehörigen Festplatten.
  2. Empfängt den Satz von Speichercontainern, die für diesen Hub geeignet sind; das umfasst sowohl Datenspeicher als auch Speicher-Pods.
  3. Um die Speichercontainer herauszufiltern, die für ein Subjekt nicht geeignet sind, durchläuft der Algorithmus für jedes Platzierungssubjekt die statische Kette von Platzierungsfiltern. Wenn beispielsweise eine VM-Festplatte nicht in einen Datenspeicher passt, markiert der Algorithmus den Datenspeicher als nicht für die VM-Festplatte geeignet.
  4. Ordnet die Speichercontainer für jedes Subjekt in der Reihenfolge seiner Präferenz, wobei die nachfolgenden Überlegungen fortlaufend berücksichtigt werden:
    1. Ob es sich bei dem Container um einen Speicher-Pod oder einen Datenspeicher handelt
    2. Wie viele andere Platzierungssubjekte den Speicher-Pod als gültigen Container enthalten
    3. Größe des Containers
  5. Wenn es sich bei einem der Container um einen Speicher-Pod handelt, führt der Algorithmus den vSphere Storage DRS-Aufrufalgorithmus aus, um die Speicher-Pods auf Datenspeicher zu reduzieren.
  6. Legt nach Eingabe der Platzierungssubjekte und ihrer gültigen Datenspeicher fest, wo sich das Platzierungssubjekt befinden muss.
  7. Gibt ein endgültiges Platzierungsergebnis zurück, das die Datenspeicher bestimmt, auf denen sich die einzelnen Platzierungssubjekte befinden müssen, oder gibt einen Fehler zurück, wenn der VMware Cloud Director-Algorithmus keine geeignete Platzierung finden kann.