PowerPath for Linux:无法在 Linux 系统上启动 PowerPath ||收到错误“查找功能的地址丢失”
Summary: 无法在作系统和内核版本处于受支持级别的 Linux 系统上启动 PowerPath。我们收到的错误类似于我们通常收到的不受支持的内核版本。
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
在 Linux 系统上安装了 PowerPath 并尝试启动 PowerPath,但失败。
# systemctl start PowerPath.service
PowerPath could not load module emcp
Error loading PowerPath kernel modules
From messages file --
systemd[1]:正在启动 PowerPath 启动脚本...
kernel: emcp: module license 'prietary' taints kernel.
kernel: Disabling lock debugging due to kernel taint
kernel: emcp: module verification failed: signature and/or required key missing - tainting kernel
kernel: emcp: applying kernel_stack fix up
systemd-udevd[604]: specified group 'lp' unknown
kernel:Warning:emcp: emcp:查找功能的地址缺失
PowerPath [2869]:启动 PowerPath:PowerPath could not load module emcp
PowerPath [2869]:加载 PowerPath 内核模块
时出错 PowerPath[2869]: failed
systemd[1]:正在停止 PowerPath 启动脚本...
# systemctl start PowerPath.service
PowerPath could not load module emcp
Error loading PowerPath kernel modules
From messages file --
systemd[1]:正在启动 PowerPath 启动脚本...
kernel: emcp: module license 'prietary' taints kernel.
kernel: Disabling lock debugging due to kernel taint
kernel: emcp: module verification failed: signature and/or required key missing - tainting kernel
kernel: emcp: applying kernel_stack fix up
systemd-udevd[604]: specified group 'lp' unknown
kernel:Warning:emcp: emcp:查找功能的地址缺失
PowerPath [2869]:启动 PowerPath:PowerPath could not load module emcp
PowerPath [2869]:加载 PowerPath 内核模块
时出错 PowerPath[2869]: failed
systemd[1]:正在停止 PowerPath 启动脚本...
Cause
Linux 系统内核的调整方式
为 kernel.randomize_va_space = 2
kernel.kptr_restrict = 2
# cat /proc/sys/kernel/kptr_restrict
2
上述设置/调整使“/proc/kallsyms”中的所有地址都0x0000000000这是不正常的,并且不是 PowerPath 启动脚本预期的。因此,PowerPath 服务无法启动。
为 kernel.randomize_va_space = 2
kernel.kptr_restrict = 2
# cat /proc/sys/kernel/kptr_restrict
2
上述设置/调整使“/proc/kallsyms”中的所有地址都0x0000000000这是不正常的,并且不是 PowerPath 启动脚本预期的。因此,PowerPath 服务无法启动。
此选项会使通过 /proc/kallsyms 导出到用户空间的内核符号无效。
Powerpath 启动脚本查看 /proc/kallsyms 以获取某些内核函数的地址,并在加载 emcp 模块时将这些地址作为参数传递。由于预期的内核符号不再可用于 Powerpath 启动脚本,emcp 模块无法加载,因此启动脚本失败。
Resolution
要解决此问题,您需要将以下参数恢复为默认值,以便“/proc/ kallsyms”开始列出正确的地址。
# echo 0 >/proc/sys/kernel/kptr_restrict
# echo 0 >/proc/sys/kernel/randomize_va_space
# cat /proc/sys/kernel/kptr_restrict
0
然后尝试启动 PowerPath 服务。它应该开始!
# systemctl start PowerPath.service
# echo 0 >/proc/sys/kernel/kptr_restrict
# echo 0 >/proc/sys/kernel/randomize_va_space
# cat /proc/sys/kernel/kptr_restrict
0
然后尝试启动 PowerPath 服务。它应该开始!
# systemctl start PowerPath.service
Additional Information
如果您不确定为什么会更改“kernel.randomize_va_space”和“kernel.kptr_restrict”参数,请与您的作系统供应商联系,因为这通常是一个调整参数。
Affected Products
PowerPath for LinuxProducts
PowerPath for LinuxArticle Properties
Article Number: 000050401
Article Type: Solution
Last Modified: 22 Aug 2025
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.