Hello,
My idea is to replicate what is shown in this guide ( Create a Highly Available iSCSI Target Using a LINSTOR Gateway Cluster - LINBIT )
In particular, what I would like to achieve is a highly available iSCSI setup using three nodes, which in my lab are virtual machines.
For this purpose, I created three VMs, each with one disk for the operating system and an 800 GB disk to be used as shared storage.
I have also created three network interfaces on each node:
- mgmt for server management
- enp8s0 for iSCSI traffic
- enp2s0 for DRBD traffic
All the information is:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 10.30.10.10/24 brd 10.30.10.255 scope global enp2s0
valid_lft forever preferred_lft forever
5: mgmt: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
inet
75/26 brd 172.16.35.127 scope global mgmt
valid_lft forever preferred_lft forever
7: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 172.16.35.6/26 brd 172.16.35.63 scope global enp8s0
valid_lft forever preferred_lft forever
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 10.30.10.20/24 brd 10.30.10.255 scope global enp2s0
valid_lft forever preferred_lft forever
5: mgmt: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
inet 172.16.35.76/26 brd 172.16.35.127 scope global mgmt
valid_lft forever preferred_lft forever
6: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 172.16.35.7/26 brd 172.16.35.63 scope global enp8s0
valid_lft forever preferred_lft forever
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 10.30.10.30/24 brd 10.30.10.255 scope global enp2s0
valid_lft forever preferred_lft forever
5: mgmt: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
inet 172.16.35.77/26 brd 172.16.35.127 scope global mgmt
valid_lft forever preferred_lft forever
6: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 172.16.35.8/26 brd 172.16.35.63 scope global enp8s0
valid_lft forever preferred_lft forever
╭───────────────────────────────────────────────────────────╮
┊ Node ┊ NodeType ┊ Addresses ┊ State ┊
╞═══════════════════════════════════════════════════════════╡
┊ domvme01 ┊ SATELLITE ┊ 172.16.35.75:3366 (PLAIN) ┊ Online ┊
┊ domvme02 ┊ SATELLITE ┊ 172.16.35.76:3366 (PLAIN) ┊ Online ┊
┊ domvme03 ┊ SATELLITE ┊ 172.16.35.77:3366 (PLAIN) ┊ Online ┊
╰───────────────────────────────────────────────────────────╯
╭─────────────────────────────────────────────────────────────────╮
┊ domvme01 ┊ NetInterface ┊ IP ┊ Port ┊ EncryptionType ┊
╞═════════════════════════════════════════════════════════════════╡
┊ + StltCon ┊ default ┊ 172.16.35.75 ┊ 3366 ┊ PLAIN ┊
┊ + ┊ stg ┊ 10.30.10.10 ┊ ┊ ┊
╰─────────────────────────────────────────────────────────────────╯
╭─────────────────────────────────────────────────────────────────╮
┊ domvme02 ┊ NetInterface ┊ IP ┊ Port ┊ EncryptionType ┊
╞═════════════════════════════════════════════════════════════════╡
┊ + StltCon ┊ default ┊ 172.16.35.76 ┊ 3366 ┊ PLAIN ┊
┊ + ┊ stg ┊ 10.30.10.20 ┊ ┊ ┊
╰─────────────────────────────────────────────────────────────────╯
╭─────────────────────────────────────────────────────────────────╮
┊ domvme03 ┊ NetInterface ┊ IP ┊ Port ┊ EncryptionType ┊
╞═════════════════════════════════════════════════════════════════╡
┊ + StltCon ┊ default ┊ 172.16.35.77 ┊ 3366 ┊ PLAIN ┊
┊ + ┊ stg ┊ 10.30.10.30 ┊ ┊ ┊
╰─────────────────────────────────────────────────────────────────╯
linstor storage-pool list
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
┊ StoragePool ┊ Node ┊ Driver ┊ PoolName ┊ FreeCapacity ┊ TotalCapacity ┊ CanSnapshots ┊ State ┊ SharedName ┊
╞═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡
┊ DfltDisklessStorPool ┊ domvme01 ┊ DISKLESS ┊ ┊ ┊ ┊ False ┊ Ok ┊ domvme01;DfltDisklessStorPool ┊
┊ DfltDisklessStorPool ┊ domvme02 ┊ DISKLESS ┊ ┊ ┊ ┊ False ┊ Ok ┊ domvme02;DfltDisklessStorPool ┊
┊ DfltDisklessStorPool ┊ domvme03 ┊ DISKLESS ┊ ┊ ┊ ┊ False ┊ Ok ┊ domvme03;DfltDisklessStorPool ┊
┊ gateway-storage ┊ domvme01 ┊ LVM ┊ storage ┊ 800.00 GiB ┊ 800.00 GiB ┊ False ┊ Ok ┊ domvme01;gateway-storage ┊
┊ gateway-storage ┊ domvme02 ┊ LVM ┊ storage ┊ 800.00 GiB ┊ 800.00 GiB ┊ False ┊ Ok ┊ domvme02;gateway-storage ┊
┊ gateway-storage ┊ domvme03 ┊ LVM ┊ storage ┊ 800.00 GiB ┊ 800.00 GiB ┊ False ┊ Ok ┊ domvme03;gateway-storage ┊
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
linstor-gateway check-health --iscsi-backends lio
[✓] System Utilities
[✓] LINSTOR
[✓] drbd-reactor
[✓] Resource Agents
[✓] iSCSI
[!] NVMe-oF
✗ The nvmetcli tool is not available
exec: “nvmetcli”: executable file not found in $PATH
Please install the nvmetcli package
Hint: nvmetcli is not (yet) packaged on all distributions. See
for instructions on how to manually install it.
[!] NFS
✗ Service nfs-server.service is in the wrong state (not loaded).
This systemd service conflicts with LINSTOR Gateway.
It needs to be loaded, but not started.
Make sure that:
• the nfs-server package is installed
• the nfs-server.service systemd unit is stopped and disabled
Execute systemctl disable --now nfs-server.service to disable and stop the service.
I configured everything, but at the final step, the creation of the iSCSI target I get an error:
linstor-gateway iscsi create \
iqn.2001-09.com.linbit:linstorhci \
172.16.35.9/26 \
800G
ERRO[0000] failed to create iscsi resource: failed to create linstor resource: failed to autoplace resources: Message: ‘Not enough available nodes’; Details: 'Not enough nodes fulfilling the following auto-place criteria:
the current access context has enough privileges to use the node and the storage pool
the node is online
Auto-place configuration details:
Replica count: 2
Additional replica count: 2
Do not place with resource:
linstorhci
Diskless on remaining: false
Auto-placing resource: linstorhci’
Why do I have an additional replica count: 2?
Other useful information:
linstor-gateway version 2.1.0
cat /proc/drbd
version: 9.3.0 (api:2/proto:118-123)
GIT-hash: f5e0e7ebfa6112db11a7fa0bc755af85c89d968d build by root@domvme01, 2026-02-25 01:44:42
Transports (api:21):
linstor-client 1.27.1; GIT-hash: 9c57f040eb3834500db508e4f04d361d006cb6b5
root@domvme01:~# uname -r
6.8.0-84-generic
root@domvme01:~# uname -a
Linux domvme01 6.8.0-84-generic #84-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 5 22:36:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
root@domvme01:~# cat /etc/os-release
PRETTY_NAME=“Ubuntu 24.04.3 LTS”
NAME=“Ubuntu”
VERSION_ID=“24.04”
VERSION=“24.04.3 LTS (Noble Numbat)”
VERSION_CODENAME=noble