VDS_STORAGE_POOL_PROP Struktur (vds.h)

[Beginnend mit Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des virtuellen Datenträgerdiensts von der 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. Nachfolgend 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 gesichert. Der Wert dieses Elements muss kleiner oder gleich dem Wert des ullProvisionedSpace-Members der VDS_POOL_ATTRIBUTES-Struktur sein.

ullTotalManagedSpace

Der Speicherplatz in Bytes in diesem Speicherpool, der zum Erstellen untergeordneter Speicherelemente (LUNs oder Pools) zugewiesen werden kann, einschließlich des bereits zugewiesenen Speicherplatzes. Je nachdem, wie der Speicherpool konfiguriert wird, kann der Wert dieses Elements viel kleiner sein als der Wert des ullTotalConsumedSpace-Elements . Wenn der Speicherpool beispielsweise als gespiegelter Pool konfiguriert ist, ist der Wert von ullTotalManagedSpace nur halb so groß wie der Wert des ullTotalConsumedSpace-Elements .

ullRemainingFreeSpace

Die maximale Größe, die zum Erstellen neuer LUNs oder untergeordneter Speicherpools aus diesem Pool verwendet werden kann, oder zum Erweitern vorhandener LUNs oder untergeordneter Speicherpools. 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-Elements .

Hinweise

Der 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 2 Laufwerke von jeweils 1 TB. Nehmen Sie weiter an, dass Sie folgendes tun:
  1. Erstellen Sie einen Speicherpool als Spiegelpool.
  2. Erstellen Sie eine LUN, deren Größe 200 GB beträgt.

ullTotalConsumedSpace = 2 TB. Dies ist der Speicherplatz, der von physischem Speicher oder physischen Datenträgern gesichert wird. Das Erstellen von LUNs aus dem Pool ändert diese Nummer nicht.

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

Hinweis Wenn der Pooltyp RAID5 war, wäre ullTotalManagedSpace (N-1)/NullTotalConsumedSpace, wobei N * die Anzahl der Spalten ist. Mit 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 200 GB bereits einem LUN zugewiesen wurde.

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

Beispiel 2

Angenommen, Sie verfügen über 2 Laufwerke von 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, deren Größe 10 TB beträgt.

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

ullTotalConsumedSpace = 2 TB.

ullTotalManagedSpace = 1 TB.

ullRemainingFreeSpace = 1 TB minus der Menge des verwalteten Speicherplatzes, der derzeit die LUN sichert.

Hinweis Obwohl die LUN-Größe 10 TB beträgt, kann es so wenig wie 10 GB verwalteten Speicherplatz geben, der die LUN zurückgibt, in diesem Fall wäre 20 GB verbrauchter Speicherplatz, der die gespiegelte LUN zurückgibt.

 

Anforderungen

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

Weitere Informationen

IVdsStoragePool::GetProperties