搜档网
当前位置:搜档网 › NFS服务器安装与配置

NFS服务器安装与配置

NFS服务器安装与配置
NFS服务器安装与配置

天津电子信息职业技术学院

暨国家示范性软件职业技术学院

Linux 管理综合实训报告

课设题目:NFS服务器安装与配置

姓名:

系别:网络技术系

专业:计算机网络技术

班级:

指导教师:成****

设计时间:2013年6月25日至2013年7月8日

引言

NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC

的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

关键字:NFS 网络文件系统信息传输

目录

NFS服务器简介 ...........................................................................................................................- 1 - NFS运作理论..............................................................................................................................- 1 - NFS Server主机规划.................................................................................................................- 2 -

一、实训目的:...........................................................................................................................- 3 -

二、实训内容:...........................................................................................................................- 3 -

三、实训要求...............................................................................................................................- 3 -

四、NFS服务器的配置 ...............................................................................................................- 4 -

(一)NSF服务器的安装............................................................................................- 4 -

(二)启动和停止NFS服务.......................................................................................- 6 -

(三)测试NFS服务...................................................................................................- 8 -

(四)NFS客户端的使用............................................................................................- 8 -

(五)NFS故障解决....................................................................................................- 9 -

五、NFS服务器的相关命令..................................................................................................... - 10 -

六、个人总结............................................................................................................................ - 11 -

NFS服务器简介

NFS(Network File System)是由升阳(Sun)最先开发,它的目标是让不同机器能够跨平台共享相同的档案资源。简单来说,可以看成是一种远端的档案系统。也因为跨平台的目标,所以几乎所有的Unix Like平台都支援NFS,如IBM AIX、Sun Solaris、HP Unix、GNU/Linux和FreeBSD等,都可以透过NFS来共享档案和目录资源。目前在MS Windows上虽然有NFS Client可以安装,但几乎是商业软件。

所以大家常在Unix Like系统中使用NFS来共享档案资源。或许读者会奇怪,为何不用Samba 网芳分享,这样MS Windows和Unix都可以互相连线?这是因为NFS效能比Samba好很多,所以常常在平行运算的超级电脑或者商业大型系统上,使用一台NFS Server,其他Server 透过光纤通道连线到NFS档案服务器取得资料。

NFS运作理论

NFS有好几个版本,最新版是NFSv4。而NFSv1到NFSv4都是透过RPC来运作,所谓的RPC (Remote Procedure Call) 是远端程序呼叫。当跑一个程式时,该程式呼叫另外一个程式去做事情然后把结果传回来称为Procedure Call,所以当一个程式呼叫在不同主机的程式去处理事情并传回结果,我们就称为Remote Procedure Call。对于呼叫别人的程式来说,它会感觉到被呼叫的程式也是在本地执行的。所以RPC有个好处就是在写程式的时候,只要管好呼叫的部份,我们不必实际去处理网络封包等细节,这些细节就给RPC系统处理即可,这样程式也会好写很多。故RPC程式要处理远端传输的问题,只要写好procedure call来呼叫远端主机的程序读取或写入硬盘即可,这大大简化coding的难度。

NFS的实作就是靠RPC了,所以NFS是不处理网络封包的问题,它只从Client呼叫Server 上的NFS procedure,并且告诉该remote procedure想要干嘛,而封包实际的传输就透过标准的RPC协定来达成。故在NFS系统上,Client端和Server端都要安装RPC系统,而RPC 在Linux核心里已经有内建。

NFS Server主机规划

设定其实是不难,难的是资源分享的规划和权限设计。这个万一没弄好,别人有可能可以随便对你的NFS Server存取资料。所以在设定前,先想想看要怎样规划档案分享吧!读者首先要想的是NFS Server可以提供给哪些Client机器使用?基本上它不提供帐号认证的方式,所以它使用IP范围来控管Client端。再来你要考虑分享出去的目录权限问题,权限分配有以下几种方式。

1.no_root_squash:这种权限设定就有点危险了!它的意思是若Client端

帐号在Server上也有的话,那么在Client端操作该分享目录时,会有该帐号在

Server上的权限。危险的地方是在当Client端是root时,那么可以同时取得Server 上在分享出来的目录下完整权限。若是Server端没有该帐号,但是Client端有该

帐号时,就会变成用nobody来操作该分享目录唷!我们通常使用root_squash会比较安全,且经常会配合NIS一起使用。

2.root_squash:这个基本上和no_root_squash一样。不同的是当Client

端用root去操作时,就会变成匿名的nobody权限,所以就安全多了,Client端也无法去做大规模的破坏。通常会配合NIS一起使用。

3.all_squash:这代表了不管Client端用什么帐号,在该分享目录的权限

都只有nobody。在开放给所有人使用的匿名NFS Server通常会用这样的设定。

4.anonuid/anongid:当Client mount起来后,不管用什么帐号,在该目录

的权限只有anonuid指定的帐号与anongid指定的群组。当你把anonuid和anongid 都设成nobody的id时,其实和all_squash有一样的意义!

考虑好权限问题后,读者还要考虑该目录是只能读 (ro),或者可以读写 (rw)。当要开放给大家只能抓东西,这时候都会配合ro的设定。若是配合NIS让每一部机器的帐号和权限都一样的话,那可以把家目录都放在NFS Server上,并使用rw的设定,这时候不同机器可以负责不同的运算功能,例如网页和Mail Server等,但都是存放在同一个档案系统上。接下来要考虑可以挂载该分享目录的IP范围,这有两种表示法,一种是直接写上它的IP,笔者不建议用网址(https://www.sodocs.net/doc/a83062332.html,)的方式,除非你是写死在hosts里面,不然有可能会因为DNS Server被hack导致你的NFS Server也被攻陷!另外一种方式是用网域的表示方式。

例如你想要整个192.168.1.xxx的C Class网域都可以连线到该台NFS Server,那你可以写成192.168.1.0/24。后面的24是netmask 255.255.255.0的简写,换算方式是把该netmask 转成二进制后,从前面数过来看有几个1。如每一个255都由8个1bit组成,所以总共3个255就是24了!计算结果是整个C Class简写为24,B Class简写为16,以此类推。通常要分享到整个网域时,常会把主机全部放在防火墙里面,这样NFS系统会比较安全,不然会直接指定可以存取的Client IP。

由于NFSv3和NFSv4 Server都是使用exports这个资源分享设定档,而NFSv4多了虚拟根目录的概念,所以若要两个同时使用的话,要把所有分享的目录bind到同一个子目录下,故这时候exports的写法要稍微注意一下,需符合NFSv4的规则,并且bind的规则也要记得写到fstab里面。

一、实训目的:

1.掌握Linux系统之间资源共享和互访方法,掌握NFS服务器和客户端的安装与配置。

2.实训环境:在虚拟PC机的Linux操作系统中进行实作。

二、实训内容:

1.架设一台NFS服务器

2.利用Linux客户端连接并访问NFS服务器上的共享资源

三、实训要求

1.熟悉安装NFS服务器的方法。

2.掌握NFS服务的配置。

3.掌握启动和停止NFS服务。

4.掌握测试NFS服务的方法。

5.NFS客户端的使用。

四、NFS服务器的配置

(一)NSF服务器的安装

1.NFS服务器的安装

检查linux系统中是否安装了nfs-utils和portmap两个软件包

2.查看NFS服务器是否启动

命令#service nfs status

#service portmap status

3.如果服务器没有启动,则开启服务(默认服务下nfs没有完全开启)

命令#service nfs start

#service portmap start

4.指定NFS服务器的配置文件

NFS服务器的配置文件保存“/etc/”目录中,文件名称是“exports”,该文件用于被指NFS服务器提供的目录共享

命令#vi /etc/exportfs

配置“exports”文件格式如下例如:/home/nfs *(sync,rw) 注意*和(不能有空格,否则会报错

/home *(sync,ro)

Home:共享目录名

*:表示所有主机

(sync,ro):设置选项

exports文件中的“配置选项”字段放置在括号对(“()”)中,多个选项间用逗号分隔

sync:设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项

ro:设置输出的共享目录只读,与rw不能共同使用

rw:设置输出的共享目录可读写,与ro不能共同使用

exports文件中“客户端主机地址”字段可以使用多种形式表示主机地址

192.168.152.13指定IP地址的主机

https://www.sodocs.net/doc/a83062332.html,指定域名的主机

192.168.1.0/24指定网段中的所有主机

*https://www.sodocs.net/doc/a83062332.html,指定域下的所有主机

*所有主机

5.重新输出共享目录

Exportfs管理工具可以对“exports”文件进行管理

命令#exportfs –rv 可以让新设置的“exports”文件内容生效

6.显示NFS服务器的输出目录列表

显示当前主机中NFS服务器的输出列表

# showmount -e

7.显示NFS服务器中被挂载的共享目录

显示当前主机NFS服务器中已经被NFS客户机挂载使用的共享目录

# showmount -d

8.在另外一个linux系统中挂在共享目录

显示NFS服务器的输出

# showmount -e 172.16.75.1

挂载NFS服务器中的共享目录

# mount -t nfs 172.16.75.1:/software /mnt/

相关主题