VDS_STORAGE_POOL_PROP-Struktur (vdshwprv.h)

[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts durch die Windows Storage Management-API ersetzt.]

Definiert die Eigenschaften eines Speicherpoolobjekts.

Syntax

typedef struct _VDS_STORAGE_POOL_PROP {
  VDS_OBJECT_ID           id;
  VDS_STORAGE_POOL_STATUS status;
  VDS_HEALTH              health;
  VDS_STORAGE_POOL_TYPE   type;
  LPWSTR                  pwszName;
  LPWSTR                  pwszDescription;
  ULONGLONG               ullTotalConsumedSpace;
  ULONGLONG               ullTotalManagedSpace;
  ULONGLONG               ullRemainingFreeSpace;
} VDS_STORAGE_POOL_PROP, *PVDS_STORAGE_POOL_PROP;

Member

id

Ein VDS_OBJECT_ID Wert, der das Speicherpoolobjekt identifiziert.

status

Ein VDS_STORAGE_POOL_STATUS Enumerationswert, der den Status des Speicherpools angibt.

health

Ein VDS_HEALTH Enumerationswert, der die Integrität des Speicherpools angibt. Im Folgenden sind die gültigen Werte für dieses Element aufgeführt.

Windows Server 2008, Windows Vista und Windows Server 2003: VDS_H_DEGRADED wird nicht unterstützt.

VDS_H_UNKNOWN (0)

VDS_H_HEALTHY (1)

VDS_H_DEGRADED (11)

type

Ein VDS_STORAGE_POOL_TYPE Enumerationswert, der den Typ des Speicherpools angibt.

pwszName

Eine Zeichenfolge, die den Namen des Speicherpools angibt.

pwszDescription

Eine Zeichenfolge, die eine Beschreibung des Speicherpools enthält.

ullTotalConsumedSpace

Die Menge des physischen Speichers, der den Speicherpool in Bytes sichert. Der Wert dieses Members muss kleiner oder gleich dem Wert des ullProvisionedSpace-Members der VDS_POOL_ATTRIBUTES-Struktur sein.

ullTotalManagedSpace

Der Speicherplatz in Bytes in diesem Speicherpool, der zugewiesen werden kann, um untergeordnete Speicherelemente (LUNs oder Pools) zu erstellen, einschließlich des bereits zugewiesenen Speicherplatzes. Je nach Konfiguration des Speicherpools kann der Wert dieses Members viel kleiner als der Wert des ullTotalConsumedSpace-Members sein. Wenn der Speicherpool beispielsweise als gespiegelter Pool konfiguriert ist, ist der Wert von ullTotalManagedSpace nur halb so groß wie der Wert des ullTotalConsumedSpace-Members .

ullRemainingFreeSpace

Die maximale Größe, die zum Erstellen neuer LUNs oder untergeordneter Speicherpools aus diesem Pool oder zum Erweitern vorhandener LUNs oder untergeordneter Speicherpools verwendet werden kann. Um die Menge des verwalteten Speicherplatzes zu berechnen, der bereits vorhandenen LUNs oder untergeordneten Speicherpools zugewiesen wurde, subtrahieren Sie den Wert dieses Elements vom Wert des ullTotalManagedSpace-Members .

Hinweise

IVdsStoragePool::GetProperties gibt diese Struktur zurück, um die Eigenschaften eines Speicherpoolobjekts zu melden.

Die folgenden Beispiele zeigen, wie die Mitglieder ullTotalConsumedSpace, ullTotalManagedSpace und ullRemainingFreeSpace zusammenarbeiten .

Beispiel 1

Angenommen, Sie verfügen über zwei Laufwerke mit jeweils 1 TB. Nehmen Sie weiter an, dass Sie folgendes tun:
  1. Erstellen Sie einen Speicherpool als Spiegelpool.
  2. Erstellen Sie eine LUN mit einer Größe von 200 GB.

ullTotalConsumedSpace = 2 TB. Dies ist die Menge des Speicherplatzes im Speicherpool, der durch physischen Speicher oder physische Datenträger unterstützt wird. Durch das Erstellen von LUNs aus dem Pool wird diese Zahl nicht geändert.

ullTotalManagedSpace = 1 TB. Dies ist die maximale Größe der LUN oder des Speicherpools, die aus diesem Pool erstellt werden kann. Nur 1 TB ist verfügbar, da der Pooltyp eine Spiegelung mit nur 2 Plexes ist.

Hinweis Wenn der Pooltyp RAID5 wäre, wäre ullTotalManagedSpace (N-1)/N * ullTotalConsumedSpace, wobei N die Anzahl der Spalten ist. Bei 5 Laufwerken und 5 Spalten wäre ullTotalManagedSpace beispielsweise (5-1)/5 * ullTotalConsumedSpace oder 1,6 TB.

 

ullRemainingFreeSpace = 800 GB (1 TB – 200 GB), da bereits 200 GB einer LUN zugeordnet wurden.

(ullTotalManagedSpace - ullRemainingFreeSpace) ist die Menge des verwalteten Speicherplatzes, der LUNs und Pools zugeordnet ist, die aus diesem Pool erstellt wurden. In diesem Beispiel ist ullTotalManagedSpace - ullRemainingFreeSpace = 200 GB.

Beispiel 2

Angenommen, Sie verfügen über zwei Laufwerke mit jeweils 1 TB. Nehmen Sie weiter an, dass Sie folgendes tun:
  1. Erstellen Sie einen Speicherpool als Spiegelpool.
  2. Erstellen Sie eine dünn bereitgestellte LUN mit einer Größe von 10 TB.

ullProvisionedSpace = 10 TB. Dies gilt nur für dünn bereitgestellte Pools. Dies ist der gesamt für den Pool bereitgestellte Speicherplatz. Der gesamte vom Pool belegte Speicherplatz ist kleiner oder gleich dem gesamt für den Pool bereitgestellten Speicherplatz.

ullTotalConsumedSpace = 2 TB.

ullTotalManagedSpace = 1 TB.

ullRemainingFreeSpace = 1 TB abzüglich der Menge des verwalteten Speicherplatzes, der derzeit die LUN unterstützt.

Hinweis Obwohl die LUN-Größe 10 TB beträgt, kann es nur 10 GB verwalteten Speicherplatz geben, der die LUN unterstützen. In diesem Fall würden 20 GB belegter Speicherplatz zur Unterstützung der gespiegelten LUN vorhanden sein.

 

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Kopfzeile vdshwprv.h

Weitere Informationen

IVdsStoragePool::GetProperties