Linux下配置安装NFS

1.1 NFS概述

NFS(Network File System)是一种分布式文件系统,允许网络中的安装不同操作系统的计算机间共享文件和外设,所以它的通讯协定设计与主机及作业系统无关. 它是由SUN公司于1984年推出,使得可以本地机一样的使用另一台联网计算机的文件和外设。NFS在文件传送或信息传送过程中依赖于RPC协议。NFS 的当前版本是V4(RFC3010)

RPC, 远程过程调用 (remote procedure call) 是能使客户端执行其他系统中程序的一种机制。由于使用 RPC 的程序不必了解支持通信的网络协议的情况,因此 RPC 提高了程序的互操作性。常用于分布式客户端/服务器模型, 发出请求的程序是客户程序,而提供服务的程序是服务器。RFC1831

1.2 NFS的安装

NFS的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的,在配置使用NFS之前需要先查询所需的软件包是否已安装.

# rpm -q nfs-utils portmap

nfs-utils-1.0.6-70.EL4
portmap-4.0-63

//如果出现包的信息,则表示已安装了nfs-utils portmap两个软件包

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 portmap
/etc/rc.d/init.d/portmap
/sbin/portmap

1.5 nfs-utils软件包
nfs-utils软件包提供了NFS服务器程序和相应的管理工具。

rpm -ql nfs-utils

PS: 上面说的安装方法可能是针对像red hat这样的OS, 像Ubuntu就没这么麻烦,只需要用apt-get来安装nfs-server,命令如下:

     sudo apt-get install nfs-kernel-server

1.6 NFS服务器的配置

NFS服务器的配置相对比较简单,只需要在相应的配置文件中进行设置,然后启动NFS服务器即可.

1.7 NFS服务器的配置文件-------------------exports

exports文件在目录“/etc”下,用于配置NFS服务器所提供的目录共享。exports的黑夜设置为空,没有输出任何的目录共享,这也是出于安全考虑,这样即使启动了NFS 服务也不会提供任何的共享。

1.8 exports文件的格式

exports文件中每行提供一个共享的目录,设置行的格式如下所示:

要输出的共享目录 客户端主机的地址(设置先项)

/www/chinafu *(sync,ro)

/home   *(async,rw,no_root_squash)

在共享设置文件中,共享目录和主机地址间用空格分隔,主机地址之后紧随设置选项,设置选项放有括号中,多个设置选项间用逗号分隔.

1.8.1共享目录

共享目录设置系统中需要作为共享的目录路径。

1.8.2 客户端主机地址

在exports文件 客户端,客户端主机的指定非常灵活,如下所示

客户端主机地址                                                    说明

192.168.0.28                                               指定ip地址的主机

www.chinafu.net                                           指定域名的主机

192.168.0.10/31                                       指定网段中的所有主机

*.chinafu.com                                              指定域中的所有主机

*                                                                  指定所有主机

1.8.3 设置选项

exports文件中的设置选择较多,但经常用的并不多

设置选项                                                                      说明

sync                         设置NFS服务器同步写磁盘,这样不会轻易丢失数据,NFS服务器建议使用该选项

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

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

1.8.4 exports文件配置实例

在exports文件中,同一输出共享目录对于不同的主机可以有不同的设置选项,各主机设置间用空格分隔

#more /etc/exports

/www/chinafu *(sync,ro) 192.168.0.19(sync,rw)

/home/ftp 192.168.0.31(sync,ro)

1.9 NFS服务器的启动与停止

在对exports文件进行了正确的配置后,就可以启动NFS服务器了。

19.1 启动NFS服务器

为了使NFS服务器能正常工作,需要启动portmap和nfs两人服务,并且portmap一定要先于nfs启动

[root@localhost ~]# service portmap start
Starting portmap:                                          [ OK ]
//portmap要先于nfs启动

[root@localhost ~]# service nfs start
Starting NFS services:                                     [ OK ]
Starting NFS quotas:                                       [ OK ]
Starting NFS daemon:                                     [ OK ]
Starting NFS mountd:                                      [ OK ]

19.2 查询NFS服务器状态

#service portmap status

#service nfs status

19.3 停止NFS服务器

要停止NFS运行时,需要先停止nfs服务再停止portmap服务,对于系统中有其他服务(如NIS)需要使用时,不需要停止portmap服务

#service nfs stop

#service portmap stop

19.4设置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

20.1 showmount命令

在正确设置了NFS共享目录后并正确启动NFS服务器后,可以使用showmount命令查询NFS的共享状态.

20.1.1 显示showmount命令帮助

showmount -h

20.1.2 显示主机的NFS服务器信息

showmount NFS服务器主机地址     //不指定为当前主机的NFS服务器的信息

20.1.3 显示NFS服务器的输出列表

showmount -e NFS服务器主机地址

20.1.4 显示NFS服务器中被挂载的目录

showmount -d NFS服务器主机地址

20.1.5 显示NFS服务器的客户要与被挂载的目录

showmount -a

21.1exportfs命令

21.1.1 重新输出共享目录

exportfs -rv

exportfs -rv命令使NFS服务器重新读取exports文件中的设置,使用该命令可以在改变exports文件设置后,使设置在当前服务器中生效,而不需要重新启动NFS服务器

21.1.2 停止输出所有目录

exportfs -auv

用于停止当前主机中NFS服务器的所有目录输出

21.1.3 输出所有的目录

exportfs -av

用于输出当前主机中NFS服务器的所有共享目录

22.1 NFS的客户端配置

22.1.1显示NFS服务器的输出共享目录

在使用mount挂载NFS服务器的共享目录之前,最好先查询NFS服务器中是否允许本机连接相应的目录共

showmount -e 服务器地址

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

命令格式

mount NFS服务器地址:共享目录 本地挂载点目录

例子:

mount 192.168.0.130:/www/chinafu /mnt/chinafu

细节提示:挂载点目录是已建立的空目录,也可是使用其他的空目录.

24.1显示当前主机挂载的NFS目录

#mount |grep nfs

25.1卸载已挂载的NFS共享目录

#unmount /mnt/chinafu

//目录/mnt/chinafu为NFS共享目录挂载点

posted @ 2008-02-17 14:49  Jonson Li  阅读(4925)  评论(0编辑  收藏  举报