Managing Storage Interfaces
Storage interfaces represent the network ports on a storage system that are used to serve storage resources (iSCSI LUNs, NVMe-oF namespaces, Fibre Channel volumes, etc.) to servers. MetalSoft discovers these interfaces automatically when a storage system is registered, and they can be viewed and configured via the Admin UI or API.
What is a Storage Interface?
Section titled “What is a Storage Interface?”Each storage interface has the following properties:
| Property | Description |
|---|---|
| name | The interface name as reported by the storage system |
| nodeIds | The storage node(s) on which this interface is located |
| protocols | The storage protocols supported by this interface (iscsi, nvme_tcp, scsi_fc, nvme_fc) |
| isUplink | Whether this interface is an uplink — uplink interfaces are provisioned on network devices (switches) during deployment |
| useForDeploys | Whether this interface should be used when deploying storage resources to servers |
| networkEquipmentInterfaceId | The switch port (network equipment interface) this storage port is connected to |
| linkedNetworkDeviceInformation | Read-only details about the linked network device and interface |
Viewing storage interfaces
Section titled “Viewing storage interfaces”Using the Admin UI
Section titled “Using the Admin UI”- Navigate to Storage and select a storage pool
- Click on the storage system
- Go to the Interfaces tab to see all discovered interfaces
Using the API
Section titled “Using the API”# List all interfaces for a storage systemcurl "https://<your-server>/api/v2/storages/{storageId}/interfaces"
# Get a specific interfacecurl "https://<your-server>/api/v2/storages/{storageId}/interfaces/{interfaceId}"Each interface in the response includes the linkedNetworkDeviceInformation object with:
networkDeviceIdandnetworkDeviceName— the switch this interface is connected tonetworkDeviceInterfaceIdandnetworkDeviceInterfaceName— the specific switch port
Configuring storage interfaces
Section titled “Configuring storage interfaces”You can update three settings on a storage interface:
Uplink configuration
Section titled “Uplink configuration”Mark an interface as an uplink to have MetalSoft provision the corresponding port on the network device (switch) during deployment. This is necessary for storage interfaces that connect through managed switches.
curl -X PATCH "https://<your-server>/api/v2/storages/{storageId}/interfaces/{interfaceId}" \ -H "Content-Type: application/json" \ -d '{ "isUplink": true }'Deploy preference
Section titled “Deploy preference”Control which interface the system uses when deploying storage resources (LUNs, volumes, etc.) to servers. If multiple interfaces are marked for deploys, one is chosen at random. If no interface is explicitly marked, the system picks one automatically.
curl -X PATCH "https://<your-server>/api/v2/storages/{storageId}/interfaces/{interfaceId}" \ -H "Content-Type: application/json" \ -d '{ "useForDeploys": true }'Network device association
Section titled “Network device association”Associate a storage interface with a specific switch port. This tells MetalSoft which network equipment interface the storage port is physically connected to, enabling correct VLAN and zone provisioning.
curl -X PATCH "https://<your-server>/api/v2/storages/{storageId}/interfaces/{interfaceId}" \ -H "Content-Type: application/json" \ -d '{ "networkEquipmentInterfaceId": 42 }'Combining updates
Section titled “Combining updates”All three settings can be updated in a single request:
curl -X PATCH "https://<your-server>/api/v2/storages/{storageId}/interfaces/{interfaceId}" \ -H "Content-Type: application/json" \ -d '{ "isUplink": true, "useForDeploys": true, "networkEquipmentInterfaceId": 42 }'Supported protocols
Section titled “Supported protocols”Storage interfaces support the following protocols:
| Protocol | Description |
|---|---|
iscsi | iSCSI over TCP/IP |
nvme_tcp | NVMe over TCP (NVMe-oF) |
scsi_fc | SCSI over Fibre Channel |
nvme_fc | NVMe over Fibre Channel |
A single interface can support multiple protocols. The protocol list is discovered automatically from the storage system and cannot be modified via the API.
Relationship to storage systems
Section titled “Relationship to storage systems”Storage interfaces are also visible on the parent storage object. When retrieving a storage system, the interfaces array is included in the response:
curl "https://<your-server>/api/v2/storages/{storageId}"Related topics
Section titled “Related topics”- Managing Storage Pools — storage pool lifecycle and allocation
- Adding a New Storage Pool — registering storage systems
- Storage Prerequisites — network and hardware requirements