PowerScale: rpcbind schlägt während der Aktualisierung fehl, wenn ein nutzerdefinierter sysctl-Wert verwendet wird
Summary: "rpcbind" kann während Upgrades auf bestimmte OneFS-Versionen nicht korrekt gestartet werden, wenn ein nutzerdefinierter Wert für "kern.ipc.somaxconn" festgelegt ist.
Symptoms
Nach dem Upgrade auf eine der folgenden OneFS-Versionen:
- 9.7.1.3
- 9.10.0.0
Der Client-Zugriff ist über alle Protokolle hinweg unterbrochen und wird isi auth Befehle auf dem Cluster führen dazu, dass der folgende Fehler angezeigt wird:
p970-1# isi auth users list Unable to connect to authentication daemon. Please wait until authentication daemon has restarted and retry.
Meldungen in /var/log/messages Zeigt einen Fehler beim Herstellen einer Verbindung zum RPC-Server (Remote Procedure Call) an:
2024-11-25T14:59:51.084340+00:00 <1.3> p970-1(id1) isi_celog_capture[4169]: drive_d_connect: Failed to connect to RPC server at 127.0.0.1 (errno=Invalid argument, rpc clnt_stat=15); retrying 2 of 3.
Cause
Dieses Problem wurde durch ein Problem in der Logik verursacht, die diese Einstellung in den beiden betroffenen Versionen von OneFS bewertet hat. Es wird in allen anderen Versionen behandelt.
Resolution
Dieses Problem kann vermieden werden, wenn es vor dem Upgrade auf eine betroffene OneFS-Version behoben wird. Wenn das Cluster bereits betroffen ist, gibt es auch Recovery-Schritte.
Vor dem Upgrade
Suchen Sie mit dem folgenden Skript nach einem nutzerdefinierten Wert:
sys_files="/etc/mcp/templates/sysctl.conf /etc/mcp/override/sysctl.conf /etc/local/sysctl.conf"; while read -r file; do grep "somaxconn" "$file" 2>/dev/null done <<<"$sys_files"
Wenn es eine Ausgabe gibt; Notieren Sie sich den Wert (512 ist üblich) und verwenden Sie dann das folgende Skript, um den Eintrag zu entfernen:
sys_files="/etc/mcp/templates/sysctl.conf /etc/mcp/override/sysctl.conf /etc/local/sysctl.conf"; while read -r file; do sed -i bak "s/^kern.ipc.somaxconn.*//g" "$file" 2>/dev/null done <<<"$sys_files"
Das Upgrade kann jetzt sicher durchgeführt werden. Setzen Sie die Einstellung nach dem Upgrade mit dem folgenden Befehl auf den zuvor notierten Wert zurück. Ersetzen $val mit dem notierten Wert.
isi_sysctl_cluster kern.ipc.somaxconn=$val
Starten Sie die Nodes dann manuell neu, einen nach dem anderen, bei Bedarf mit einem beliebigen Prozess.
Nach dem Aufprall
Ein Neustart der betroffenen Nodes ist erforderlich.
shutdown -r now