Método CreateVirtualDisk da classe MSFT_StorageSubSystem
Cria um novo disco virtual.
Sintaxe
UInt32 CreateVirtualDisk(
[in] String FriendlyName,
[in] UInt16 Usage,
[in] String OtherUsageDescription,
[in, out] UInt64 Size,
[in] Boolean UseMaximumSize,
[in] UInt16 NumberOfDataCopies,
[in] UInt16 PhysicalDiskRedundancy,
[in] UInt16 NumberOfColumns,
[in] UInt64 Interleave,
[in] UInt16 ParityLayout,
[in] Boolean RequestNoSinglePointOfFailure,
[in] Boolean IsEnclosureAware,
[in] UInt16 ProvisioningType,
[in] Boolean RunAsJob,
[out] String CreatedVirtualDisk,
[out] MSFT_StorageJob REF CreatedStorageJob,
[out] String ExtendedStatus
);
Parâmetros
FriendlyName [in]
O nome amigável do disco virtual.
Espera-se que os 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 disco virtual. Se um subsistema não der suporte a isso, a criação de disco virtual ainda deverá ter êxito, no entanto, o disco 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 disco virtual.
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 Other 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 pelos Serviços de Replicação (4)
Reservado pelos Serviços de Migração (5)
Origem da Réplica Local (6)
Origem da Réplica Remota (7)
Destino da Réplica Local (8)
Destino da Réplica Remota (9)
Origem ou destino da réplica local (10)
Origem ou destino da réplica remota (11)
Destino da Réplica Delta (12)
Componente element (13)
Reservado como Colaborador do Pool (14)
Membro de volume composto (15)
Membro Do VirtualDisk composto (16)
Reservado para Moderação (17)
OtherUsageDescription [in]
Um uso específico do fornecedor para o novo disco virtual. Esse parâmetro só poderá ser especificado se o parâmetro Usage estiver definido como Outro.
Tamanho [entrada, saída]
Tamanho desejado, em bytes, do disco virtual. Observe que alguns subsistemas de armazenamento arredondarão o tamanho para cima ou para baixo para um múltiplo de seu tamanho de unidade de alocação.
O subsistema de armazenamento usará esse parâmetro somente se o parâmetro UseMaximumSize for FALSE ou NULL.
Se o parâmetro UseMaximumSize for TRUE, esse parâmetro será ignorado.
Esse parâmetro é necessário e não pode ser zero.
UseMaximumSize [in]
Se TRUE, use o tamanho máximo disponível para criar o disco virtual.
Esse parâmetro não pode ser usado junto com o parâmetro Size .
NumberOfDataCopies [in]
O número de cópias de dados completas a serem mantidas para esse disco virtual.
PhysicalDiskRedundancy [in]
O número de falhas de disco físico que o disco virtual deve ser capaz de suportar antes que ocorra a perda de dados.
NumberOfColumns [in]
O número de discos físicos subjacentes em que os dados devem ser distribuídos. Este parâmetro é necessário.
Intercalar [in]
O número de bytes que devem ser usados para uma faixa em configurações comuns de resiliência baseada em distribuição. A faixa é definida como o tamanho da parte de uma faixa que está em um disco físico. Portanto , Intercalar * NumberOfColumns produzirá o tamanho de uma faixa. Este parâmetro é necessário.
ParityLayout [in]
Se uma configuração de resiliência baseada em paridade for desejada, defina esse parâmetro como um dos valores a seguir.
Se a configuração de resiliência desejada não for baseada em paridade, essa propriedade deverá ser NULL.
Paridade não girada (1)
Paridade girada (2)
RequestNoSinglePointOfFailure [in]
Defina como TRUE para não solicitar nenhum ponto único de falha.
IsEnclosureAware [in]
O comportamento de alocação para esse disco virtual. Os discos virtuais com reconhecimento de compartimento escolherão de forma inteligente os discos físicos a serem usados para sua redundância. Se TRUE, o disco virtual tentará usar discos físicos de compartimentos diferentes para equilibrar a tolerância a falhas entre dois ou mais compartimentos físicos.
ProvisioningType [in]
O tipo de provisionamento para o disco virtual.
Fino (1)
Corrigido (2)
RunAsJob [in]
Se TRUE, esse método usará o parâmetro CreatedStorageJob quando a solicitação estiver demorando muito tempo 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 WMI padrão, conforme determinado pelo método do cliente para invocação. Em outras palavras, ele é síncrono, a menos que solicitado de outra forma.
CreatedVirtualDisk [out]
Se o disco virtual for criado com êxito, esse parâmetro receberá uma cadeia de caracteres que contém um objeto MSFT_VirtualDisk inserido.
CreatedStorageJob [out]
Se RunAsJob for 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 que é 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
Êxito (0)
Sem suporte (1)
Erro não especificado (2)
Tempo limite (3)
Falha (4)
Parâmetro inválido (5)
Parâmetros de método verificados – Trabalho iniciado (4096)
Tamanho sem suporte (4097)
Não há espaço livre suficiente (40000)
Acesso negado (40001)
Não há recursos suficientes para concluir a operação. (40002)
Cache desatualizado (40003)
Você deve especificar um tamanho usando o parâmetro Size ou UseMaximumSize. Você pode especificar apenas um desses parâmetros por vez. (40005)
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)
Nenhum pool de armazenamento foi encontrado que possa dar suporte a essa configuração de disco virtual. (47000)
Não há suporte para o valor de NoSinglePointOfFailure. (49001)
O valor de PhysicalDiskRedundancy está fora do intervalo de valores com suporte. (49002)
O valor de NumberOfDataCopies está fora do intervalo de valores com suporte. (49003)
O valor de ParityLayout está fora do intervalo de valores com suporte. (49004)
O valor de Interleave está fora do intervalo de valores com suporte. (49005)
O valor de NumberOfColumns está fora do intervalo de valores com suporte. (49006)
Comentários
Esse método normalmente é usado quando um dos seguintes é verdadeiro:
- Os pools de armazenamento do subsistema de armazenamento não permitem a criação de disco virtual diretamente.
- O subsistema de armazenamento não dá suporte a pools de armazenamento.
Os provedores de gerenciamento de armazenamento também podem optar por implementar esse método para escolher "de forma inteligente" um pool de armazenamento para o usuário. Se esse método tiver suporte, a propriedade SupportsAutomaticStoragePoolSelection do subsistema deverá ser definida como TRUE.
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 |