PowerScale: rpcbind завершується помилкою під час оновлення, якщо використовується нетипове значення sysctl
Summary: "rpcbind" не запускається належним чином під час оновлень до певних версій OneFS, якщо для "kern.ipc.somaxconn" встановлено нетипове значення.
Symptoms
Після оновлення до однієї з наступних версій OneFS:
- 9.7.1.3
- 9.10.0.0
Доступ клієнта переривається за всіма протоколами, і виконується isi auth Команди на кластері спричиняють появу такої помилки:
p970-1# isi auth users list Unable to connect to authentication daemon. Please wait until authentication daemon has restarted and retry.
Повідомлення в /var/log/messages що вказує на збій підключення до сервера віддаленого виклику процедур (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
Цю проблему спричиняє проблема в логіці, яка оцінювала цей параметр у двох відповідних версіях OneFS. Вона розглядається у всіх інших версіях.
Resolution
Цієї проблеми можна уникнути, якщо її вирішити перед оновленням до версії OneFS, яка зазнала впливу. Якщо кластер вже постраждав, є також кроки відновлення.
Перед оновленням
Перевірте наявність користувацького значення за допомогою сценарію нижче:
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"
Якщо є вихід; Запишіть значення (512 є загальним), а потім використовуйте наступний скрипт, щоб видалити запис:
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"
Тепер оновлення можна виконувати безпечно. Після оновлення поверніть налаштування до раніше записаного значення за допомогою наведеної нижче команди. Замінити $val із зазначеним значенням.
isi_sysctl_cluster kern.ipc.somaxconn=$val
Потім перезавантажуйте вузли вручну по одному, використовуючи будь-який процес, якщо це бажано.
Після удару
Потрібне перезавантаження постраждалих вузлів.
shutdown -r now