VDS_STORAGE_POOL_PROP structure (vds.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 du pool de stockage.

status

Valeur d’énumération VDS_STORAGE_POOL_STATUS qui spécifie la status 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 la moitié de la valeur du membre ullTotalConsumedSpace .

ullRemainingFreeSpace

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

Remarques

L’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 ayez 2 lecteurs de 1 To chacun. Supposons que vous procédiez comme suit :
  1. Créez un pool de stockage en tant que pool de miroir.
  2. Créez un numéro d’unité logique dont la taille est de 200 Go.

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

ullTotalManagedSpace = 1 To. Il s’agit de la taille maximale du pool d’unités logiques ou 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 est le 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 à un NUMÉRO LOGIQUE.

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

Exemple 2

Supposons que vous ayez 2 lecteurs de 1 To chacun. Supposons que vous procédiez comme suit :
  1. Créez un pool de stockage en tant que pool de miroir.
  2. Créez un numéro d’unité logique à provisionnement dynamique dont la taille est de 10 To.

ullProvisionedSpace = 10 To. Cela s’applique uniquement aux pools provisionnés dynamiques. Il s’agit de l’espace total approvisionné 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 supporte actuellement le LUN.

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

 

Configuration requise

Condition requise Valeur
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 vds.h

Voir aussi

IVdsStoragePool ::GetProperties