Overlay mount和bind mount

1.Overlay mount和bind mount都是Linux中用于挂载文件系统的方式,它们的区别如下:

目录结构不同:Overlay mount是将多个文件系统合并成一个虚拟文件系统,而bind mount则是将一个目录挂载到另一个目录上。

内容来源不同:Overlay mount的文件内容来自于下层文件系统和上层文件系统的合并,而bind mount的文件内容来自于被挂载的目录。

文件可见性不同:Overlay mount会将下层文件系统和上层文件系统的文件合并到同一个目录下,因此可以看到所有文件。而bind mount则会隐藏被挂载的目录的原始内容,只显示挂载后的内容。

权限控制不同:Overlay mount会继承上层文件系统的权限控制,而bind mount则会继承被挂载目录的权限控制。

用途不同:Overlay mount通常用于容器化应用程序和分发系统中,而bind mount则用于共享已经存在的目录或文件。 总的来说,Overlay mount和bind mount都是Linux中非常重要的文件系统挂载方式,它们各有优点,可以根据具体的需求使用不同的挂载方式。

ref:https://blog.csdn.net/lhl1124281072/article/details/128878927

 

overlayfs的volatile特性是指在写操作时使用写时复制的方式,将被修改的文件从底层文件系统复制到内存中的副本上进行修改,以保护底层文件系统的完整性。 no-volatile特性是指在写操作时直接修改底层文件系统的内容,而不进行副本的复制。这意味着底层文件系统会直接受到修改,可能会导致底层文件系统的内容发生变化。

使用volatile特性的overlayfs可以在运行时动态地添加、删除或修改底层文件系统的内容,而使用no-volatile特性的overlayfs则直接修改底层文件系统,不会对内容进行复制或保护。

选择使用volatile还是no-volatile取决于具体的需求和场景。如果需要保护底层文件系统的完整性,并且能够动态地管理文件系统的变化,可以选择使用volatile特性的overlayfs。而如果不需要保护底层文件系统,或者需要直接修改底层文件系统的内容,可以选择使用no-volatile特性的overlayfs。

 

overlayfs volatile 会增加内存占用么

是的,使用overlayfs volatile特性可能会增加内存占用。这是因为当使用volatile特性时,OverlayFS会使用写时复制(copy-on-write)的方式处理文件的写操作。这意味着当需要修改文件时,OverlayFS会在上层目录中创建一个副本,并在副本上进行修改,而不是直接修改底层文件系统中的文件。 这种写时复制的操作会占用额外的内存空间,因为需要在内存中存储副本的数据。如果频繁进行文件的写操作,特别是对大型文件进行写操作时,可能会导致内存占用增加。 因此,在使用overlayfs volatile时需要注意内存占用的情况,特别是在限制内存资源的环境中。如果内存资源有限,可能需要考虑调整配置或使用其他方式来管理文件系统的修改

 

OverlayFS的volatile模式主要用于容器等特定使用场景。

 

volatile模式旨在通过省略对上层文件系统的所有同步调用来加速联合文件系统的性能。因此,数据安全性存在风险,因此volatile模式仅适用于在崩溃时可以重新创建数据的情况下使用,因为数据可能会丢失。但是,通过避免对上层文件系统进行同步操作,可以在高I/O操作下显著提高性能。

 

该特性通过触碰一个目录($workdir/work/incompact/volatile)来指示先前的挂载是否依赖于volatile模式,如果已知数据是安全的,用户可以选择丢弃数据或继续挂载和使用。
OverlayFS在Linux 5.10的变更请求中还包括ioctl改进、继续努力实现非特权的overlay挂载以及其他增强功能。

 

https://blog.csdn.net/qq_15770331/article/details/96699386

posted @ 2023-06-19 16:38  rincloud  阅读(1062)  评论(0)    收藏  举报