VDS_STORAGE_POOL_PROP 構造体 (vds.h)
[Windows 8とWindows Server 2012以降、Virtual Disk Service COM インターフェイスは Windows Storage Management API に置き換えられます。
記憶域プール オブジェクトのプロパティを定義します。
構文
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
記憶域プールをバックアップする物理記憶域の量 (バイト単位)。 このメンバーの値は、VDS_POOL_ATTRIBUTES構造体の ullProvisionedSpace メンバーの値以下である必要があります。
ullTotalManagedSpace
既に割り当てられている領域を含む、子ストレージ要素 (LUN またはプール) を作成するために割り当てることができる、この記憶域プール内の領域 (バイト単位)。 記憶域プールの構成方法によっては、このメンバーの値が ullTotalConsumedSpace メンバーの値よりもはるかに小さい場合があります。 たとえば、記憶域プールがミラー化されたプールとして構成されている場合、 ullTotalManagedSpace の値は ullTotalConsumedSpace メンバーの値の半分の大きさになります。
ullRemainingFreeSpace
このプールから新しい LUN または子記憶域プールを作成したり、既存の LUN または子記憶域プールを拡張したりするために使用できる最大サイズ。 既存の LUN または子記憶域プールに既に割り当てられている管理領域の量を計算するには、 ullTotalManagedSpace メンバーの値からこのメンバーの値を減算します。
注釈
IVdsStoragePool::GetProperties は、記憶域プール オブジェクトのプロパティを報告するためにこの構造体を返します。
次の例は、 ullTotalConsumedSpace、 ullTotalManagedSpace、 および ullRemainingFreeSpace メンバーがどのように連携するかを示しています。
例 1
それぞれ 1 TB のドライブが 2 つあるとします。 さらに、次のことを行うとします。- 記憶域プールをミラー プールとして作成します。
- サイズが 200 GB の LUN を作成します。
ullTotalConsumedSpace = 2 TB。 これは、物理記憶域または物理ディスクによってサポートされる記憶域プール領域の量です。 プールから LUN を作成しても、この数は変更されません。
ullTotalManagedSpace = 1 TB。 これは、このプールから作成できる LUN または記憶域プールの最大サイズです。 プールの種類は 2 つのプレックスのみを含むミラーであるため、1 TB しか使用できません。
ullRemainingFreeSpace = 800 GB (1 TB – 200 GB)。200 GB が LUN に既に割り当てられているためです。
(ullTotalManagedSpace - ullRemainingFreeSpace)は、このプールから作成された LUN とプールに割り当てられる管理領域の量です。 この例では、 ullTotalManagedSpace - ullRemainingFreeSpace = 200 GB です。
例 2
それぞれ 1 TB のドライブが 2 つあるとします。 さらに、次のことを行うとします。- 記憶域プールをミラー プールとして作成します。
- サイズが 10 TB のシン プロビジョニング LUN を作成します。
ullProvisionedSpace = 10 TB。 これは、シン プロビジョニングされたプールにのみ適用されます。 これは、プール用にプロビジョニングされた合計領域です。 プールによって消費される合計領域は、プールにプロビジョニングされた合計領域以下です。
ullTotalConsumedSpace = 2 TB。
ullTotalManagedSpace = 1 TB。
ullRemainingFreeSpace = 1 TB から、LUN を現在バックアップしているマネージド 領域の量を差し引いた値。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
Header | vds.h |