NFS概述
NFS(Network File System)是一种分布式文件系统,允许网络中的安装不同操作系统的计算机间共享文件和外设,所以它的通讯协定设计与主机及作业系统无关. 它是由SUN公司于1984年推出,使得可以本地机一样的使用另一台联网计算机的文件和外设。NFS在文件传送或信息传送过程中依赖于RPC协议。NFS 的当前版本是V4(RFC3010)
RPC, 远程过程调用 (remote procedure call) 是能使客户端执行其他系统中程序的一种机制。由于使用 RPC 的程序不必了解支持通信的网络协议的情况,因此 RPC 提高了程序的互操作性。常用于分布式客户端/服务器模型, 发出请求的程序是客户程序,而提供服务的程序是服务器。RFC1831
1. NFS服务器的安装
NFS的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的,在配置使用NFS之前需要先查询所需的软件包是否已安装.
检查linux系统中是否安装了nfs-utils和portmap两个软件包
[root@blue arm513]# rpm -q nfs-utils
nfs-utils-1.1.4-1.fc10.i386
如果出现包的信息,则表示已安装了nfs-utils portmap两个软件包
如果当前系统中没有安装NFS所需的使用的软件包,需要手工进行安装。nfs-utils-1.1.4-1.fc10.i386.rpm
portmap-4.0-63.i386.rpm
1.1 Portmap软件包
portmap软件包中的portmap服务,为NFS和NIS等提供PRC服务的支持,因此在安装NFS时就先安装portmap软件包.
rpm -ql portmap
/etc/rc.d/init.d/portmap
/sbin/portmap
1.2 nfs-utils软件包
nfs-utils软件包提供了NFS服务器程序和相应的管理工具。
rpm -ql nfs-utils
2.指定NFS服务器的配置文件
NFS服务器的配置文件保存“/etc/”目录中,文件名称是“exports”,该文件用于被指NFS服务器提供的目录共享,。exports的默认设置为空,没有输出任何的目录共享,这也是出于安全考虑,这样即使启动了NFS 服务也不会提供任何的共享。
命令#vi /etc/exports
配置“exports”文件格式如下,exports文件中每行提供一个共享的目录,设置行的格式如下所示:
要输出的共享目录 客户端主机的地址(设置先项)
/home *(sync,ro)
Home:共享目录名
*:表示所有主机
(sync,ro):设置选项
exports文件中的“设置选项”字段,在共享设置文件中,共享目录和主机地址间用空格分隔,主机地址之后紧随设置选项,设置选项放置在括号对(“( )”)中,多个设置选项间用逗号分隔。注意以上的*与括号之间不要有空格,要不然会有错误信息。
2.1 共享目录
共享目录设置系统中需要作为共享的目录路径。
2.2客户端主机地址
在exports文件客户端,客户端主机的指定非常灵活,如下所示
客户端主机地址 说明
192.168.0.28 指定ip地址的主机
www.chinafu.net 指定域名的主机
192.168.0.10/31 指定网段中的所有主机
*.chinafu.com 指定域中的所有主机
* 指定所有主机
2.3设置选项
exports文件中的设置选择较多,但经常用的并不多
设置选项 说明
sync:设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项
ro:设置输出的共享目录只读,与rw不能共同使用
rw:设置输出的共享目录可读写,与ro不能共同使用
3.重新输出共享目录
Exportfs管理工具可以对“exports”文件进行管理,exportfs -rv命令使NFS服务器重新读取exports文件中的设置,使用该命令可以在改变exports文件设置后,使设置在当前服务器中生效,而不需要重新启动NFS服务器
3.1停止输出所有目录
exportfs -auv
用于停止当前主机中NFS服务器的所有目录输出
3.2 输出所有的目录
exportfs -av
用于输出当前主机中NFS服务器的所有共享目录
4.查看NFS服务器是否启动
命令#service nfs status
rpc.mountd (pid 8785) 正在运行...
nfsd (pid 8782 8781 8780 8779 8778 8777 8776 8775) 正在运行...
#service portmap status
4.1.如果服务器没有启动,则开启服务(默认服务下nfs没有完全开启)
命令#service nfs start
#service portmap start
4.2设置NFS服务器的自动启动状态
对于实际的应用系统,每次启动LINUX系统后都手工启动nfs服务器是不现实的,需要设置系统在指定的运行级别自动启动portmap和nfs服务。
[root@localhost ~]# chkconfig --list portmap
portmap 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost ~]# chkconfig --list nfs
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
//设置portmap和nfs服务在系统运行级别3和5自动启动.
[root@localhost ~]# chkconfig --level 35 portmap on
[root@localhost ~]# chkconfig --level 35 nfs on
[root@localhost ~]# chkconfig --list portmap
nfs 0:off 1:off 2:off 3:on 4:off 5:on 6:off
[root@localhost ~]# chkconfig --list nfs
nfs 0:off 1:off 2:off 3:on 4:off 5:on 6:off
5. 停止NFS服务器
要停止NFS运行时,需要先停止nfs服务再停止portmap服务,对于系统中有其他服务(如NIS)需要使用时,不需要停止portmap服务
#service nfs stop
#service portmap stop
6. showmount命令
在正确设置了NFS共享目录后并正确启动NFS服务器后,可以使用showmount命令查询NFS的共享状态.
6.1显示NFS服务器的输出目录列表
显示当前主机中NFS服务器的输出列表
# showmount -e
6.2显示NFS服务器中被挂载的共享目录
显示当前主机NFS服务器中已经被NFS客户机挂载使用的共享目录
# showmount –d
6.3 显示NFS服务器的客户要与被挂载的目录
# showmount -a
7.在另外一个linux系统中挂在共享目录
在使用mount挂载NFS服务器的共享目录之前,最好先查询NFS服务器中是否允许本机连接相应的目录共享,显示NFS服务器的输出
# showmount -e 172.16.75.1
挂载NFS服务器中的共享目录
# mount -t nfs 172.16.75.1:/software /mnt/
细节提示:挂载点目录是已建立的空目录,也可是使用其他的空目录v
8、查看mnt目录中的内容
Cd /mnt |ll
9.卸载系统中已挂载的NFS共享目录
命令# umount /mnt/
总结:
1>、在配置NFS服务器之前用ping命令确保两个linux系统正常连接,如果无法连接关闭图形界面中的防火墙#service iptables stop
2>、在配置中确保输入的命令是正确的
3>、更改完“exports”文件后要输入exportfs –rv ,使得“exports”文件生效。
4>、检查nfs服务是否开启,默认是关闭的。
5>、卸载的时候不能在/mnt目录中卸载,必须注销系统后卸载。