Objeto Pack
[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.]
Um objeto de pacote modela um grupo de discos, uma coleção de discos e volumes gerenciados pelo provedor de software básico ou dinâmico. Um provedor pode conter vários objetos de pacote.
Usando a API, os aplicativos podem direcionar o VDS para adicionar um ou mais discos a um pacote, associar os discos em volumes e, opcionalmente, mover os discos como uma unidade entre hosts. Você não pode importar um volume existente para um pacote.
Observação
A associação em um pacote não implica consistência entre discos em relação ao desempenho, mídia, protocolo de interconexão ou outras características.
Os objetos de disco são não alocados e gerenciados pelo VDS ou são membros exatamente de um pacote. O provedor de software básico pode ter zero ou mais pacotes, cada um contendo um único disco básico. O provedor não impõe limites ao número de volumes em um disco básico. O provedor dinâmico pode ter zero ou mais pacotes com vários discos dinâmicos em cada pacote. Esse provedor limita o número de volumes em um disco, com base no tamanho de um megabyte do banco de dados LDM (gerenciador de disco lógico). Dado que um volume tem pelo menos um plex e uma extensão de disco, o número máximo de volumes para um pacote é de aproximadamente 1000. O número máximo diminui à medida que o número de discos aumenta.
Além dos objetos de disco, um pacote pode conter um ou mais objetos LUN implementados por um ou mais provedores de hardware. Para o kernel do Windows, um LUN é apenas mais um disco. (Os objetos LUN devem ser desmascarados no computador que está executando o programa do provedor.) Quando o disco é um LUN, o objeto LUN expõe as interfaces IVdsLun e IVdsDisk . Um objeto pack usa IVdsDisk, em vez de IVdsLun, para enumerar os LUNs em um pacote. Para obter uma descrição mais detalhada de um LUN, consulte o Objeto LUN.
A ilustração a seguir mostra um pacote com dois membros: um disco e um LUN. Um aplicativo pode adicionar esses objetos a um pacote online e criar um volume a partir das extensões subjacentes de disco e unidade representadas por eixos.
Use o método IVdsSwProvider::CreatePack para criar um novo objeto de pacote. Os chamadores podem obter um ponteiro para um pacote específico selecionando o objeto de pacote desejado na enumeração retornada pelo método IVdsSwProvider:: QueryPacks . Com um objeto pack, você pode adicionar, remover ou substituir os membros de um pacote. Quando você adiciona um objeto de disco a um pacote, o VDS inicializa um disco para desassociar todos os volumes existentes. Por outro lado, um LUN retém todos os detalhes de associação quando é adicionado a um pacote. Se você remover o último disco de um pacote, o VDS excluirá o objeto pack quando o chamador liberar a última referência ao objeto .
As propriedades do objeto incluem um identificador de objeto, um nome, status do pacote e sinalizadores. Um pacote online está disponível para configuração e uso, um pacote offline não está disponível. O VDS dá suporte a qualquer número de pacotes online e offline.
Windows Server 2003: Dá suporte a apenas um pacote online por vez.
O VDS impõe um quorum de discos online em um pacote. O quorum determina se um pacote pode ter um status online e impede que vários hosts concedam um status online ao mesmo pacote. Se o número de discos online em um pacote ficar abaixo do quorum (n/2 + 1), o VDS colocará o pacote online offline.
A tabela a seguir lista interfaces, enumerações e estruturas relacionadas.
Type | Elemento |
---|---|
Interfaces que são sempre expostas por esse objeto | IVdsPack e IVdsPack2*. |
Enumerações associadas | VDS_PACK_FLAG e VDS_PACK_STATUS. |
Estruturas associadas | VDS_PACK_PROP e VDS_PACK_NOTIFICATION. |
*Windows Server 2003: Não há suporte para essa interface até o Windows Vista.