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.we...@proxmox.com> > --- > src/PVE/Storage/ISCSIPlugin.pm | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > >
applied, thanks! _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel