使用 Autofs 实现 NFS 共享目录动态挂载

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

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

使用 Autofs 实现 NFS 共享目录动态挂载

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

配置教程

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

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

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

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

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

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

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

    使用文本编辑器打开 auto.mas­ter 文件:

    sudo nano /etc/auto.master

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

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

    这告诉 aut­ofs,我们将使用一个叫做 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​ 来管理这些挂载。

写在最后

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

给TA打赏
共{{data.count}}人
人已打赏
系统运维

Duplicity:企业级的数据增量备份与数据恢复工具

2023-7-30 17:21:31

系统运维

甲骨文 Debian 扩容引导卷/无损调整系统分区

2023-8-7 11:18:52

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索