PowerScale: rpcbind falla durante la actualización si se utiliza un valor sysctl personalizado
Summary: "rpcbind" no se inicia correctamente durante las actualizaciones a versiones específicas de OneFS si se configura un valor personalizado para "kern.ipc.somaxconn".
Symptoms
Después de actualizar a una de las siguientes versiones de OneFS:
- 9.7.1.3
- 9.10.0.0
El acceso de cliente se interrumpe en todos los protocolos y se ejecuta isi auth Los comandos en el clúster provocan que aparezca el siguiente error:
p970-1# isi auth users list Unable to connect to authentication daemon. Please wait until authentication daemon has restarted and retry.
Mensajes en /var/log/messages lo que indica una falla al conectarse al servidor de llamada a procedimiento remoto (RPC):
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
Este problema se debe a un problema en la lógica que evaluó este ajuste en las dos versiones afectadas de OneFS. Se aborda en todas las demás versiones.
Resolution
Este problema se puede evitar si se soluciona antes de actualizar a una versión de OneFS afectada. Si el clúster ya está afectado, también hay pasos de recuperación.
Antes de la actualización
Compruebe si hay un valor personalizado mediante el siguiente script:
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"
Si hay resultado; Anote el valor (512 es común) y, a continuación, utilice el siguiente script para eliminar la entrada:
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 actualización ahora se puede realizar de manera segura. Después de la actualización, revierta el ajuste al valor anotado anteriormente con el siguiente comando. Reemplazar $val con el valor anotado.
isi_sysctl_cluster kern.ipc.somaxconn=$val
Luego, reinicie los nodos manualmente, uno a la vez, mediante cualquier proceso, si lo prefiere.
Después del impacto
Es necesario reiniciar los nodos afectados.
shutdown -r now