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.

Figura 1. Arquitetura de armazenamento conectável
A imagem mostra MPPs de terceiros em execução em paralelo com o VMware NMP.