【发布时间】:2023-01-20 18:42:06
【问题描述】:
如果我有一个在 kubernetes 容器中运行的 linux 进程,当在附加存储卷上创建文件时,我能否依赖 inotify 正常工作?有什么限制吗?
【问题讨论】:
标签: kubernetes containers storage inotify
如果我有一个在 kubernetes 容器中运行的 linux 进程,当在附加存储卷上创建文件时,我能否依赖 inotify 正常工作?有什么限制吗?
【问题讨论】:
标签: kubernetes containers storage inotify
inotify 机制在容器和 Kubernetes 中起作用。 Inotify 开发了一种机制来监视文件系统中的事件,该机制监视单个文件和目录。当它监视目录时,它将报告目录本身和其中文件的事件。
inotify 施加的限制:
Inotify 只能与 Linux 操作系统一起使用,因为它是 Linux 内核的一个子系统。
由于递归监视 Inotify 不支持目录,因此每个子目录都需要自己的 inotify 监视。相反,inotifywait 命令确实启用了递归目录监视。
在 sysfs 和 procfs 中,Inotify 确实报告了一些事件,但不是全部。
在像 NFS 这样的网络文件系统中,一个客户端所做的更改不会立即广播到其他客户端,通过 inotify 的通知要求内核了解所有相关的文件系统事件。
不直接处理重命名事件;即,inotify 涉及两个不同的事件,必须在可能的竞争条件的上下文中对其进行调查和匹配。
有关更多详细信息,您可以参考这些文章:
【讨论】: