Método CreateStoragePool da classe MSFT_StorageSubSystem
Cria um pool de armazenamento de discos físicos disponíveis contidos em um pool primordial comum.
Um disco físico estará disponível para criação do pool de armazenamento se a propriedade CanPool de seu objeto MSFT_PhysicalDisk for TRUE.
A criação do pool de armazenamento só estará disponível quando a propriedade SupportsStoragePoolCreation do objeto MSFT_StorageSubSystem do subsistema de armazenamento for TRUE.
Sintaxe
UInt32 CreateStoragePool(
[in] String FriendlyName,
[in] UInt16 Usage,
[in] String OtherUsageDescription,
[in] String PhysicalDisks[],
[in] String ResiliencySettingNameDefault,
[in] UInt16 ProvisioningTypeDefault,
[in] UInt64 LogicalSectorSizeDefault,
[in] Boolean EnclosureAwareDefault,
[in] UInt64 WriteCacheSizeDefault,
[in] Boolean AutoWriteCacheSize,
[in] Boolean RunAsJob,
[out] String CreatedStoragePool,
[out] MSFT_StorageJob REF CreatedStorageJob,
[out] String ExtendedStatus
);
Parâmetros
FriendlyName [in]
Especifica o nome amigável para o novo pool de armazenamento.
Espera-se que nomes amigáveis sejam descritivos, mas não precisam ser exclusivos. Observe que alguns subsistemas de armazenamento não permitem definir um nome amigável durante a criação do pool.
Se um subsistema não der suporte a isso, a criação do pool de armazenamento ainda deverá ter êxito. No entanto, o pool pode ter um nome diferente atribuído a ele.
Esse parâmetro é necessário e não pode ser NULL.
Uso [in]
Especifica o uso pretendido para o pool de armazenamento.
Você pode especificar uma descrição predefinida ou uma descrição personalizada. Para especificar uma descrição predefinida, use um valor diferente de Outro.
Para especificar uma descrição personalizada, use Outros e especifique um valor não NULL para o parâmetro OtherUsageDescription .
Outros (1)
Irrestrito (2)
Reservado para ComputerSystem (o servidor de bloco) (3)
Reservado como um contêiner de réplica delta (4)
Reservado para serviços de migração (5)
Reservado para Serviços de Replicação Local (6)
Reservado para Serviços de Replicação Remota (7)
Reservado para Poupar (8)
OtherUsageDescription [in]
Permite que um usuário defina um tipo de uso personalizado para o novo objeto MSFT_StoragePool . Esse parâmetro só poderá ser especificado se o parâmetro Usage estiver definido como Outro.
PhysicalDisks [in]
Uma matriz de cadeias de caracteres, cada uma das quais contém uma instância inserida da classe MSFT_PhysicalDisk .
Esse parâmetro é usado para especificar uma matriz de objetos MSFT_PhysicalDisk que serão usados como o armazenamento de dados de backup para o pool de armazenamento recém-criado. Os discos físicos devem vir de um pool primordial no subsistema no qual você está criando esse pool. Todos os discos físicos devem vir do mesmo pool primordial.
Esse parâmetro é necessário e não pode ser NULL.
ResiliencySettingNameDefault [in]
A configuração de resiliência desejada a ser usada por padrão ao criar um novo disco virtual nesse pool de armazenamento. Se a propriedade SupportsMultipleResiliencySettingsPerStoragePool do subsistema estiver definida como FALSE, esse parâmetro também atuará como uma dica para o provedor de gerenciamento de armazenamento no qual a configuração de resiliência deve ser herdada por esse pool de armazenamento. Se nenhum valor for fornecido, o provedor de gerenciamento de armazenamento será responsável por escolher a configuração de resiliência mais apropriada.
ProvisioningTypeDefault [in]
O tipo de provisionamento desejado a ser usado por padrão ao criar um novo disco virtual nesse pool de armazenamento. Se esse parâmetro for zero, o tipo de provisionamento padrão será herdado do pool primordial.
Fino (1)
Corrigido (2)
LogicalSectorSizeDefault [in]
O tamanho padrão do setor lógico, em bytes. Isso é útil quando um pool de armazenamento pode conter uma combinação de discos físicos nativos de 512 bytes emulados e nativos de 4K ou de 512 bytes.
EnclosureAwareDefault [in]
A política de alocação padrão para discos virtuais criados em um pool de armazenamento com reconhecimento de compartimento. Por exemplo, um subsistema de reconhecimento de compartimento pode equilibrar cada cópia de dados do disco virtual entre vários compartimentos físicos, de forma que cada compartimento contenha uma cópia de dados completa do disco virtual.
WriteCacheSizeDefault [in]
O tamanho padrão do cache de gravação para criação de disco virtual.
AutoWriteCacheSize [in]
Se TRUE, o provedor deverá pegar o tamanho do cache de gravação automática.
RunAsJob [in]
Se TRUE, esse método usará o parâmetro CreatedStorageJob quando a solicitação estiver demorando muito para ser atendida. Se um trabalho de armazenamento tiver sido criado para acompanhar a operação, esse método retornará Parâmetros de Método Verificados – Trabalho Iniciado.
Observação
Mesmo que RunAsJob seja TRUE, esse método ainda poderá retornar um resultado se tiver terminado em tempo suficiente.
Se FALSE ou NULL, esse método seguirá o comportamento assíncrono padrão do WMI, conforme determinado pelo método do cliente para invocação. Em outras palavras, ele é síncrono, a menos que solicitado de outra forma.
CreatedStoragePool [out]
Se o pool de armazenamento for criado com êxito, esse parâmetro receberá uma cadeia de caracteres que contém um objeto MSFT_StoragePool inserido.
CreatedStorageJob [out]
Se RunAsJob estiver definido como TRUE e esse método levar muito tempo para ser executado, esse parâmetro receberá uma referência ao objeto de trabalho de armazenamento usado para acompanhar a operação de execução prolongada.
ExtendedStatus [out]
Uma cadeia de caracteres que contém um objeto MSFT_StorageExtendedStatus inserido.
Esse parâmetro permite que o provedor de armazenamento retorne informações de erro estendidas (específicas da implementação).
Retornar valor
Sucesso (0)
Sem suporte (1)
Erro não especificado (2)
Tempo limite (3)
Falha (4)
Parâmetro inválido (5)
Objeto Não Encontrado (8)
Parâmetros de método verificados – Trabalho iniciado (4096)
Acesso negado (40001)
Não há recursos suficientes para concluir a operação. (40002)
Cache desatualizado (40003)
Ocorreu um erro inesperado de E/S (40004)
A solicitação falhou devido a um erro fatal de hardware do dispositivo. (40007)
Não é possível se conectar ao provedor de armazenamento. (46000)
O provedor de armazenamento não pode se conectar ao subsistema de armazenamento. (46001)
Não foi possível habilitar clustering de failover para esse objeto de armazenamento. (46008)
Não existe nenhuma configuração de resiliência com esse nome. (49000)
O valor de WriteCacheSize está fora do intervalo de valores com suporte. (50005)
Um dos discos físicos especificados não é compatível com essa operação. (51000)
Não foram especificados discos físicos suficientes para concluir a operação com êxito. (51001)
Um dos discos físicos especificados já está em uso. (51002)
Um dos discos físicos especificados usa um tamanho de setor que não é compatível com esse pool de armazenamento. (51003)
Um ou mais discos físicos não estão conectados aos nós nos quais o pool está sendo criado. (51005)
Comentários
Os subsistemas que não dão suporte a pools de armazenamento devem implementar esse método da seguinte maneira:
- A propriedade SupportsAutomaticStoragePoolSelection do objeto MSFT_StorageSubSystem deve ser definida como TRUE.
- As propriedades SupportsStoragePoolCreation, SupportsStoragePoolModification e SupportsStoragePoolDeletion do objeto MSFT_StorageSubSystem devem ser definidas como FALSE.
- O objeto MSFT_VirtualDisk deve ser criado no subsistema chamando MSFT_StorageSubSystem.CreateVirtualDisk. Nesse caso, o suporte para esse método é obrigatório.
- O suporte para as classes MSFT_StoragePool e MSFT_ResiliencySetting não é necessário.
- O suporte para o método MSFT_StoragePool.CreateVirtualDisk não é necessário.
Subsistemas que dão suporte a pools de armazenamento, mas não permitem a seleção do pool de armazenamento (seleção de administrador do pool no qual o disco virtual é criado), criação, modificação ou exclusão devem implementar esse método da seguinte maneira:
- A propriedade SupportsAutomaticStoragePoolSelection do objeto MSFT_StorageSubSystem deve ser definida como TRUE.
- As propriedades SupportsStoragePoolCreation, SupportsStoragePoolModification e SupportsStoragePoolDeletion do objeto MSFT_StorageSubSystem devem ser definidas como FALSE.
- O objeto MSFT_VirtualDisk deve ser criado no subsistema chamando MSFT_StorageSubSystem.CreateVirtualDisk. Nesse caso, o suporte para esse método é obrigatório.
- O pool de armazenamento no qual o objeto MSFT_VirtualDisk será criado precisa ser selecionado automaticamente pelo SMP.
- O suporte para as classes MSFT_StoragePool e MSFT_ResiliencySetting não é necessário.
- O suporte para o método MSFT_StoragePool.CreateVirtualDisk não é necessário.
Subsistemas que dão suporte a pools de armazenamento e seleção de pool de armazenamento, mas não dão suporte à criação, modificação ou exclusão do pool de armazenamento, devem implementar esse método da seguinte maneira:
- A propriedade SupportsAutomaticStoragePoolSelection do objeto MSFT_StorageSubSystem deverá ser definida como TRUE somente se o método MSFT_StoragePool.CreateVirtualDisk for implementado.
- As propriedades SupportsStoragePoolCreation, SupportsStoragePoolModification e SupportsStoragePoolDeletion do objeto MSFT_StorageSubSystem devem ser definidas como FALSE.
- O objeto MSFT_VirtualDisk deve ser criado no subsistema chamando MSFT_StorageSubSystem.CreateVirtualDisk. Nesse caso, o suporte para esse método é obrigatório.
- O pool de armazenamento no qual o objeto MSFT_VirtualDisk será criado precisa ser selecionado automaticamente pelo usuário.
- O suporte para as classes MSFT_StoragePool e MSFT_ResiliencySetting é necessário. É necessário suporte para pelo menos um pool concreto e um tipo de configuração de resiliência.
- O suporte para o método MSFT_StoragePool.CreateVirtualDisk é opcional.
Subsistemas que dão suporte a pools de armazenamento e seleção de pool de armazenamento e também dão suporte à criação, modificação ou exclusão do pool de armazenamento devem implementar esse método da seguinte maneira:
- A propriedade SupportsAutomaticStoragePoolSelection do objeto MSFT_StorageSubSystem deverá ser definida como TRUE somente se o método MSFT_StoragePool.CreateVirtualDisk for implementado.
- As propriedades SupportsStoragePoolCreation, SupportsStoragePoolModification e SupportsStoragePoolDeletion do objeto MSFT_StorageSubSystem devem ser definidas como TRUE.
- O objeto MSFT_VirtualDisk deve ser criado no subsistema chamando MSFT_StorageSubSystem.CreateVirtualDisk. Nesse caso, o suporte para esse método é obrigatório.
- O pool de armazenamento no qual o objeto MSFT_VirtualDisk será criado precisa ser selecionado automaticamente pelo usuário.
- O suporte para as classes MSFT_StoragePool e MSFT_ResiliencySetting é necessário. É necessário suporte para pelo menos um pool concreto e um tipo de configuração de resiliência.
- O suporte para o método MSFT_StoragePool.CreateVirtualDisk é opcional.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Namespace | Root\Microsoft\Windows\Storage |
MOF | Storagewmi.mof |