структура VDS_STORAGE_POOL_PROP (vds.h)

[Начиная с Windows 8 и Windows Server 2012 COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]

Определяет свойства объекта пула носителей.

Синтаксис

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;

Члены

id

Значение VDS_OBJECT_ID , определяющее объект пула носителей.

status

Значение перечисления VDS_STORAGE_POOL_STATUS , указывающее состояние пула носителей.

health

Значение перечисления VDS_HEALTH , указывающее работоспособность пула носителей. Ниже приведены допустимые значения для этого элемента.

Windows Server 2008, Windows Vista и Windows Server 2003: VDS_H_DEGRADED не поддерживается.

VDS_H_UNKNOWN (0)

VDS_H_HEALTHY (1)

VDS_H_DEGRADED (11)

type

Значение перечисления VDS_STORAGE_POOL_TYPE , указывающее тип пула носителей.

pwszName

Строка, указывающая имя пула носителей.

pwszDescription

Строка, содержащая описание пула носителей.

ullTotalConsumedSpace

Объем физического хранилища, поддерживаемого пулом носителей , в байтах. Значение этого элемента должно быть меньше или равно значению элемента ullProvisionedSpaceструктуры VDS_POOL_ATTRIBUTES .

ullTotalManagedSpace

Пространство в байтах в этом пуле носителей, которое можно выделить для создания дочерних элементов хранения (LUN или пулов), включая уже выделенное пространство. В зависимости от способа настройки пула носителей значение этого элемента может быть гораздо меньше значения элемента ullTotalConsumedSpace . Например, если пул носителей настроен как зеркальный пул, значение ullTotalManagedSpace будет в два раза меньше значения элемента ullTotalConsumedSpace .

ullRemainingFreeSpace

Максимальный размер, который можно использовать для создания новых LUN или дочерних пулов носителей из этого пула, а также для расширения существующих LUN или дочерних пулов носителей. Чтобы вычислить объем управляемого пространства, уже выделенного для существующих LUN или дочерних пулов носителей, вычтите значение этого элемента из значения элемента ullTotalManagedSpace .

Комментарии

IVdsStoragePool::GetProperties возвращает эту структуру для отчета о свойствах объекта пула носителей.

В следующих примерах показано, как работают члены ullTotalConsumedSpace, ullTotalManagedSpace и ullRemainingFreeSpace .

Пример 1

Предположим, что у вас есть 2 диска по 1 ТБ. Предположим далее, что вы делаете следующее:
  1. Создайте пул носителей как пул зеркало.
  2. Создайте LUN размером 200 ГБ.

ullTotalConsumedSpace = 2 ТБ. Это объем пространства пула носителей, который поддерживается физическим хранилищем или физическими дисками. Создание LUN из пула не изменяет это число.

ullTotalManagedSpace = 1 ТБ. Это максимальный размер LUN или пула носителей, который можно создать из этого пула. Доступно только 1 ТБ, так как тип пула является зеркало с 2 сплетениями.

Примечание Если тип пула raid5, ullTotalManagedSpace будет иметь значение (N-1)/N * ullTotalConsumedSpace, где N — количество столбцов. Например, при использовании 5 дисков и 5 столбцов значение ullTotalManagedSpace будет иметь значение (5–1)/5 * ullTotalConsumedSpace или 1,6 ТБ.

 

ullRemainingFreeSpace = 800 ГБ (от 1 ТБ до 200 ГБ), так как для LUN уже выделено 200 ГБ.

(ullTotalManagedSpace - ullRemainingFreeSpace) — это объем управляемого пространства, выделенного для LUN и пулов, созданных из этого пула. В этом примере ullTotalManagedSpace - ullRemainingFreeSpace = 200 ГБ.

Пример 2

Предположим, что у вас есть 2 диска по 1 ТБ. Предположим далее, что вы делаете следующее:
  1. Создайте пул носителей как пул зеркало.
  2. Создайте тонко подготовленный LUN размером 10 ТБ.

ullProvisionedSpace = 10 ТБ. Это относится только к пулам с тонкой подготовкой. Это общее пространство, подготовленное для пула. Общее пространство, занимаемое пулом, меньше или равно общему пространству, подготовленному для пула.

ullTotalConsumedSpace = 2 ТБ.

ullTotalManagedSpace = 1 ТБ.

ullRemainingFreeSpace = 1 ТБ за вычетом объема управляемого пространства, которое в настоящее время поддерживает LUN.

Примечание Хотя размер LUN составляет 10 ТБ, для поддержки LUN может потребоваться всего 10 ГБ управляемого пространства. В этом случае для зеркального LUN будет использовано 20 ГБ.

 

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Верхняя часть vds.h

См. также раздел

IVdsStoragePool::GetProperties