- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第26章 网络硬盘——NFS NFS是网络文件系统(Network File System)的简称,用于在计算机间共享文件系统。通过NFS可以让远程主机的文件系统看起来就像是在本地一样。这个由Sun公司于1985年推出的协议产品如今已被广泛采用,几乎(这个词甚至可以舍去)所有的Linux发行版都支持NFS NFS同样基于服务器-客户机架构,本章将着重讨论NFS服务器的安装和配置。NFS只能用于UNIX类主机间的文件共享,Windows客户机应该使用Samba获得文件服务,参考25章获得相关资料。 26.1 快速上手:搭建一个NFS服务器 按照惯例,本节帮助读者快速搭建一个NFS服务器,这个NFS服务器实现最基本的功能:向外界不加限制地导出一个目录。这里暂时不考虑安全方面的因素,稍后会详细介绍和NFS配置相关的完整信息。 26.1.1 安装NFS服务器 所有的主流Linux发行版都在软件包管理系统中附带了NFS服务器套件,用户所要做的只是安装而已。以Ubuntu Linux为例,只要简单地在Shell终端执行下面这条命令,就可以完成安装NFS服务器需要的一切步骤: $ sudo apt-get install nfs-common nfs-kernel-server 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 读取状态信息... 完成 将会安装下列额外的软件包: libevent1 libgssglue1 libnfsidmap2 librpcsecgss3 portmap …… 26.1.2 简易配置 完成NFS服务器的安装后,还需要对其进行相关设置,以确定哪些文件应该被共享。通过修改/etc/exports文件来实现服务器的配置。用熟悉的文本编辑器打开/etc/exports文件(需要有root权限),在末尾添加下面这一行: /srv/nfs_share *(rw) 26.1.3 测试NFS服务器 作为测试,下面通过mount命令在另一台主机上挂载这个文件系统,如果读者一时找不到其它Linux主机可供测试,那么可以直接在本地完成实验。在服务器的主机名(或者IP地址)和导出目录之间用冒号连接,-o选项指定了使用可读写方式挂载: $ sudo mount -o rw localhost:/srv/nfs_share /mnt/nfs/ 26.2 NFS基础 通过简单的实践,读者已经大概了解了让NFS服务器工作起来的基本步骤。NFS协议非常简单,但遗憾的是,简单往往意味着对管理员更大的挑战。NFS服务器的配置文件从来不会像Apache那样长篇大论,很多事情必须自己考虑清楚。特别是在安全性方面,不要指望NFS像Apache那样自动给出一个“完美”的方案。通过本节及以后各节的学习,读者会逐步发现,“快速上手”环节中使用的NFS配置是存在很多问题的,尽管它看上去似乎工作得不错。 26.2.1 关于NFS协议的版本 目前被大量部署和使用的是第3版的NFS协议,这个协议在上世纪90年代初期被开发。在第2版的基础上,NFSv3加入了异步写操作功能,从而有效提高了读写磁盘的速度。第3版的NFS完全兼容第2版。 NFS协议非常稳定,以至于十多年之后才有了第4版的开发。这个版本的NFS提供了一些非常诱人的新特性,例如: 提供上锁(lock)和安装(mount)协议; 有状态操作; 很强的安全措施; 同时支持UNIX和Windows客户机; 支持Unicode编码的文件名; 更高的性能; 26.2.2 RPC:NFS的传输协议 NFS使用RPC作为自己的传输协议。Sun的RPC(Remote Procedure Call,远程过程调用)协议提供了一种与系统无关的方法,用于实现网络进程间的通信。这个协议既可以使用UDP,也可以使用TCP作为下层的传输协议。 最初的NFS使用UDP协议。这个协议非常简单,并且在上世纪80年代那样的网络环境下被证明是最高效的。然而随着时间的推移,UDP缺乏拥塞控制算法的特点(或者说缺点?)在大型网络上逐渐暴露出性能上的劣势。于是人们转而把目光投向了TCP,幸运的是,随着快速CPU和智能化网络控制器的普及,已经没有什么理由再去选择UDP作为RPC的下层协议了。TCP因此成为了目前NFS通信的最好选择。 现在,所有的Linux发行版都能够同时支持TCP和UDP作为NFS的传输协议,具体选择哪一种完全取决于客户机(通过在安装时指定安装选项)。 26.2.3 无状态的NFS NFSv3的服务器是“无状态”的,这意味着服务器并不知道——也不想知道——哪些机器正在使用某个特定的文件,或者某个文件系统已经被哪些机器挂载了。在客户机成功地同NFS服务器建立连接
文档评论(0)