iSCSI - multiple targets on different storage arrays with replication and multipathing
VKB-1156How-to
- 📦 Applies to
- XCP-ngXen Orchestra
- 🗓️ Created
- 2025-07-01
- 🔄 Updated
- 2025-07-01
- 🏷️ Tags
Please contact your integrator and/or your vendor directly to find out how to implement this solution on the storage array side.
Environment
Requirements:
- iSCSI multipathing already configured and enabled on XCP-ng hosts.
- This includes the correct multipath daemon configuration for this storage array provided by the vendor (see https://docs.xcp-ng.org/storage/multipathing/).
- LUN must be configured on the storage array side, on both arrays.
- The IQNs of all XCP-ng hosts must be authorized to connect to the related LUN on all storage arrays.
- Replication must be enabled.
- Vendor prerequisites must be applied (contact your integrator and/or vendor).
In our case, we will consider the following elements:
- One iSCSI LUN replicated on two storage arrays.
- IP addresses:
- Storage Array A:
- target 1: 10.0.0.1
- target 2: 10.0.0.2
- Storage Array B:
- target 1: 10.0.0.3
- target 2: 10.0.0.4
- Storage Array A:
Procedure
-
Add iSCSI storage as usual, but fill in the Settings section in this way, then click the magnifying glass to scan:

- For Server: enter the IP address of an iSCSI target for each storage array, separated by a comma. In the example above, we are providing the primary IP of each array. The rest of the paths will be picked up from the multipath list sent by the storage arrays; we just need to ensure we tell XCP-ng to scan BOTH of the replicated storage arrays.
- For IQN: in most cases, select one of the IQNs starting with an asterisk. On some appliances and configurations, there may be a specific IQN you have configured.
-
Once the above fields are filled out, the LUN dropdown should populate with the LUN(s) you want to add. Select the desired LUN and click the create button.
Verification
Once created, to validate that it is active, go to the new SR, in the "Hosts" tab. You should see something like this:

The multihome list should contain all IPs from BOTH storage arrays, not just one or the other.
Was this page helpful?