Chinaunix首页 | 论坛 | 博客
  • 博客访问: 651405
  • 博文数量: 156
  • 博客积分: 7030
  • 博客等级: 少将
  • 技术积分: 1560
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-16 12:46
文章分类

全部博文(156)

文章存档

2009年(3)

2008年(7)

2007年(47)

2006年(99)

我的朋友

分类: LINUX

2006-07-22 09:18:14

NFS服务的配置与应用

 

1、什么是NFS

它是Network File system的缩写,即网络文件系统。
NFS
是由SUN公司开发,并于1984年推出的一个RPC服务系统,它使我们能够达到文件的共享。一台NFS服务器如同一台文件服务器,只要将起文件系统共享出来,NFS客户端就可以将它挂载到本地系统中,从而可以像使用本地文件系统中的文件一样使用那些远程文件系统中的文件。

使用NFS既可以提高资源的使用率,又可以节省客户端本地硬盘的空间,同时也便于对资源进行集中管理

2RPC

虽然NFS可以在网络中进行文件共享,但是NFS协议本身并没有提供数据传输的功能,它必须借助RPCremote process call)远程过程调用协议实现数据的传输。RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以将NFS服务器看成是一个RPC服务器,而将NFS客户端看成是一个RPC客户端。

33个系统守护进程

rpc.nfsd

基本的NFS守护进程,主要管理客户端是否能登入服务器

rpc.mountd

RPC的安装守护进程,主要管理NFS的文件系统。当客户端通过rpc.nfsd登录NFS服务器后,在使用NFS服务器所提供的文件前,还必须通过文件使用权限的验证,rpc.mountd会读取NFS的配置文件/etc/exports来对比客户端的权限

portmap

Portmap进行端口映射。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口号提供给客户端,使客户端可以通过该端口向服务器请求服务。Portmap如果没有运行,NFS客户端就无法查找从NFS服务器中共享的目录

 

以下以RedHat 红帽9为例

 

4NFS服务的安装

检查系统中是否已经安装了所需软件包

执行命令Rpm –q nfs-utils portmap

结果是

nfs-utils-1.0.1-2.9

portmap-4.0-54     

如果未安装可以在安装光盘的RedHat/RPMS目录下找到

执行

rpm –ivh nfs-utils-1.0.1-2.9.i386.rpm安装NFS服务

rpm –ivh portmap-4.0-54.i386.rpm   安装portmap服务

5NFS服务的配置

主配置文件/etc/exports

该文件默认为空。可以定义NFS系统的输出目录(共享目录)、访问权限和允许访问的主机等参数。Exports文件中每一行提供了一个共享目录的设置,命令格式为:

<输出目录> [客户端1(选项1,选项2][客户端2(选项1,选项2]

输出目录是必选参数,其他参数都是可选的。格式中的输出目录和客户端之间、客户端与客户端之间使用空格分隔,客户端和选项之间没有空格

例:

/nfs/public 192.168.0.0/24rw,async *.ro

输出目录/nfs/public供子网192.168.0.0/24中的所有客户机进行读写操作,而其他网络中的客户机只能读取目录的内容。当某用户使用子网192.168.0.0/24中的客户机访问该共享目录时,能否真正地写入,还要看该目录对该用户有没有开放Linux文件系统权限的写入权限

6、维护NFS服务的输出目录列表

修改了/etc/exports文件的内容后,不需要重新启动NFS服务,使用命令exportfs就可以使设置生效

Exportfs [选项]

选项:

-a:输出在/etc/exports文件中所设置的所有目录;

-r:重新读取/etc/exports文件的设置,并使设置立即生效;

-u:停止输出某一目录;

-v:在输出目录时将目录显示在屏幕上。

选项可以组合使用

7、启动和停止NFS服务

NFS正常工作需要启动portmapnfs这两个服务,并且portmap要先于nfs启动:

/etc/init.d/portmap startservice portmap start

/etc/init.d/nfs startservice nfs start

②停止NFS服务

/etc/init.d/nfs stopservice nfs stop

/etc/init.d/portmap stopservice portmap stop

③重启NFS

/etc/init.d/nfs restart

④检查portmapnfs服务的状态

/etc/init.d/portmap statusservice portmap status

/etc/init.d/nfs statusservice nfs status

⑤设置开机自启动NFS 服务

Chkconfig --level 35 portmap on

Chkconfig –level 35 nfs on

或者执行ntsysv命令,出现如下图界面

找到“nfs”和“portmap”,按空格在前面加上“*”,“OK”即可

8、测试NFS服务

检查NFS服务是否正常运行

Rpcinfo –p

如果NFS服务运行正常,就可以看到关于portmappernfsmountd等守护进程的条目

测试NFS服务器的输出目录状态

 Showmount [选项] NFS服务器主机名称或地址

常用选项:

l         -a:显示指定的NFS服务器的所有客户端主机及其所连接的目录;

l         -d:显示指定的NFS服务器中已经被客户端连接(挂载)的所有输出目录

l         -e:显示指定的NFS服务器上所有输出的共享目录

缺省“NFS服务器名称或地址”则默认当前主机

注意:如果不是查看本地NFS信息,而是其他机器,那么防火墙可能影响查看,可用service iptables stop命令暂时关闭防火墙

9NFS客户端

连接NFS服务器

Mount –t NFS服务器主机名或IP 地址:输出目录 本地挂载目录(挂载点)

本地挂载点不存在的话,必须建立,当然服务器端设定的权限和范围决定客户端能否成功挂载

10、卸载已挂载目录

Umount 挂载点

11、启动客户机是自动挂载服务器输出目录

Vi /etc/fstab

加入如下格式语句:

NFS服务器或IP地址:输出目录 本地挂载点 nfs defaults 0 0

注意:要想在客户端机器启动时成功挂载服务器目录,服务器必须提前启动

 

下面是完整的实例:

服务器端:

IP:192.168.0.2

Mkdir /mnt/nfs

Touch 1

Vi /etc/exports

输入内容是

/mnt/nfs 192.168.0.0/24(rw,sync)

 

Service portmap start

Service nfs start

 

客户端:

Mkdir /mnt/nfs

Mount –t nfs 192.168.0.2:/mnt/nfs /mnt/nfs

Cd /mnt/nfs

ls

阅读(1745) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~