La arquitectura de almacenamiento acoplable (Pluggable Storage Architecture, PSA) es un marco modular y abierto que coordina los diversos módulos de software responsables de las operaciones de múltiples rutas.

VMware proporciona módulos de múltiples rutas nativos genéricos, denominados NMP y HPP de VMware. Además, PSA ofrece una recopilación de API de VMkernel que pueden utilizar los desarrolladores de terceros. Los desarrolladores de software pueden crear sus propios módulos de equilibrio de carga y conmutación por error para una matriz de almacenamiento en particular. Estos módulos de múltiples rutas (Multipathing Modules, MPP) de terceros se pueden instalar en el host ESXi y pueden ejecutarse además de los módulos nativos de VMware o bien, como sus sustitutos.

Cuando se coordinan los módulos nativos de VMware y los MPP de terceros instalados, PSA realiza las tareas siguientes:

  • Carga y descarga complementos de múltiples rutas.
  • Oculta las especificaciones de máquinas virtuales de un complemento en particular.
  • Enruta las solicitudes de E/S de un dispositivo lógico específico al MPP que administra ese dispositivo.
  • Controla la cola de E/S a los dispositivos lógicos.
  • Implementa el uso compartido del ancho de banda de dispositivos lógicos entre máquinas virtuales.
  • Controla la cola de E/S a los HBA de almacenamiento físico.
  • Controla la detección y eliminación de rutas de acceso físicas.
  • Proporciona estadísticas de E/S de rutas de acceso físicas y dispositivos lógicos.

Como se muestra en la ilustración de la arquitectura de almacenamiento acoplable, es posible ejecutar varios MPP de terceros en paralelo con NMP o HPP de VMware. Cuando se instalan, los MPP de terceros pueden reemplazar el comportamiento de los módulos nativos. Los MPP pueden tomar el control de las operaciones de conmutación por error de rutas de acceso y de equilibrio de carga para los dispositivos de almacenamiento especificados.

Figura 1. Pluggable Storage Architecture
En la imagen se muestran los MPP de terceros ejecutándose en paralelo con el NMP de VMware.