1.1NFS概述
NFS(Network FileSystem
)是一种分布式文件系统,允许网络中的安装不同操作系统
的计算机间共享文件和外设,使得可以本地机一样的使用另一台联网计算机的文件和外设。NFS在文件传送或信息传送过程中依赖于RPC协议。
RPC远程过程调用 (remote procedure call) 是能使客户端执行其他系统中程序的一种机制。
由于使用RPC 的程序不必了解支持通信的网络协议的情况,因此,RPC提高了程序的互操作性。常用于分布式客户端/服务器模型,发出请求的程序是客户程序,而提供服务的程序是服务器。
可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPCSERVER.所以只要用到NFS的地方都要启动RPC服务,不论是 NFS SERVER或者NFS CLIENT。 这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。
2.安装:
ubuntu下的安装
在ubuntu下配置nfs是一件非常简单的事,先说一下基本流程:
首先要有一台nfs服务器,在这台服务器上安装nfs-kernel-
server,配置要共享的目录
,启动服务就OK了!
然后是客户端的配置,客户端先安装nfs-common,再将服务器共享目录mount到本地目录
即可。
服务器端:
1、安装服务器软件
2、
配置共享目录
一个典型的共享目录配置如下:
客 户端:
1、
2、
#映射共享目录,192.168.1.2是服务器地址,/home是服务器的共享目录, /media是映射到的本地目录
如果要开机自动映射,修改/etc/fstab即可
#
rpm -q nfs-utils portmap
nfs-utils-1.0.6-70.EL4
portmap-4.0-63
//如果出现包的信息,则表示已安装了
1.3 NFS 安装包文件
如当前系统中没有安装NFS所需的使用的软件包,需要手工进行安装。nfs-utils和portmap 两个包的安装文件在系统光盘中都会有。
nfs-utils-1.0.6-70.EL4.i386.rpm
portmap-4.0-63.i386.rpm
1.4 Portmap 软件包
portmap软件包中的portmap服务,为NFS和NIS等提供PRC服务的支持,因此在安装NFS时就先安装portmap软件包.
rpm -ql portmapl
1.5 nfs-utils 软件包
nfs-utils软件包提供了NFS服务器程序和相应的管理工具。
rpm -ql nfs-utils
exports文件在目录“/etc”下,用于配置NFS服务器所提供的目录共享。exports的黑夜设置为空,没有输出任何的目录共享,这也是出于安 全考虑,这样即使启动了NFS服务也不会提供任何的共享。
exports文件的格式
exports文件中每行提供一个共享的目录,设置行的格式如下所示:
要输出的共享目录 客户端主机的地址(设置先项)
/www/chinafu *(sync,ro)
在共享设置文件中,共享目录和主机地址间用空格分隔,主机地址之后紧随设置选项,设置选项放有括号中,多个设置选项间用逗号分隔.
客户端主机地址 :客户端主机的指定非常灵活,如下所示
客户端主机地址
说明
192.168.0.28 指定ip地址的主机
www.chinafu.net 指定域名的主机
192.168.0.10/31 指定网段中的所有主机
*.chinafu.com 指定域中的所有主机
* 指定所有主机
设置选项 exports文件中的设置选择较多,但经常用的并不多
设置选项 说明
sync 设置NFS服务器同步写磁盘,这样不会轻易丢失数据,NFS服务器建议使用该选项
ro 设置输出的共享目录只读,与 rw捡能同时使用
rw 设置输出的共享目录可读写 ,与ro不能共同使用
exports文件配置实例
在exports文件中,同一输出共享目录对于不同的主机可以有不同的设置选项,各主机设置间用空格分隔
/www/chinafu *(sync,ro) 192.168.0.19(sync,rw)
/home/ftp 192.168.0.31(sync,ro)
NFS 服务器的启动与停止
在对exports文件进行了正确的配置后,就可以启动NFS服务器了。
启动NFS服务器, 需要启动portmap和nfs两人服务,并且portmap一定要先于nfs启动
[root@localhost~]# service portmap start
[root@localhost~]# service nfs start
查询NFS服务器状态
#service portmap status
#service nfs status
停止NFS服务器
要停止NFS运行时,需要先停止nfs服务再停止portmap服务 ,对于系统中有其他服务(如NIS)需要使用时,不需要停止portmap服务
#service nfs stop
#service portmap stop
19.4 设置NFS 服务器的自动启动状态
对于实际的应用系统,每次启动系统后都手工启动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
在正确设置了NFS共享目录后并正确启动NFS服务器后,可以使用showmount命令查询NFS的共享状态.
显示showmount 命令帮助
showmount -h
显示主机的NFS 服务器信息
showmount NFS服务器主机地址
//不指定为当前主机的NFS服务器的信息
显示NFS 服务器的输出列表
showmount -e NFS服务器主机地址
显示NFS 服务器中被挂载的目录
showmount -d NFS服务器主机地址
显示NFS 服务器的客户要与被挂载的目录
showmount -a
exportfs 命令
重新输出共享目录
exportfs -rv
exportfs -rv命令使NFS服务器重新读取exports文件中的设置,使用该命令可以在改变exports文件设置后,使设置在当前服务器中生效,而不需要重新 启动NFS服务器
停止输出所有目录
exportfs -auv
用于停止当前主机中NFS服务器的所有目录输出
输出所有的目录
exportfs -av
用于输出当前主机中NFS服务器的所有共享目录
在使用mount挂载NFS服务器的共享目录之前,最好先查询NFS服务器中是否允许本机连接相应的目录共享
showmount -e 服务器地址
挂载NFS 服务器中的共享目录
命令格式
mount NFS服务器地址:共享目录
本地挂载点目录
例子:
mount 192.168.0.130:/www/chinafu /mnt/chinafu
细节提示:挂载点目录是已建立的空目录,也可是使用其他的空目录.
#mount | grep nfs
#unmount /mnt/chinafu
//目录/mnt/chinafu为NFS共享目录挂载点