NFS : 网络文件系统
• NFS ( Network File System ) 是由 Linux 、 UNIX 及其他类似操作系统使用的互联网标准协议 , 可作为它们的本地网络文件系统。它是一种活动扩展之下的开放标准 , 可支持本地 Linux 权限和文件
系统功能
• Red Hat Enterprise Linux 7 在默认情况下支持 NFSv4 ( 该协议的版本 4 ), 并在该版本不可用的情况下自动回退到 NFSv3 和NFSv2 。对于在客户端上运行的所有版本的 NFS , 均应启用两种服务 : rpcbind 和 nfslock 。 NFSv4 使用 TCP 协议与服务器进行通信 , 而较早版本的 NFS 则可能使用 TCP 或 UDP
• 有两种方法用来确定由服务器提供的 NFS 导出 , 或叫做文件共享。如果服务器支持 NFSv3 或 NFSv2 , 您可以使用 showmount -eserver 命令来获取导出项列表。如果服务器支持 NFSv4 , 则可以将 / 导出项挂载到一个空目录并浏览所有导出文件系统的内容
访问 NFS 导出的命令
• 1. 识别
– # showmount -e instructor.example.com
• 2. 确定挂载点
– # mkdir /remote1
• 3. 挂载
– # mount instructor.example.com:/var/ftp/pub /remote1
• 4. 自动挂载
- # vim /etc/fstab
instructor.example.com:/var/ftp/pub /remote1 nfs defaults 0 0
具体过程如下图
自动挂载网络存储
•
使用 mount 命令 , 需要具有 root 用户权限以连接到网络共享。或者 , 我们可以向 /etc/fstab 添加条目 , 但是随后与网络服务器的连接将始终处于活动状态。当某一程序试图访问网络共享中的文件时 , 可以将 automounter ( 或 autofs )服务配置为 “按需 ”挂载网络共享。当共享不再使用并处于不活动状态一定时间
以后 ,automounter 会对共享解除挂载
• 不活动状态的时间间隔默认为五分钟 , 但该时间间隔可在
/etc/sysconfig/autofs 中进行全局更改
• [root@instructor ~]# grep TIMEOUT /etc/sysconfig/autofs
# TIMEOUT - set the default mount timeout (default 600).
TIMEOUT=300
...output omitted....
通常 , 我们需要使用网络共享在不活动状态下保持挂载一小段时间 , 从而防止在段时间内对其进行再次使用。这能够避免不必要的挂载 / 解除挂载的周期
使用自动挂载器的两种方法。首先 ,使用特殊的 /net 自动挂载挂载点 , 然后手动配置间接自动挂载映射。
特殊映射 /net
• 默认情况下 , autofs 服务运行时 , 存在一个名为 /net 的特殊目录 , 但是该目录将显示为空
• 访问不存在的目录 /net/instructor.example.com 会使自动挂载器创建该子目录 , 并显示该 NFS 服务器上的所有NFS 导出项。这有时称为 “浏览 ”共享
- # cd /net/instructor.example.com
- #ls
- # home kickstart var
• 在 /net/instructor.example.com 之下的所有文件和目录停止使用且超时期满子后 ,autofs 将共享解除挂载并删除空的 /net/instructor.example.com 子目录
间接映射
• 除了使用 /net 映射 , 系统管理员也可以手动配置任意目录
, 以便访问时在其子目录上 “按需 ”挂载特定共享。示例:
• 间接映射使用两层配置文件语法。在顶级文件
/etc/auto.master 中 , 每个管理的 “父 ”目录和包含子目录
挂载点与网络共享的单独的第二个配置文件的名称占一行
- # cat /etc/auto.master
- /demo /etc/auto.demo
- # cat /etc/auto.demo
- public -ro nfsserver.domain:/exported/path
- service autofs reload 重载 autofs 服务
- # cd /demo/public