我的主机文件系统是用noatime标志挂载的ext4 。 但在一个lxc容器内,旗子是缺席的。
这是主机上的mount的输出: /dev/sdb1 on /home type ext4 (rw,noatime)
这里是容器中的mount的输出: /dev/sdb1 on / type ext4 (rw)
我现在有两个问题:
noatime它会有所作为吗? 我的猜测是肯定的 。
noatime ? 理想情况下,我想configuration这样一种方式,它始终尊重主机的文件系统标志。
更新 /proc/mounts显示稍有不同的条目:
rootfs / rootfs rw 0 0 /dev/sdb1 /home ext4 rw,noatime 0 0
我的猜测是,当一个系统调用写入文件时,实现的内核代码将查看noatime标志的状态,并从提供信息给proc文件系统的相同内核例程中获取该信息。
但是,这远非一个权威的观点,如果重要的话,你应该validation它。
atime实际上是否更新? 检查主机和托pipe系统。 我怀疑时间是不同的logging,但是再次,这是一个猜测。
根据你需要多长时间才能得出正确的答案,你可能还需要去寻求一个权威的答案,就是应该是什么样的行为。 如果目前没有按照预期工作,未来可能会改变,请记住,LXC还不是最早的产品发布版本。 提出问题可以帮助稳定答案,但也许把它带到一个LXC开发人员名单?
我认为这是如何更新/ etc / mtime文件的一个错误。 在容器和主机上检查/ proc / mounts。
不是一个真正的答案,更多的是一个想法:除此之外,人们会相信,基本的FS工具(mount,df)使用/ etc / mtime,这是由mount和其他工具编写的简单文本文件,作为fs / mount信息的来源。 如果你使用chroot,你的/ etc / mtab可能会或者可能不会有反映系统真实情况的内容,具体取决于chrooted / etc / mtab的创build时间。 容器中的/ etc / mtab显然不能反映实际的configuration(如在/ proc / mounts中所见)。