UNIX 分布式与集群文件系统深度剖析
1. 自动挂载器问题与 Autofs 文件系统
传统自动挂载器在使用过程中存在一些固有的问题,而 Autofs 文件系统则有效解决了这些问题。
1.1 传统自动挂载器的问题
- 符号链接问题:自动挂载器通过符号链接将 NFS 文件系统挂载到临时目录。当一段时间无活动时,它会定期卸载文件系统。若进程调用
getcwd()系统调用,真实路径可能被缓存,后续使用该路径时,无法保证文件系统仍处于挂载状态,自动挂载器也无法检测到访问请求,导致用户进程可能看到本地目录结构,产生不可预测的结果。 - 添加新挂载点问题:自动挂载器管理的文件系统列表仅在启动时查询。若要添加新挂载点,只能终止并重启自动挂载器,这显然不是理想的解决方案。
- 性能问题:跨越挂载点时向自动挂载器发送 NFS 请求,再加上符号链接的管理,比直接访问 NFS 文件系统更耗时。
- 单线程问题:自动挂载器是单线程的,一次只能处理一个请求。在挂载 NFS 文件系统时,所有后续访问都会被阻塞。
1.2 Autofs 文件系统的解决方案
Autofs 文件系统将用户级自动挂载守护进程替换为内核级文件系统类型。自动挂载守护进程仍然保留,但启动时会为每个要管理的文件系统挂载 Autofs。例如,Autofs 文件系统会挂载到/mnt。当检测到对