다음을 통해 공유


VDS_STORAGE_POOL_PROP 구조체(vds.h)

[Windows 8 및 Windows Server 2012 가상 디스크 서비스 COM 인터페이스는 Windows Storage 관리 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, ullTotalManagedSpaceullRemainingFreeSpace 멤버가 함께 작동하는 방법을 보여 줍니다.

예제 1

각각 1TB의 드라이브가 2개 있다고 가정해 보겠습니다. 다음을 수행한다고 가정해 보겠습니다.
  1. 스토리지 풀을 미러 풀로 만듭니다.
  2. 크기가 200GB인 LUN을 만듭니다.

ullTotalConsumedSpace = 2TB. 실제 스토리지 또는 실제 디스크에서 지원되는 스토리지 풀 공간의 양입니다. 풀에서 LUN을 만들면 이 숫자가 변경되지 않습니다.

ullTotalManagedSpace = 1TB. 이 풀에서 만들 수 있는 LUN 또는 스토리지 풀의 최대 크기입니다. 풀 유형은 2개의 플렉스만 있는 미러 있으므로 1TB만 사용할 수 있습니다.

참고 풀 유형이 RAID5인 경우 ullTotalManagedSpace 는 (N-1)/N * ullTotalConsumedSpace입니다. 여기서 N 은 열 수입니다. 예를 들어 드라이브 5개와 열 5개인 ullTotalManagedSpace 는 (5-1)/5 * ullTotalConsumedSpace 또는 1.6TB입니다.

 

ullRemainingFreeSpace = 800GB(1TB – 200GB) 200GB가 이미 LUN에 할당되었기 때문입니다.

(ullTotalManagedSpace - ullRemainingFreeSpace) 는 이 풀에서 만든 LUN 및 풀에 할당된 관리되는 공간의 양입니다. 이 예제에서는 ullTotalManagedSpace - ullRemainingFreeSpace = 200GB입니다.

예제 2

각각 1TB의 드라이브가 2개 있다고 가정해 보겠습니다. 다음을 수행한다고 가정해 보겠습니다.
  1. 스토리지 풀을 미러 풀로 만듭니다.
  2. 크기가 10TB인 씬 프로비전된 LUN을 만듭니다.

ullProvisionedSpace = 10TB. 이는 씬 프로비전된 풀에만 적용됩니다. 풀에 대해 프로비전된 총 공간입니다. 풀에서 사용하는 총 공간은 풀에 대해 프로비전된 총 공간보다 작거나 같습니다.

ullTotalConsumedSpace = 2TB.

ullTotalManagedSpace = 1TB.

ullRemainingFreeSpace = 1TB에서 현재 LUN을 지원하는 관리되는 공간의 양을 뺀 값입니다.

참고 LUN의 크기는 10TB이지만 LUN을 지원하는 10GB의 관리 공간이 있을 수 있습니다. 이 경우 미러된 LUN을 지원하는 20GB의 사용된 공간이 있을 수 있습니다.

 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
머리글 vds.h

추가 정보

IVdsStoragePool::GetProperties