struttura VDS_STORAGE_POOL_PROP (vdshwprv.h)

[A partire da Windows 8 e Windows Server 2012, l'interfaccia COM del servizio disco virtuale viene sostituita dall'API gestione archiviazione di Windows.]

Definisce le proprietà di un oggetto pool di archiviazione.

Sintassi

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;

Members

id

Valore VDS_OBJECT_ID che identifica l'oggetto pool di archiviazione.

status

Valore di enumerazione VDS_STORAGE_POOL_STATUS che specifica lo stato del pool di archiviazione.

health

Valore di enumerazione VDS_HEALTH che specifica l'integrità del pool di archiviazione. Di seguito sono riportati i valori validi per questo membro.

Windows Server 2008, Windows Vista e Windows Server 2003: VDS_H_DEGRADED non è supportato.

VDS_H_UNKNOWN (0)

VDS_H_HEALTHY (1)

VDS_H_DEGRADED (11)

type

Valore di enumerazione VDS_STORAGE_POOL_TYPE che specifica il tipo del pool di archiviazione.

pwszName

Stringa che specifica il nome del pool di archiviazione.

pwszDescription

Stringa contenente una descrizione del pool di archiviazione.

ullTotalConsumedSpace

Quantità di spazio di archiviazione fisico che esegue il backup del pool di archiviazione, in byte. Il valore di questo membro deve essere minore o uguale al valore del membro ullProvisionedSpace della struttura VDS_POOL_ATTRIBUTES .

ullTotalManagedSpace

Spazio, in byte, in questo pool di archiviazione che può essere allocato per creare elementi di archiviazione figlio (LUN o pool), incluso lo spazio già allocato. A seconda della configurazione del pool di archiviazione, il valore di questo membro può essere molto inferiore al valore del membro ullTotalConsumedSpace . Ad esempio, se il pool di archiviazione è configurato come pool con mirroring, il valore di ullTotalManagedSpace è solo la metà del valore del membro ullTotalConsumedSpace .

ullRemainingFreeSpace

Dimensione massima che può essere usata per creare nuovi LUN o pool di archiviazione figlio da questo pool o per espandere i LUN esistenti o i pool di archiviazione figlio. Per calcolare la quantità di spazio gestito già allocata ai LUN o ai pool di archiviazione figlio esistenti, sottrarre il valore di questo membro dal valore del membro ullTotalManagedSpace .

Commenti

IVdsStoragePool::GetProperties restituisce questa struttura per segnalare le proprietà di un oggetto pool di archiviazione.

Gli esempi seguenti illustrano come interagiscono i membri ullTotalConsumedSpace, ullTotalManagedSpace e ullRemainingFreeSpace .

Esempio 1

Si supponga di avere 2 unità di 1 TB ognuna. Si supponga di eseguire ulteriormente le operazioni seguenti:
  1. Creare un pool di archiviazione come pool mirror.
  2. Creare un LUN la cui dimensione è 200 GB.

ullTotalConsumedSpace = 2 TB. Si tratta della quantità di spazio del pool di archiviazione supportata dall'archiviazione fisica o dai dischi fisici. La creazione di LUN dal pool non modifica questo numero.

ullTotalManagedSpace = 1 TB. Si tratta delle dimensioni massime del lun o del pool di archiviazione che è possibile creare da questo pool. È disponibile solo 1 TB, perché il tipo di pool è un mirror con solo 2 plessi.

Nota Se il tipo di pool fosse RAID5, ullTotalManagedSpace sarebbe (N-1)/N * ullTotalConsumedSpace, dove N è il numero di colonne. Ad esempio, con 5 unità e 5 colonne, ullTotalManagedSpace sarà (5-1)/5 * ullTotalConsumedSpace o 1,6 TB.

 

ullRemainingFreeSpace = 800 GB (1 TB - 200 GB), perché 200 GB è già stato allocato a un LUN.

(ullTotalManagedSpace - ullRemainingFreeSpace) è la quantità di spazio gestito allocata a LUN e pool creati da questo pool. In questo esempio ullTotalManagedSpace - ullRemainingFreeSpace = 200 GB.

Esempio 2

Si supponga di avere 2 unità di 1 TB ognuna. Si supponga di eseguire ulteriormente le operazioni seguenti:
  1. Creare un pool di archiviazione come pool mirror.
  2. Creare un LUN con thin provisioning con dimensioni pari a 10 TB.

ullProvisionedSpace = 10 TB. Questo vale solo per i pool con thin provisioning. Questo è lo spazio totale di cui è stato effettuato il provisioning per il pool. Lo spazio totale utilizzato dal pool è minore o uguale allo spazio totale di cui è stato effettuato il provisioning per il pool.

ullTotalConsumedSpace = 2 TB.

ullTotalManagedSpace = 1 TB.

ullRemainingFreeSpace = 1 TB meno la quantità di spazio gestito che supporta attualmente il LUN.

Nota Anche se le dimensioni del LUN sono pari a 10 TB, potrebbero essere presenti fino a 10 GB di spazio gestito che esegue il backup del LUN, nel qual caso ci sarebbero 20 GB di spazio utilizzato per il backup del LUN con mirroring.

 

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Intestazione vdshwprv.h

Vedi anche

IVdsStoragePool::GetProperties