gpt4 book ai didi

Linux文件异常:Device or resource busy

转载 作者:太空宇宙 更新时间:2023-11-04 12:33:12 24 4
gpt4 key购买 nike

一个简化的负载均衡集群场景:2台CentOS7与GlusterFS共享一些配置文件(Replicate类型),并将Gluster文件系统挂载到各个节点(eg./mnt/gluster/);然后我使用 mount --bind 命令将 *.conf 文件从 glusterfs 挂载点链接到我的应用程序目录(例如/my/app/)。

我修改了/my/app/目录中的 conf 文件,它可以将修改正确地传播到集群中的每个节点。但是一旦我修改了诸如/mnt/gluster/example.conf的文件,这个文件的挂载点(比如/my/app/example.conf)就会变成到无法到达的状态。看起来像:

[root@gluster1 mount]#ll
ls: cannot access 1: No such file or directory
total 0
-????????? ? ? ? ? ? example.conf
[root@gluster1 mount]#mv example.conf example.bak
mv: cannot move ‘example.conf’ to ‘example.bak’: Device or resource busy

我的问题:

  1. 当我们使用'mount --bind'时是否可以修改原始文件?

  2. 为什么文件变成了幻影文件? (没有这样的文件或目录设备或资源繁忙)。

最佳答案

  1. 挂载文件在卸载之前无法更改,这意味着您无法修改挂载文件的元数据。
  2. 一旦你改变了挂载文件的元数据,它将变成一个单独的文件,不再与源文件相关联。可以通过文件的inode来证明。
  3. 由 GlusterFS 管理的文件可能有一个奇怪的 inode,它有一个更大的 inode 编号,Linux 文件系统无法识别('??????' 在输出中)。您可以挂载此类文件,但无法在挂载后更改其元数据。

关于Linux文件异常:Device or resource busy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42712468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com