NFS全称Network File System,即网络文件系统。 是在 Unix 系统间实现磁盘文件共享的一种方法,它支持应用程序在客户端通过网络访问位于服务器磁盘中数据的一种文件系统协议。最早于1984年由升阳开发。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据。
个网络文件系统 — 称为 File Access Listener — 由 Digital Equipment Corporation(DEC)在 1976 年开发。Data Access Protocol(DAP)的实施,这是 DECnet 协议集的一部分。比如 TCP/IP,DEC 为其网络协议发布了协议规范,包括 DAP。
NFS 是个现代网络文件系统(构建于 IP 协议之上)。NFS于1984年由 Sun Microsystems 推出不久即广为业界及学术界所接受。尽管当时不同的大学及实验室已研发了多种分布式文件系统,然而 NFS 是个能够于学术及商业上成功应用的产品。其后升阳为了使 NFS 成为一种标准,于1989年正式公开发布其接口,使得更多厂商能够把 NFS 加入其产品之中。NFS 是一个成功的文件共享方法,但它的问题是它不太适合于大型的分布式系统。
标准持续地演化为 NFSv3,在 RFC 1813 中有定义。这一新的协议比以前的版本具有更好的可扩展性,支持大文件(超过 2GB),异步写入,以及将 TCP 作为传输协议,为文件系统在更广泛的网络中使用铺平了道路。在 2000 年,RFC 3010(由 RFC 3530 修订)将 NFS 带入企业设置。Sun 引入了具有较高安全性,带有状态协议的 NFSv4(NFS 之前的版本都是无状态的)。今天,NFS 是版本 4.1(由 RFC 5661 定义),它增加了对跨越分布式服务器的并行访问的支持(称为 pNFS extension)。
1.本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。
2.用户不必在每个网络上机器里头都有一个home目录。Home目录 可以被放在NFS服务器上并且在网络上处处可用。
3.诸如软驱,CDROM,和 Zip® 之类的存储设备可以在网络上面被别的机器使用。这可以减少整个网络上的可移动介质设备的数量。
NFS 提供了以下的服务:
●在目录(directory)中查找文件
●列出目录中的文件
●管理目录
●取得各文件的属性(file attribute)
●文件的读/写
NFS 有很多实际应用。下面是比较常见的一些:
1.多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜跟方便。
2.在大型网络中,配置一台中心 NFS 服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。
3.几台机器可以有通用的/usr/ports/distfiles 目录。这样的话,当您需要在几台机器上安装port时,您可以无需在每台设备上下载而快速访问源码。
NFS的配置过程相对简单。这个过程只需要对/etc/rc.conf文件作一些简单修改。
1 在NFS服务器这端,确认/etc/rc.conf 文件里头以下开关都配上了:
rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"
只要NFS服务被置为enable,mountd 就能自动运行。
2 在客户端一侧,确认下面这个开关出现在 /etc/rc.conf里头:
nfs_client_enable="YES"
/etc/exports文件指定了哪个文件系统 NFS应该输出(有时被称为“共享”)。 /etc/exports里面每行指定一个输出的文件系统和哪些机器可以访问该文件系统。在指定机器访问权限的同时,访问选项开关也可以被指定。