A arquitetura de armazenamento plugável (PSA) é uma estrutura aberta e modular que coordena vários módulos de software responsáveis por operações de vários caminhos.
VMware fornece módulos de vários caminhos nativos genéricos, chamados VMware NMP e VMware HPP. Além disso, o PSA oferece uma coleção de APIs do VMkernel que desenvolvedores de terceiros podem usar. Os desenvolvedores de software podem criar seus próprios módulos de balanceamento de carga e failover para uma matriz de armazenamento específica. Esses módulos de caminhos múltiplos (MPPs) de terceiros podem ser instalados no host ESXi e executados além dos VMware módulos nativos, ou como substitutos.
Ao coordenar os VMware módulos nativos e quaisquer MPPs de terceiros instalados, o PSA executa as seguintes tarefas:
- Carrega e descarrega plug-ins de vários caminhos.
- Oculta as especificações da máquina virtual de um determinado plug-in.
- Encaminha solicitações de E / S de um dispositivo lógico específico para o MPP que gerencia esse dispositivo.
- Lida com o enfileiramento de E / S nos dispositivos lógicos.
- Implementa o compartilhamento de largura de banda do dispositivo lógico entre máquinas virtuais.
- Lida com o enfileiramento de E / S para os HBAs de armazenamento físico.
- Lida com a descoberta e remoção de caminhos físicos.
- Fornece estatísticas de E / S do caminho físico e do dispositivo lógico.
Como mostra a ilustração da Arquitetura de armazenamento conectável, vários MPPs de terceiros podem ser executados em paralelo com o VMware NMP ou HPP. Quando instalados, os MPPs de terceiros podem substituir o comportamento dos módulos nativos. Os MPPs podem assumir o controle do failover de caminho e das operações de balanceamento de carga para os dispositivos de armazenamento especificados.