estrutura VDS_STORAGE_POOL_PROP (vds.h)
[Começando com Windows 8 e Windows Server 2012, a interface COM do Serviço de Disco Virtual é substituída pela API de Gerenciamento de Armazenamento do Windows.]
Define as propriedades de um objeto de pool de armazenamento.
Sintaxe
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;
Membros
id
Um valor VDS_OBJECT_ID que identifica o objeto do pool de armazenamento.
status
Um VDS_STORAGE_POOL_STATUS valor de enumeração que especifica o status do pool de armazenamento.
health
Um VDS_HEALTH valor de enumeração que especifica a integridade do pool de armazenamento. Veja a seguir os valores válidos para esse membro.
Windows Server 2008, Windows Vista e Windows Server 2003: não há suporte para VDS_H_DEGRADED.
VDS_H_UNKNOWN (0)
VDS_H_HEALTHY (1)
VDS_H_DEGRADED (11)
type
Um VDS_STORAGE_POOL_TYPE valor de enumeração que especifica o tipo do pool de armazenamento.
pwszName
Uma cadeia de caracteres que especifica o nome do pool de armazenamento.
pwszDescription
Uma cadeia de caracteres que contém uma descrição do pool de armazenamento.
ullTotalConsumedSpace
A quantidade de armazenamento físico que dá suporte ao pool de armazenamento, em bytes. O valor desse membro deve ser menor ou igual ao valor do membro ullProvisionedSpace da estrutura VDS_POOL_ATTRIBUTES .
ullTotalManagedSpace
O espaço, em bytes, nesse pool de armazenamento que pode ser alocado para criar LUNs (elementos de armazenamento filho ou pools), incluindo o espaço que já foi alocado. Dependendo da maneira como o pool de armazenamento é configurado, o valor desse membro pode ser muito menor do que o valor do membro ullTotalConsumedSpace . Por exemplo, se o pool de armazenamento estiver configurado como um pool espelhado, o valor de ullTotalManagedSpace será apenas metade do valor do membro ullTotalConsumedSpace .
ullRemainingFreeSpace
O tamanho máximo que pode ser usado para criar novos LUNs ou pools de armazenamento filho desse pool ou para expandir LUNs existentes ou pools de armazenamento filho. Para calcular a quantidade de espaço gerenciado que já foi alocada para LUNs existentes ou pools de armazenamento filho, subtraia o valor desse membro do valor do membro ullTotalManagedSpace .
Comentários
O IVdsStoragePool::GetProperties retorna essa estrutura para relatar as propriedades de um objeto de pool de armazenamento.
Os exemplos a seguir mostram como os membros ullTotalConsumedSpace, ullTotalManagedSpace e ullRemainingFreeSpace trabalham juntos.
Exemplo 1
Suponha que você tenha 2 unidades de 1 TB cada. Suponha que você faça o seguinte:- Crie um pool de armazenamento como um pool de espelho.
- Crie um LUN cujo tamanho é de 200 GB.
ullTotalConsumedSpace = 2 TB. Essa é a quantidade de espaço do pool de armazenamento que é apoiada pelo armazenamento físico ou discos físicos. A criação de LUNs do pool não altera esse número.
ullTotalManagedSpace = 1 TB. Esse é o tamanho máximo do LUN ou do pool de armazenamento que pode ser criado a partir desse pool. Apenas 1 TB está disponível, pois o tipo de pool é um espelho com apenas 2 plexes.
ullRemainingFreeSpace = 800 GB (1 TB – 200 GB), porque 200 GB já foram alocados para um LUN.
(ullTotalManagedSpace - ullRemainingFreeSpace) é a quantidade de espaço gerenciado alocado para LUNs e pools criados com base nesse pool. Neste exemplo, ullTotalManagedSpace - ullRemainingFreeSpace = 200 GB.
Exemplo 2
Suponha que você tenha 2 unidades de 1 TB cada. Suponha que você faça o seguinte:- Crie um pool de armazenamento como um pool de espelho.
- Crie um LUN provisionado fino cujo tamanho é de 10 TB.
ullProvisionedSpace = 10 TB. Isso se aplica somente a pools de provisionamento dinâmico. Esse é o espaço total provisionado para o pool. O espaço total consumido pelo pool é menor ou igual ao espaço total provisionado para o pool.
ullTotalConsumedSpace = 2 TB.
ullTotalManagedSpace = 1 TB.
ullRemainingFreeSpace = 1 TB menos a quantidade de espaço gerenciado que atualmente dá suporte ao LUN.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Cabeçalho | vds.h |