Provedores de Gerenciamento de Armazenamento
Os fornecedores de armazenamento podem incluir o gerenciamento baseado no Windows de seus subsistemas de armazenamento dando suporte à API de Gerenciamento de Armazenamento do Windows. Os aplicativos de gerenciamento do Windows podem usar essa API e fornecer serviços integrados de gerenciamento de armazenamento.
Começando com Windows 8, a API de Gerenciamento de Armazenamento do Windows substitui o VDS (Serviço de Disco Virtual), suas APIs e utilitários associados. Além disso, nenhum dos utilitários de gerenciamento de armazenamento introduzidos no Windows 8 usar VDS. Portanto, os fornecedores de armazenamento são incentivados a adotar a API de Gerenciamento de Armazenamento do Windows e desenvolver um provedor apropriado para dar suporte a essa API.
Para dar suporte à API de Gerenciamento de Armazenamento do Windows, os fornecedores de armazenamento podem optar por:
- Desenvolver um SMP (Provedor de Gerenciamento de Armazenamento).
- Desenvolver um provedor SMI-S. Esse provedor é acessado por meio do Serviço de Gerenciamento de Armazenamento do Windows interno. O Serviço de Gerenciamento de Armazenamento é implementado como um SMP.
Ambos os mecanismos também permitem a facilidade de gerenciamento do subsistema de armazenamento por meio da nova API. Além disso, ambos os mecanismos permitem uma extensibilidade fácil por meio de uma interface de passagem bem definida.
Conforme mencionado anteriormente, a API de Gerenciamento de Armazenamento do Windows tem como objetivo fornecer recursos abrangentes de provisionamento e administração de armazenamento. Além disso, essa API foi projetada para evoluir, conforme necessário, com versões sucessivas do Windows. A interface de passagem permite que os aplicativos de gerenciamento de armazenamento executem operações em subsistemas de armazenamento compatíveis, que por vários motivos ainda não foram habilitados diretamente por meio da API bem definida. Embora esse seja um mecanismo importante para facilitar a extensibilidade, o mecanismo de passagem destina-se a ser usado exclusivamente para recursos não expostos por meio da API e não deve ser usado para recursos que podem ser administrados por meio da API.
Arquitetura
O modelo de arquitetura SMP é composto pelos seguintes recursos:
Os aplicativos de gerenciamento do Windows, incluindo os comandos internos do PowerShell, usam a API de Gerenciamento de Armazenamento do Windows. Para o subconjunto pequeno (esperado) de recursos ainda não expostos por meio da API, os aplicativos de gerenciamento de armazenamento do Windows podem usar um mecanismo de passagem. Essa funcionalidade permite, por exemplo, que o pacote completo de classes e métodos SMI-S seja usado, se necessário, e também permite a comunicação proprietária entre o aplicativo e o provedor de armazenamento.
Os subsistemas de armazenamento podem garantir que eles sejam gerenciáveis por aplicativos de gerenciamento do Windows, comprometendo-se a responder à nova API. Isso é feito fornecendo um SMP ou fornecendo um provedor SMI-S, que, por sua vez, será invocado por meio do Serviço de Gerenciamento de Armazenamento do Windows. Se o fornecedor de armazenamento optar por desenvolver um SMP, a comunicação entre o SMP do fornecedor e o subsistema de armazenamento associado poderá ser proprietária. Se o fornecedor de armazenamento optar por utilizar o Serviço SMI-S, ele deverá responder ao comando SMI-S emitido pelo Serviço de Gerenciamento de Armazenamento do Windows.
As interfaces SMP usam WMI.
Há conjuntos de API com métodos e propriedades semelhantes: Classes de API de Gerenciamento de Armazenamento e Interfaces SMP. As Classes de API de Gerenciamento de Armazenamento são o conjunto de classes que aplicativos como Gerenciador do Servidor de Arquivos e System Center Virtual Machine Manager usam. Ele inclui mais classes somente do lado do host, como Partition, Volume e InitiatorPort. Determinados métodos em Classes de API de Gerenciamento de Armazenamento contêm um parâmetro de entrada extra "RunAsJob" (consulte a seção "Operações assíncronas" para obter mais informações). Enquanto isso, as Interfaces SMP não têm classes somente do lado do host e usam InitiatorId em vez de InitiatorPort. Apesar de certas diferenças, a maioria das definições de classe das Classes de API de Gerenciamento de Armazenamento e da Interface SMP são as mesmas.