From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 4375D1FF164 for ; Fri, 20 Jun 2025 09:31:55 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id CD3F83E993; Fri, 20 Jun 2025 09:32:23 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wfXzs0zNWxwxMHavSmRx9MSELJ8h0zTWlEfuqTq1WPrqNPmlAU5kMvCmH8FiHy93L6apFu9D1ot7iNjHSLxFyLSQZRtCWC6HBuMI3NRk65apzWaPXni4bTa6k0dMw+8xRhRyLGPYyMMnwjtPyEn9swDhJh57HefUMhcmgNM3SlJ7DF3l4lRa3TC92eSJmv5ru7X3BpSkm4JwVboNvwwb79IIkcn6h0tyVMTXA7jsdqH0GqLlL2LB2Xm3av8UY8+uIJmC3MpdI/7EzancxxSuP1dO37BV+OuTBuXm7VhIK6P6nGG+RqtZ39U/KzWuv332TvQQNtsaAeEm4BG+zNzFVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qAGjD15z4fEePnlAUXRQuRVvQdUK5/qFy79+QY+zIG8=; b=aq048pQS+CPZfawAGl86EuLu70y46MPKbpaXgYtwONPWhrSTe9xUqDe2CB3Lh/v3q0H1RXk47kejtkhivFFVAGKQn6hqyHjmWu2e1GKTRYC3AT7kbyWL/6q32rIlwZ1pZ1hhBFFWcSEwQ3cyp/Os+AV2WnygY6dHUqHh7gSuJs/AbgzTAl3NLHP1bY5m+lzvG64Wb4vGvK/6NHrcOo1E4vPwAA/3ALMdH00RaqdZ8lnX7molsXZ+2aEBs4+zQtI+9pMGFFI0ndjlRdul/f9Rqo5XOk6mpDih57hfEHWCWzmCySbsIqbg3IDDulSBbXjy2zbvcrsXDkSMm5CjuuUEAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=libvirt.dev; dmarc=pass action=none header.from=libvirt.dev; dkim=pass header.d=libvirt.dev; arc=none From: Stelios Vailakakis To: "pve-devel@lists.proxmox.com" Thread-Topic: [PATCH] iscsi: fix excessive connection test spam on storage monitoring Thread-Index: AQHb4VgTVRFMrgyZJUSkTYPKBcLgJA== Date: Fri, 20 Jun 2025 00:44:46 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=libvirt.dev; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR06MB4821:EE_|PH0PR06MB8173:EE_ x-ms-office365-filtering-correlation-id: f21dc67b-531f-4c9b-95e3-08ddaf93a7c5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|586017|34036016|41320700013|366016|13003099007|8096899003|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?Q?2vOWU2ii8v+hGc8SuwKmd8lqqwKYkquMkaD2z5Fyk7+f7uk3BqQiWPZKaY?= =?iso-8859-1?Q?jkBaRwxGBUUzF5xr962ZI7H6V1euFIDvjSDtSXdJDzmbSmLBrCOXsC6tsI?= =?iso-8859-1?Q?VoJ4Qi3XWfqYsJ2dhYnwEe63Zvvc6iUYiL8HCnkTDn4fZJR0yUAyH9jh0O?= =?iso-8859-1?Q?qRcXdz05r4THzLuf5FbcNtAPhx+jSWaZUFLk7AxcdxxAmSfHNkDVj0dBDo?= =?iso-8859-1?Q?NOa0L9UZLjG88QutMV0JC5zRqAXY14J5nDvMXwW9nT0z4P4zC+1IOUIhxw?= =?iso-8859-1?Q?QbKY9RTzknhsBKxFOsumgIQzUwkrRy9J3RQvHS/nIu5Yyzpqws7tagBTho?= =?iso-8859-1?Q?9W5SU1bm9WExcCce2tzqtawJiCwiIqE3hKjkU/SILUgMSbE0vXqZFPId+z?= =?iso-8859-1?Q?cexHxI0nztIoq8TkMvJ0iONveatoh3NmeZ6Q8x1mK92LiDmQHAA/vXxg9z?= =?iso-8859-1?Q?NResub16xm0y2tekZaaQ9/GYsMh8J+U4u+BeioXMU/x97rqIfixi0zATyt?= =?iso-8859-1?Q?MPYPtPypdAZxLBEYa9bK7hP7nkpGkrCAwGV90xbKTMisRrfaB/yq6/62tw?= =?iso-8859-1?Q?hKP7bOhbXEQwBSQLJQe/ojUjOgBZ+nIkJyPEKXdRn39jdSchdouSgELAlr?= =?iso-8859-1?Q?t2BV6DT1XSwUPgSDK5u7Ipr1CcIo6cW3w/yps04VmP9Luzxuk/Zi/lAawx?= =?iso-8859-1?Q?iyyse34i/jSqb17kFa7r4rwbknJ4kawRE10B1qDv6l4/P1a7oAqjQYN1PY?= =?iso-8859-1?Q?9Nf20D26z1VGsEVvOMbcT1MgHxILtjMNVR0AW0CX5t5BiEnk+07nw1pnXA?= =?iso-8859-1?Q?kkSS/JlYl3rk334wfYZKFkCzqf/OpeH3ZBiGSnzxXH1L5Am2LOsCVEPUQb?= =?iso-8859-1?Q?obMskjpS3yLTDP9haieSsH1QLu68waVB9YLC3cIu9yozZYW0nhUe3fR62Z?= =?iso-8859-1?Q?GFFUlBExU5mWHcXyPN8iv9sI+X40d5ixxns0ohNgo1/M9obFwAaVmRvgch?= =?iso-8859-1?Q?zItHxN3hHP1Rz+qSwg1nG8yhRACtMECb5mmlsO2h3Kz3J+1Kiwa5mZ3q5g?= =?iso-8859-1?Q?mAQJfFFjBkp77mnIjM2kjSJeRBFfPddz+VG84EicWa7htD+HtcpcTmEISU?= =?iso-8859-1?Q?o6SjrKl88M6dNAAtO72WoEFKuHyDz/Ks9wHa3cVmw2m9UnILH34aSj00PR?= =?iso-8859-1?Q?AAb+dDtCDa4zB+4OgT6NZn5skLoxq9mDuTALlFgIg/g4q86RFgHrLMvl5L?= =?iso-8859-1?Q?Mqj67s7YltfrusR9N2cazfUcsiOd0iMqgU9nMovsxTsMPiVbPZxjq5fIKn?= =?iso-8859-1?Q?BI+WkMkz6UuMgiyadQMvQx/Y2hMbANYdKFEYWsI4Z2Hb0CD9zG5YM+DqZ8?= =?iso-8859-1?Q?6Vz9+FIvMD/q6U6YQaghTXCz1TCc3W3t4WXHYYbta0DB5vAyqBRCfAk3VZ?= =?iso-8859-1?Q?xYQrPrSZorqvuhpHtFz1hyu6fkJ1OXVVx6+cjjBJ3cI4dG6zu2qU2hnMIR?= =?iso-8859-1?Q?k=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR06MB4821.namprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(586017)(34036016)(41320700013)(366016)(13003099007)(8096899003)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?NwTKWYRo3B/KodTYbYyma+hQSKhdqdFQ2H6TMY37jUnxJqmRVXD47rSlCH?= =?iso-8859-1?Q?8me5ZPtu2tLOkbTGWwY9jdVJHmMoS2ugDV3Li/hwMzy26YYwUAmkC2vDkg?= =?iso-8859-1?Q?5Dc5wwHJrftqqtI0IlK6IZR53Kjqjc990pbbmWCK+oOoa0kjm/vtGB4cwQ?= =?iso-8859-1?Q?aIT+a+Hp+3N1a+TC/AGW7C1DUbVzsq6ZGWIJc0464+wMa0tZzOfKnApBdU?= =?iso-8859-1?Q?QCb4v+FdM6uE9qJYvh01HPJuTlDfI07XIMS+vU+JFUmtZXi8vjKJ1JoNyw?= =?iso-8859-1?Q?7sJuhE7VAubmfeHR2naJd5qMcr3SxZW5QivjCoSqlNt1O1mAhci+lT/KFr?= =?iso-8859-1?Q?kCj9LeXfnEbL/popJ28hjywS5Obc/MfIDOYm2QwHD/I5J3V4iyyBrgytsZ?= =?iso-8859-1?Q?lBTpl9sCjqwD3WayEKX3kyzWebdwH+SAV41aZDlnRet6FuLNoaitDZn24o?= =?iso-8859-1?Q?Qxcu8+u7p49nvaCHFZoSK/USWXbgnpKMXAVYsRYZMHx+Lq0qoQhlPPZEPc?= =?iso-8859-1?Q?F/P69+tEZD3myFNoPWCM/7RJV1MffmzAy1TaIfLsF1DhXvTwYtmUYOMBEU?= =?iso-8859-1?Q?GAaGGYKGfxedeay9FhAoEHOq++HH1hewjnU2rYkQup/ARPPJxRMmNrOJG+?= =?iso-8859-1?Q?xs0N43eWhVa9vK15ztGWutmJsvb3oH2WTspQU6Io4MUy3h5fksx9sonmts?= =?iso-8859-1?Q?XoYrNjjkJoQOkK7CRLHRbzR6wYo+2nHBgoLFj1Zg5C3zi2j9uFj57F9HBY?= =?iso-8859-1?Q?h4VfHW3r4rPBiQukLv9sUW6Zse2n1879c+MfTCW1uPT/dCtw3G06CwB08F?= =?iso-8859-1?Q?658ri/IS8jZafcSeEK0acL4tcZmxaXHxZDcZGIh9wbJpbXT/n0ye9RrdHA?= =?iso-8859-1?Q?u/9osNgSx8gaRxrVypn5P8Av+BPgHpqa4yyH2SYnvW1OIJoPWyrG2s1t2u?= =?iso-8859-1?Q?9kd2YQxMgR+iSbR9c2a3jb3Fs+/+JHjg5RkptvOAxKfItoYRKMjQVy+KAF?= =?iso-8859-1?Q?AZmKtE5J+F6KuP6cX+yT/ymPJDiOQi5ZHxOuvdolYLMtJgQ2GiA873Pc/R?= =?iso-8859-1?Q?d5pthcv30D9lNSoq12jh3PSybz3Ocu4szg7W9+MkwuuXmBYPH/YOzC/Rr2?= =?iso-8859-1?Q?HPFA5x937ihd+cdWNlbl/t4GTKpKDBEkIctUHKssBMA2QtNsQIPK6zERAD?= =?iso-8859-1?Q?uKrWzYT8FHsn/rEji+L+I6lymxTz7ZTJkD7SGL/a6vjDWXT4Qmvkvgzc84?= =?iso-8859-1?Q?0KVdnBCfu0P8Lu0/8frWpcQMq/pPGaVXxR1SpMNkYaIWSQ+IUkkbUqKzvV?= =?iso-8859-1?Q?2yYBg1w2vex3vURCuyQ1kPkQltkVzjMSGiYbcqD3+Y5w6jivBiiwe4TrrM?= =?iso-8859-1?Q?D4hcPZe8gIA+hNmPj1rTCeZ+lL9eZaU+qSA2GqzGUAfv0jLUUBY/vTPOl0?= =?iso-8859-1?Q?Xqdcvh7iEfJVj1MZR1pqEzjVdA2R4FG4JkE5hc3WkXja0eGQrSZ4ypQC6o?= =?iso-8859-1?Q?9qY1pKU1q9swXxN88Kbf2QLcNASCJm8ybi1jhTAd6VEin9zbIbUYkux0aE?= =?iso-8859-1?Q?12XGPBgcBCJUz+f7qHZwZ0wyF8b0LNvpLZf0WFxoOafviWTjl597wuoOEQ?= =?iso-8859-1?Q?ulAZKj2uDTViw=3D?= MIME-Version: 1.0 X-OriginatorOrg: libvirt.dev X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR06MB4821.namprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f21dc67b-531f-4c9b-95e3-08ddaf93a7c5 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2025 00:44:46.5741 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ae52e033-9978-468d-bec0-1b48967ffa38 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: X4vJtLwXW8jNH/WQ4utJW4HCRgHlI4zW2+Og1yQAoNuMvzrqSGUafQ/l9MPgsiFLaAqs8W+h3sqcgBg01nUy+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR06MB8173 X-SPAM-LEVEL: Spam detection results: 0 ARC_SIGNED 0.001 Message has a ARC signature ARC_VALID 0.001 Message has a valid ARC signature BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy HTML_MESSAGE 0.001 HTML included in message KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_SBL_A 0.1 Contains URL's A record listed in the Spamhaus SBL blocklist [185.199.109.133, 185.199.111.133, 185.199.108.133, 185.199.110.133] X-Mailman-Approved-At: Fri, 20 Jun 2025 09:32:22 +0200 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [pve-devel] [PATCH] iscsi: fix excessive connection test spam on storage monitoring X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Hi all, This patch addresses excessive "connection lost" and "connection reset" log spam on iSCSI targets caused by Proxmox storage monitoring performing TCP connection tests every 10 seconds, even when iSCSI sessions are active. The issue appears as continuous log entries on iSCSI targets: "ctld[PID]: 192.168.1.XX: read: connection lost" every 10 seconds on each node. Others have experienced this, as seen in forum posts: iSCSI Reconnecting every 10 seconds to FreeNAS solution | Proxmox Support Forum freenas ctld: read: connection lost | TrueNAS Community Changes: - Support hostnames in portal addresses (not just IP addresses) by updating ISCSI_TARGET_RE and session parsing regex - Skip TCP connection tests in check_connection when active sessions exist - Skip storage activation when sessions are already established This reduces iSCSI target log spam from continuous entries to only legitimate connection issues, while maintaining monitoring functionality. Tested with: - IPv4 and IPv6 portals - Hostname based portals (like nas.example.com) - Multiple Proxmox nodes in cluster 8.2.4 + 8.3.0 (Requires latest ISCSIPlugin.pm. taken from raw.githubusercontent.com/proxmox/pve-storage/823707a7ac99eafe345d9131d10837ebefbb9078/src/PVE/Storage/ISCSIPlugin.pm) - TrueNAS and Linux iSCSI targets - Can apply from /usr/share/perl5/PVE/Storage# patch -p0 < /path/to/iscsifix.patch --- PVE/Storage/ISCSIPlugin.pm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) --- ISCSIPlugin.pm.new-upstream 2025-06-19 16:24:09.220675514 -0500 +++ ISCSIPlugin.pm 2025-06-19 16:24:42.265694074 -0500 @@ -33,7 +33,7 @@ } # Example: 192.168.122.252:3260,1 iqn.2003-01.org.linux-iscsi.proxmox-nfs.x8664:sn.00567885ba8f -my $ISCSI_TARGET_RE = qr/^((?:$IPV4RE|\[$IPV6RE\]):\d+)\,\S+\s+(\S+)\s*$/; +my $ISCSI_TARGET_RE = qr/^(\S+:\d+)\,\S+\s+(\S+)\s*$/; sub iscsi_session_list { assert_iscsi_support(); @@ -49,7 +49,7 @@ my $line = shift; # example: tcp: [1] 192.168.122.252:3260,1 iqn.2003-01.org.linux-iscsi.proxmox-nfs.x8664:sn.00567885ba8f (non-flash) if ($line =~ - m/^tcp:\s+\[(\S+)\]\s+((?:$IPV4RE|\[$IPV6RE\]):\d+)\,\S+\s+(\S+)\s+\S+?\s*$/ + m/^tcp:\s+\[(\S+)\]\s+(\S+:\d+)\,\S+\s+(\S+)\s+\S+?\s*$/ ) { my ($session_id, $portal, $target) = ($1, $2, $3); # there can be several sessions per target (multipath) @@ -480,6 +480,10 @@ sub activate_storage { my ($class, $storeid, $scfg, $cache) = @_; + # Skip if session already exists + my $existing_sessions = iscsi_session($cache, $scfg->{target}); + return 1 if defined($existing_sessions) && scalar(@$existing_sessions) > 0; + return if !assert_iscsi_support(1); my $sessions = iscsi_session($cache, $scfg->{target}); @@ -618,6 +622,11 @@ sub check_connection { my ($class, $storeid, $scfg) = @_; my $cache = {}; + # Check for active session first + my $sessions = iscsi_session_list(); + return 1 if defined($sessions->{$scfg->{target}}); + + # Only check portals if no active session my $portals = iscsi_portals($scfg->{target}, $scfg->{portal}); for my $portal (@$portals) { --- Regards, Stelios Vailakakis _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel