[pve-devel] applied: [PATCH storage] iscsi: fix activation of second iSCSI storage on other cluster nodes
Thomas Lamprecht
t.lamprecht at proxmox.com
Mon Nov 11 22:18:05 CET 2024
Am 05.11.24 um 17:37 schrieb Friedrich Weber:
> Assume a cluster that already has an iSCSI storage A configured. After
> adding a new iSCSI storage B with a different target on node 1, B will
> only become active on node 1, not on the other nodes. On other nodes,
> pvestatd logs 'storage B is not online'. The storage does not become
> available even after a reboot. A workaround is to manually perform
> iSCSI discovery against B's targets on the other nodes once.
>
> This happens because the connectivity check of the iSCSI plugin on
> node B does not correctly handle the case that iscsiadm already knows
> portals (i.e., A's portals) but not B's portals.
>
> The connectivity check calls `iscsi_portals` to determine the portals
> to ping, which calls `iscsiadm -m node` to query all known portals,
> and extracts all portals to the storage's target. If the iscsiadm
> command fails, `iscsi_portals` returns the portal given in the storage
> config. This works as expected if the storage is the first iSCSI
> storage, because then iscsiadm does not know any portals and thus
> exits with code 21.
>
> However, since there already is an iSCSI storage A, iscsiadm exits
> cleanly but its output does not contain any portals for B's target.
> Hence, `iscsi_portals` returns an empty array of portals, so the
> connectivity check fails and node 2 never performs discovery for B.
>
> To fix this, let `iscsi_portals` also return the portal from B's
> storage config if iscsiadm exited cleanly but its output contained no
> matching portal.
>
> Signed-off-by: Friedrich Weber <f.weber at proxmox.com>
> ---
> src/PVE/Storage/ISCSIPlugin.pm | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
>
applied, thanks!
More information about the pve-devel
mailing list