如何使用 autofs 挂载 NFS 共享
创始人
2024-03-02 02:24:28
0

给你的网络文件系统(NFS)配置一个基本的自动挂载功能。

大多数 Linux 文件系统在引导时挂载,并在系统运行时保持挂载状态。对于已在 fstab 中配置的任何远程文件系统也是如此。但是,有时你可能希望仅按需挂载远程文件系统。例如,通过减少网络带宽使用来提高性能,或出于安全原因隐藏或混淆某些目录。autofs 软件包提供此功能。在本文中,我将介绍如何配置基本的自动挂载。

首先做点假设:假设有台 NFS 服务器 tree.mydatacenter.net 已经启动并运行。另外假设一个名为 ourfiles 的数据目录还有供 Carl 和 Sarah 使用的用户目录,它们都由服务器共享。

一些最佳实践可以使工作更好:服务器上的用户和任何客户端工作站上的帐号有相同的用户 ID。此外,你的工作站和服务器应有相同的域名。检查相关配置文件应该确认。

alan@workstation1:~$ sudo getent passwd carl sarah
[sudo] password for alan:
carl:x:1020:1020:Carl,,,:/home/carl:/bin/bash
sarah:x:1021:1021:Sarah,,,:/home/sarah:/bin/bash

alan@workstation1:~$ sudo getent hosts
127.0.0.1       localhost
127.0.1.1       workstation1.mydatacenter.net workstation1
10.10.1.5       tree.mydatacenter.net tree

如你所见,客户端工作站和 NFS 服务器都在 hosts 文件中配置。我假设这是一个基本的家庭甚至小型办公室网络,可能缺乏适合的内部域名服务(即 DNS)。

安装软件包

你只需要安装两个软件包:用于 NFS 客户端的 nfs-common 和提供自动挂载的 autofs

alan@workstation1:~$ sudo apt-get install nfs-common autofs

你可以验证 autofs 相关的文件是否已放在 /etc 目录中:

alan@workstation1:~$ cd /etc; ll auto*
-rw-r--r-- 1 root root 12596 Nov 19  2015 autofs.conf
-rw-r--r-- 1 root root   857 Mar 10  2017 auto.master
-rw-r--r-- 1 root root   708 Jul  6  2017 auto.misc
-rwxr-xr-x 1 root root  1039 Nov 19  2015 auto.net*
-rwxr-xr-x 1 root root  2191 Nov 19  2015 auto.smb*
alan@workstation1:/etc$

配置 autofs

现在你需要编辑其中几个文件并添加 auto.home 文件。首先,将以下两行添加到文件 auto.master 中:

/mnt/tree  /etc/auto.misc
/home/tree  /etc/auto.home

每行以挂载 NFS 共享的目录开头。继续创建这些目录:

alan@workstation1:/etc$ sudo mkdir /mnt/tree /home/tree

接下来,将以下行添加到文件 auto.misc

ourfiles        -fstype=nfs     tree:/share/ourfiles

该行表示 autofs 将挂载 auto.master 文件中匹配 auto.miscourfiles 共享。如上所示,这些文件将在 /mnt/tree/ourfiles 目录中。

第三步,使用以下行创建文件 auto.home

*               -fstype=nfs     tree:/home/&

该行表示 autofs 将挂载 auto.master 文件中匹配 auto.home 的用户共享。在这种情况下,Carl 和 Sarah 的文件将分别在目录 /home/tree/carl/home/tree/sarah中。星号 *(称为通配符)使每个用户的共享可以在登录时自动挂载。 符号也可以作为表示服务器端用户目录的通配符。它们的主目录会相应地根据 passwd 文件映射。如果你更喜欢本地主目录,则无需执行此操作。相反,用户可以将其用作特定文件的简单远程存储。

最后,重启 autofs 守护进程,以便识别并加载这些配置的更改。

alan@workstation1:/etc$ sudo service autofs restart

测试 autofs

如果更改文件 auto.master 中的列出目录,并运行 ls 命令,那么不会立即看到任何内容。例如,切换到目录 /mnt/tree。首先,ls 的输出不会显示任何内容,但在运行 cd ourfiles 之后,将自动挂载 ourfiles 共享目录。 cd 命令也将被执行,你将进入新挂载的目录中。

carl@workstation1:~$ cd /mnt/tree
carl@workstation1:/mnt/tree$ ls
carl@workstation1:/mnt/tree$ cd ourfiles
carl@workstation1:/mnt/tree/ourfiles$

为了进一步确认正常工作,mount 命令会显示已挂载共享的细节。

carl@workstation1:~$ mount

tree:/mnt/share/ourfiles on /mnt/tree/ourfiles type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.1.22,local_lock=none,addr=10.10.1.5)

对于 Carl 和 Sarah,/home/tree 目录工作方式相同。

我发现在我的文件管理器中添加这些目录的书签很有用,可以用来快速访问。


via: https://opensource.com/article/18/6/using-autofs-mount-nfs-shares

作者:Alan Formy-Duval 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

联想集团携“AI世界杯”成...
7月17日,2026世界人工智能大会WAIC在上海盛大启幕。联想集...
2026-07-19 14:00:15
开源社区如何重塑机器人行业...
数十年来,机器人学一直被视为一个小众的工程领域,主要由研究人员、学...
2026-05-27 21:05:07
影石开源多项核心成果,共享...
IT之家 4 月 11 日消息,影石创始人兼 CEO 刘靖康今天凌...
2026-04-11 22:40:03
开源软件促进全球技术共享
开源软件:构建人类技术未来的数字基石 在浩瀚的数字宇宙中,如果将...
2026-02-04 21:18:22
小米推出自研MINT平台助...
在近日举办的2025小米“人车家全生态”合作伙伴大会上,小米生态链...
2026-01-20 18:23:47

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...