Skip to content

Storage Adapters

Storage adapters dictate how the host communicates with underlying storage hardware or network storage targets. Vapor supports local hardware controllers, Fibre Channel Host Bus Adapters (HBAs), and software-defined storage connections.


Local and Hardware Adapters

Navigate to Storage > Adapters to view all detected Host Bus Adapters (HBAs). This includes local AHCI/SATA controllers and any PCIe RAID or Fibre Channel cards installed.

  • Clicking on an HBA will list the specific block devices associated with it.
  • Rescan: If you hot-plug a new drive or reconfigure a hardware RAID array, execute a rescan operation to force the OS to detect the new storage geometry without rebooting.

iSCSI Software Adapter

Vapor provides built-in support for mapping remote iSCSI storage targets over standard Ethernet interfaces. The iSCSI interface is managed as a singleton software adapter.

1. Adapter Configuration Modes

Go to Storage > Adapters and select the iSCSI Software Adapter to configure the following settings:

  • Initiator IQN: Define the unique initiator name (e.g., iqn.2026-03.com.awanio.vapor:node-01).
  • Connection Mode:
    • single_path: Connection goes through a single network gateway path.
    • multipath: Connection spans multiple physical paths for failover and aggregation.
  • Node Startup: Configure whether sessions connect automatically on boot (automatic) or require manual activation (manual).

2. Port Bindings

For multipath setups, bind specific host network interfaces (such as enp2s0 and enp3s0) to the software iSCSI initiator. Port bindings separate storage traffic onto dedicated subnets and NICs.

  • Bind Port: POST /api/v1/storage/iscsi/adapter/port-bindings with payload {"interface_name": "enp2s0"}.
  • Delete Binding: DELETE /api/v1/storage/iscsi/adapter/port-bindings/{binding_id}.

3. Target Discovery

To locate target IQNs on your SAN, execute a discovery call:

  • Discover Targets: POST /api/v1/storage/iscsi/adapter/discover with target portal (IP:port) and optional binding_portals (interfaces mapped to specific portal IPs). This performs an iSCSI SendTargets request.
  • View Discovered Targets: GET /api/v1/storage/iscsi/adapter/targets lists all resolved SAN IQNs.

4. Active Sessions and Authentication

Log in to a discovered target IQN to mount its LUNs:

  • Session Login: POST /api/v1/storage/iscsi/adapter/sessions accepts target_iqn, portal, CHAP credentials (username/password), and binding_portals.
  • Session List: GET /api/v1/storage/iscsi/adapter/sessions returns active iSCSI session identifiers (session_id).
  • Logout Session: DELETE /api/v1/storage/iscsi/adapter/sessions/{session_id}.
  • Forget Target: To clean up discovered metadata, send POST /api/v1/storage/iscsi/adapter/targets/forget with target_iqn and portal.

5. Rescan & LUN Mapping

After establishing a session, rescan the iSCSI bus to discover new volumes:

  • Bus Rescan: POST /api/v1/storage/iscsi/adapter/rescan forces a rescan of all active sessions.
  • Retrieve LUNs and Devices: Use GET /api/v1/storage/iscsi/adapter/luns and GET /api/v1/storage/iscsi/adapter/devices to verify mapping to local block paths (e.g. /dev/sdb or /dev/disk/by-id/*).

Multipath I/O (MPIO) Management

When running the iSCSI adapter in multipath mode, Vapor integrates with the host's multipathd service to manage path failover:

  • List Multipath Devices: GET /api/v1/storage/multipath/devices lists active multipath maps.
  • Get Device Details: GET /api/v1/storage/multipath/devices/{wwid} returns state, policy, and capacity for a specific device by its World Wide Identifier (WWID).
  • List Device Paths: GET /api/v1/storage/multipath/devices/{wwid}/paths shows the status (active, faulty, enabled) of each physical path.
  • Update Routing Policy: PATCH /api/v1/storage/multipath/devices/{wwid}/policy dynamically changes the routing policy (e.g., failover or round_robin).
  • Rescan Multipath: POST /api/v1/storage/multipath/rescan triggers a host-wide re-evaluation of multipath devices.