A Pluggable Storage Architecture (PSA) é uma estrutura aberta e modular que coordena vários módulos de software responsáveis por operações de multipathing.
O VMware fornece módulos de caminhos múltiplos nativos genéricos, chamados VMware NMP e VMware HPP. Além disso, o PSA oferece uma coleção de APIs do VMkernel que os desenvolvedores de terceiros podem usar. Os desenvolvedores de software podem criar seus próprios módulos de balanceamento de carga e failover para um determinado array de armazenamento. Esses módulos de caminhos múltiplos (MPPs) de terceiros podem ser instalados no host ESXi e executados além dos módulos nativos VMware ou como sua substituição.
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 caminhos múltiplos.
- Oculta os detalhes da máquina virtual de um determinado plug-in.
- Roteia solicitações de E/S para um dispositivo lógico específico para o MPP que gerencia esse dispositivo.
- Manipula o enfileiramento de E/S para os 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 a remoção de caminho físico.
- Fornece estatísticas de E/S do dispositivo lógico e do caminho físico.
Como mostra a ilustração da Arquitetura de armazenamento plugá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.