如何使用 autofs 挂载 NFS 共享 | Linux 中国

2019 年 5 月 8 日 Linux中国
给你的网络文件系统(NFS)配置一个基本的自动挂载功能。
-- Alan Formy-duval

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

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

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

   
   
     
  1. alan@workstation1:~$ sudo getent passwd carl sarah
  2. [sudo] password for alan:
  3. carl:x:1020:1020:Carl,,,:/home/carl:/bin/bash
  4. sarah:x:1021:1021:Sarah,,,:/home/sarah:/bin/bash
  5. alan@workstation1:~$ sudo getent hosts
  6. 127.0.0.1 localhost
  7. 127.0.1.1 workstation1.mydatacenter.net workstation1
  8. 10.10.1.5 tree.mydatacenter.net tree

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

安装软件包

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

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

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

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

配置 autofs

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

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

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

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

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

   
   
     
  1. ourfiles        -fstype=nfs     tree:/share/ourfiles

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

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

   
   
     
  1. *               -fstype=nfs     tree:/home/&

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

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

   
   
     
  1. alan@workstation1:/etc$ sudo service autofs restart

测试 autofs

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

   
   
     
  1. carl@workstation1:~$ cd /mnt/tree
  2. carl@workstation1:/mnt/tree$ ls
  3. carl@workstation1:/mnt/tree$ cd ourfiles
  4. carl@workstation1:/mnt/tree/ourfiles$

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

   
   
     
  1. carl@workstation1:~$ mount
  2. 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中国 荣誉推出


登录查看更多
0

相关内容

NFS是一种分布式文件系统协议,最初由Sun Microsystems公司开发,并于1984年发布。[1]其功能旨在允许客户端主机可以像访问本地存储一样通过网络访问服务器端文件。 NFS和其他许多协议一样,是基于开放网络运算远程过程调用(ONC RPC)协议之上的。它是一个开放、标准的RFC协议,任何人或组织都可以依据标准实现它。 >
【2020新书】实战R语言4,323页pdf
专知会员服务
102+阅读 · 2020年7月1日
一份简明有趣的Python学习教程,42页pdf
专知会员服务
77+阅读 · 2020年6月22日
Python导论,476页pdf,现代Python计算
专知会员服务
263+阅读 · 2020年5月17日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
122+阅读 · 2020年5月10日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
96+阅读 · 2019年12月4日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
携程用ClickHouse轻松玩转每天十亿级数据更新
DBAplus社群
11+阅读 · 2019年8月6日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
I2P - 适用于黑客的Android应用程序
黑白之道
36+阅读 · 2019年3月6日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
超级!超级!超级好用的视频标注工具
极市平台
8+阅读 · 2018年12月27日
Arxiv
10+阅读 · 2019年2月19日
Arxiv
24+阅读 · 2018年10月24日
Arxiv
10+阅读 · 2018年2月4日
Arxiv
8+阅读 · 2018年1月19日
Arxiv
7+阅读 · 2018年1月10日
VIP会员
相关资讯
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
携程用ClickHouse轻松玩转每天十亿级数据更新
DBAplus社群
11+阅读 · 2019年8月6日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
I2P - 适用于黑客的Android应用程序
黑白之道
36+阅读 · 2019年3月6日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
超级!超级!超级好用的视频标注工具
极市平台
8+阅读 · 2018年12月27日
Top
微信扫码咨询专知VIP会员