无法 mkdir /proc/sys/somedir,尽管 /proc/sys 存在

Cannot mkdir /proc/sys/somedir, though /proc/sys exists

正在尝试创建目录。使用以下命令(如 root

$mkdir -p /proc/sys/sunrpc

请注意 /proc/sys 已经存在。然而出现错误

mkdir: cannot create directory ‘/proc/sys/sunrpc’: No such file or directory

出现类似的错误,即使在尝试时也是如此

$cd /proc/sys
$mkdir sunrpc (or sunrpc/ or ./sunrpc or ./sunrpc/ or using sudo)

最终,我尝试按照说明 here 为 nfs 客户端(一个商业 hadoop 系统)设置 rpc 请求配额。能够创建目录成为问题的地方是我需要 运行 命令的地方:

echo 128 > /proc/sys/sunrpc/tcp_slot_table_entries 
echo 128 > /proc/sys/sunrpc/tcp_max_slot_table_entries

并且目录 sunrpc 在父文件系统 /proc/sys 中尚不存在。

有没有人遇到过这种问题(找不到其他确认父目录存在的帖子)?这里会发生什么?谢谢。

在 Linux 上,/proc 中的条目与 PID 直接相关的条目(仅当存在具有给定 ID 的进程时存在)由内核模块在加载时创建或在硬件附加上(很少见——这些用途中的大多数已经转移到 /sys)。

如果您尝试配置用于支持 Linux 内核内 NFS 实现的模块,您需要确保提前加载该实现的相关内核模块并正常工作.您可以识别它们的名称并使用 modprobe 加载它们——或者只启动 NFS 服务器或客户端(根据当前机器的情况);如果服务能够启动,它所依赖的模块必然会被加载。

您不能 mkdir /proc 下的目录的原因是因为这是一个虚拟文件系统,通常在 Linux 下找到的几个之一(/sys 是另一个原则)。

条目由内核本身填充,通常是为了响应加载的内核模块。在你的情况下,我怀疑你 想要 安装 sunrpc 内核模块,可能还有其他模块:

modprobe sunrpc

您可以通过以下方式检查:

grep sunrpc /proc/modules

有进一步的文档可能与不确定 Configure MapR for HP Vertica

如果不是这样,请重申您的评论以及您要实现的具体目标。

Mapr version 5 文档有一组与您提到的相似的说明,并特别注意:

After the reboot of the node, if the /proc/sys/sunrpc directory is not available or if rpcidmapd is not running, start the rpcidmapd service using the following command: service rpcidmapd start.

如果内核模块本身没有解决这个问题,我会检查一下。