如果NFS服务器暂时不可用或者在系统启动时它不可达,那么在 /etc/fstab​ 中简单配置的自动挂载将不会起作用。这种情况下,你可能需要一个更为动态的解决方案来监控NFS服务器的可用性,并在它重新恢复服务时自动挂载共享目录。

你可以使用 autofs​ 来实现这个目标。autofs​ 是一种Linux服务,它允许你在访问时自动挂载文件系统,并在一段时间的不活动后自动卸载它们。这对于网络文件系统(如NFS)特别有用。

nfs+autofs.jpg

下面将通过一个安装使用实例,来介绍如何使用 autofs 来动态挂载NFS共享目录。在这个例子中,我们将会把来自 192.168.0.168 的三个NFS共享目录(电影、剧集、music)挂载到本地服务器(movies、tvshows、music)目录。此类场景适用于PVE宿主机黑群晖作为NFS服务器+LXC容器运行Jellyfin/Emby实现硬解播放的需求。当然 autofs 带给家庭、企业的便利使用不限于此,请自行探索。

配置教程

以下安装配置过程在 NFS 客户端(这里指 PVE LXC容器)主机上进行,具体安装步骤如下:

  1. 安装autofs和nfs客户端软件:

    如果你的系统还没有安装autofs和NFS客户端软件,你可以使用包管理器来安装。对于基于Debian的系统(如Ubuntu),使用以下命令:

    sudo apt-get update
    sudo apt-get install autofs nfs-common

    对于基于RHEL的系统(如CentOS),使用以下命令:

    sudo yum install autofs nfs-utils
  2. 配置autofs:

    创建一个新的auto.master配置文件或编辑现有的文件。这个文件通常位于/etc/auto.master。在这个文件中,你需要指定挂载点和map文件。

    使用文本编辑器打开auto.master文件:

    sudo nano /etc/auto.master

    在文件中,添加以下内容:

    /mnt /etc/auto.media --timeout=300 --ghost

    这告诉autofs,我们将使用一个叫做auto.media​​​​​​的map文件来配置在/mnt​​​​​​目录下的挂载点,并设置超时为300秒。选项--ghost​​​​​意味着在文件系统实际被请求之前,都可以看到预期的目录结构。而默认情况只有成功挂载才会显示目录结构。

    保存并关闭文件。

  3. 创建和配置map文件:

    创建一个新的map文件,我们将其命名为auto.media​​​​​。

    使用文本编辑器创建并打开这个文件:

    sudo nano /etc/auto.media

    添加以下内容到这个文件中:

    # 媒体文件推荐的挂载选项 (nfsvers指NFS服务端版本,请根据自己情况修改)
    movies  -fstype=nfs,rw,async,noatime,nfsvers=4,soft,timeo=600,retrans=3   192.168.0.168:/volume1/video/电影
    tvshows -fstype=nfs,rw,async,noatime,nfsvers=4,soft,timeo=600,retrans=3   192.168.0.168:/volume1/video/剧集
    music   -fstype=nfs,rw,async,noatime,nfsvers=4,soft,timeo=600,retrans=3   192.168.0.168:/volume1/music

    保存并关闭文件。

  4. 设置适当的权限:

    sudo chmod 644 /etc/auto.media
  5. 重启autofs服务:

    #基于Debian的系统
    sudo service autofs restart
    
    #基于RHEL的系统
    sudo systemctl restart autofs
  6. 测试挂载点:

    可使用ls命令来分别查看这些目录的内容。

    ls /mnt/movies
    ls /mnt/tvshows
    ls /mnt/music

注意事项

  1. autofs​服务会在访问这些目录时自动挂载它们,并在一段时间不使用后自动卸载。你设置的超时时间是决定卸载的时间。
  2. 当你使用 autofs​ 来管理NFS挂载时,你应该将相关的挂载配置从 /etc/fstab​ 文件中移除,以避免可能的问题,并只通过 autofs​ 来管理这些挂载。

写在最后

总结一下,通过使用 autofs,你可以确保即使在系统启动时NFS服务器不可用,或者在系统运行时NFS服务器变得不可用的情况下,NFS共享也会在服务器恢复后自动挂载。这为网络文件系统提供了一个更加健壮和灵活的自动挂载解决方案。


相关推荐

  1. LFTP 命令常见用法详解
  2. macOS 使用 Setfile 命令更改文件创建时间和修改时间
  3. Ubuntu/Debian 系统安装配置 UFW 简单防火墙
  4. 群晖 Synology DSM 如何安装 Nano 编辑器
  5. 如何查看文件 MD5、SHA-1 以及 SHA-256 哈希值?
  6. CentOS 7 firewalld 防火墙常用命令汇总
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/5273.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。