structure VDS_STORAGE_POOL_PROP (vdshwprv.h)

[À compter de Windows 8 et Windows Server 2012, l’interface COM du service de disque virtuel est remplacée par l’API Gestion du stockage Windows.]

Définit les propriétés d’un objet de pool de stockage.

Syntaxe

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;

Membres

id

Valeur VDS_OBJECT_ID qui identifie l’objet de pool de stockage.

status

Valeur d’énumération VDS_STORAGE_POOL_STATUS qui spécifie l’état du pool de stockage.

health

Valeur d’énumération VDS_HEALTH qui spécifie l’intégrité du pool de stockage. Voici les valeurs valides pour ce membre.

Windows Server 2008, Windows Vista et Windows Server 2003 : VDS_H_DEGRADED n’est pas pris en charge.

VDS_H_UNKNOWN (0)

VDS_H_HEALTHY (1)

VDS_H_DEGRADED (11)

type

Valeur d’énumération VDS_STORAGE_POOL_TYPE qui spécifie le type du pool de stockage.

pwszName

Chaîne qui spécifie le nom du pool de stockage.

pwszDescription

Chaîne qui contient une description du pool de stockage.

ullTotalConsumedSpace

Quantité de stockage physique qui sauvegarde le pool de stockage, en octets. La valeur de ce membre doit être inférieure ou égale à la valeur du membre ullProvisionedSpace de la structure VDS_POOL_ATTRIBUTES .

ullTotalManagedSpace

Espace, en octets, dans ce pool de stockage qui peut être alloué pour créer des éléments de stockage enfants (LUN ou pools), y compris l’espace qui a déjà été alloué. Selon la façon dont le pool de stockage est configuré, la valeur de ce membre peut être beaucoup inférieure à la valeur du membre ullTotalConsumedSpace . Par exemple, si le pool de stockage est configuré en tant que pool mis en miroir, la valeur de ullTotalManagedSpace n’est que deux fois plus grande que la valeur du membre ullTotalConsumedSpace .

ullRemainingFreeSpace

Taille maximale qui peut être utilisée pour créer de nouvelles LUN ou pools de stockage enfants à partir de ce pool, ou pour développer des LUN ou des pools de stockage enfants existants. Pour calculer la quantité d’espace managé qui a déjà été allouée à des LUN existants ou à des pools de stockage enfants, soustrayez la valeur de ce membre de la valeur du membre ullTotalManagedSpace .

Remarques

IVdsStoragePool::GetProperties retourne cette structure pour signaler les propriétés d’un objet de pool de stockage.

Les exemples suivants montrent comment les membres ullTotalConsumedSpace, ullTotalManagedSpace et ullRemainingFreeSpace fonctionnent ensemble.

Exemple 1

Supposons que vous disposez de 2 lecteurs de 1 To chacun. Supposons en outre que vous procédiez comme suit :
  1. Créez un pool de stockage en tant que pool miroir.
  2. Créez un LUN dont la taille est de 200 Go.

ullTotalConsumedSpace = 2 To. Il s’agit de la quantité d’espace de pool de stockage qui est soutenue par un stockage physique ou des disques physiques. La création de LUN à partir du pool ne modifie pas ce nombre.

ullTotalManagedSpace = 1 To. Il s’agit de la taille maximale de la LUN ou du pool de stockage qui peut être créée à partir de ce pool. Seulement 1 To est disponible, car le type de pool est un miroir avec seulement 2 plex.

Note Si le type de pool était RAID5, ullTotalManagedSpace serait (N-1)/N * ullTotalConsumedSpace, où N correspond au nombre de colonnes. Par exemple, avec 5 lecteurs et 5 colonnes, ullTotalManagedSpace serait (5-1)/5 * ullTotalConsumedSpace ou 1,6 To.

 

ullRemainingFreeSpace = 800 Go (1 To - 200 Go), car 200 Go ont déjà été alloués à une LUN.

(ullTotalManagedSpace - ullRemainingFreeSpace) est la quantité d’espace managé allouée aux LUN et aux pools créés à partir de ce pool. Dans cet exemple, ullTotalManagedSpace - ullRemainingFreeSpace = 200 Go.

Exemple 2

Supposons que vous disposez de 2 lecteurs de 1 To chacun. Supposons en outre que vous procédiez comme suit :
  1. Créez un pool de stockage en tant que pool miroir.
  2. Créez un LUN à provisionnement léger dont la taille est de 10 To.

ullProvisionedSpace = 10 To. Cela s’applique uniquement aux pools à provisionnement léger. Il s’agit de l’espace total provisionné pour le pool. L’espace total consommé par le pool est inférieur ou égal à l’espace total approvisionné pour le pool.

ullTotalConsumedSpace = 2 To.

ullTotalManagedSpace = 1 To.

ullRemainingFreeSpace = 1 To moins la quantité d’espace managé qui sauvegarde actuellement le LUN.

Note Bien que la taille de la LUN soit de 10 To, il peut y avoir aussi peu que 10 Go d’espace managé pour la sauvegarde de la LUN, auquel cas il y aurait 20 Go d’espace consommé pour le stockage de la LUN mise en miroir.

 

Configuration requise

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
En-tête vdshwprv.h

Voir aussi

IVdsStoragePool::GetProperties