PowerScale : échec de rpcbind lors de la mise à jour en cas d’utilisation d’une valeur sysctl personnalisée
Summary: « rpcbin » ne démarre pas correctement lors des mises à niveau vers des versions OneFS spécifiques si une valeur personnalisée est définie pour « kern.ipc.somaxconn ».
Symptoms
Après la mise à niveau vers l’une des versions OneFS suivantes :
- 9.7.1.3
- 9.10.0.0
L’accès client est interrompu sur tous les protocoles et en cours d’exécution isi auth Les commandes sur le cluster provoquent l’affichage de l’erreur suivante :
p970-1# isi auth users list Unable to connect to authentication daemon. Please wait until authentication daemon has restarted and retry.
Messages dans /var/log/messages indiquant un échec de connexion au serveur RPC (Remote Procedure Call) :
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
Un problème dans la logique qui a évalué ce paramètre dans les deux versions concernées de OneFS est à l’origine de ce problème. Il est traité dans toutes les autres versions.
Resolution
Ce problème peut être évité s’il est résolu avant la mise à niveau vers une version de OneFS concernée. Si le cluster est déjà affecté, il existe également des étapes de récupération.
Avant la mise à niveau
Recherchez une valeur personnalisée à l’aide du script ci-dessous :
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"
S’il y a une sortie ; Notez la valeur (512 est courant), puis utilisez le script suivant pour supprimer l’entrée :
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"
La mise à niveau peut désormais être effectuée en toute sécurité. Après la mise à niveau, réinitialisez le paramètre sur la valeur précédemment notée à l’aide de la commande suivante. Remplacer $val avec la valeur notée.
isi_sysctl_cluster kern.ipc.somaxconn=$val
Ensuite, redémarrez manuellement les nœuds un par un à l’aide du processus de votre choix.
Après l’impact
Un redémarrage des nœuds concernés est nécessaire.
shutdown -r now