免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1795 | 回复: 0
打印 上一主题 下一主题

[FTP] NFS服务的配置与应用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-21 20:09 |只看该作者 |倒序浏览
  1. NFS是由sun公司在1984年开发的,它本身并没有数据传输的功能,是通过远程过程调用的协议来实现的,所以可以将nfs服务器看成是rpc服务器,而nfs的客户端可以看成是rpc的客户端。
   使用nfs至少要启动一下3个系统守护进程:1.rpc.nfsd nfs是守护进程,管理客户端是否能登陆服务器。2.rpc.mountd 是rpc安装守护进程,管理nfs系统,系统登陆成功后还得通过这个进程读取/etc/exports文件来对比客户端的权限。3.portmap 进行端口映射工作。

   几乎所有的linux的版本都默认的安装了nfs服务,但是由于nfs服务需要nfs-utils和portmap两个软件包,所以最好用rpm -q nfs-utils portmap命令查看一下。如果没安装请使用rpm -ivh nfs-utils-??? portmap-??? 命令安装。
   要检查nfs的服务是否正常运行,可使用rpcinfo -p命令检查是否正常运行,如果正常可以看到portmapper、nfs、mountd等守护进程的条目,如下面的图,如果发现没有这些进程条目,可用service nfs restart命令重起服务就可以了。
2.  nfs服务的配置相对比较简单只须修改/etc/exports文件,然后启动就可以了。在exports文件中可以定义nfs系统的输出目录即共享目录、访问权限和允许访问的主目录等参数。改文件默认为空,没有设置任何共享目录,是基于安全考虑的。
   exports文件中每一行提供了一个共享目录的设置。其格式如下:输出目录 【客户端1(选项1,...)(选项2,...)】  【客户端2(选项1,...)(选项2,...)】除输出目录是必选的其余都是可选的。

   客户端是指网络中谁可以访问这个nfs的共享目录,例子如下:192.168.1.8指定ip地址的主机。192.168.1.0/24或192.168.1.*指定子网中的所有主机。www.jackiesr.com指定域名的主机。*.jackiesr.com 指定域中的所有主机。 *所有主机。
   选项用来设置输出目录的访问权限,用户映射等。exports文件的配置选项比较多,一半可以分为一下3类。
    1.访问权限选项 ro只读 rw可读可写。
    2.用户映射选项 在默认情况下客户端访问nfs服务器时,若远端访问的用户时root时,则nfs服务器会把它映射成本地的匿名用户nfsnobody,并将它所属的组也映射成nfsnobody组,有利于提高安全性。 all_squash将远程访问的所有普通用户和组都映射成为匿名用户和组,一般为nfsnobody。  no_all_squash 不将远程访问的所有普通用户和组都映射成为匿名用户和组(默认设置)。root_squash将root用户及所属组都映射成匿名用户和用户组。no_root_squash不将root用户及所属组都映射成匿名用户和用户组。anonuid=xxx将远程访问的用户都映射成匿名用户,并指定用户帐号为本地用户帐号UID=XXX。anongid=xxx将远程访问的用户组都映射成匿名用户组,并指定用户组帐号为本地用户组帐号GID=XXX。
    3.其他选项
    其他选项可以用于对输出目录进行更安全的控制。secure 限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置)。insecure允许客户端从大于1024的tcp/ip端口连接nfs服务器。sync将数据同步写入内存缓冲区和磁盘中,虽然这样效率很低但是可以保证数据的一致性。async将数据先保存到内存缓冲区中,必要时才写入磁盘 wdelay检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率,默认设置。no_wdelay若有写操作立即执行,应与sync配合使用。subtree_check若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置)。no_subtree_check即使输出目录是个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。

3.每当的修改了/etc/exports文件的内容后,实际上不需要重新启动nfs服务,而直接使用命令exports就可以生效。它的命令格式如下:exports 【选项】  选项有一下几个
-a 输出在/etc/exports文件中所设置的所有目录
-r 重新读取/etc/exports文件中的设置,并使设置立即生效,而不重新启动服务。
-u 停止输出某一目录
-v 在输出目录时将目录显示到屏幕上。
介绍两个长用的组合命令:
exportfs -rv  重新输出共享目录
exportfs -auv 停止当前主机中服务器的所有共享目录输出。
启动和停止nfs服务
1.启动nfs服务  为了使nfs能正常工作,需要启动portmap和nfs这两个服务,并且portmap一定要先于nfs启动 /etc/init.d/portmap start  /etc/init.d/nfs start
2.停止nfs服务  
/etc/init.d/nfs stop    /etc/init.d/portmap  stop
3.重新启动nfs服务
/etc/init.d/nfs restart
4.检查portmap和nfs的状态
/etc/init.d/portmap status
/etc/init.d/nfs  status
5.设置自动启动nfs服务
chkconfig --level 35 portmap on
chkconfig --level 35 nfs on
当然也可以用ntsysv找到nfs和portmap把前面加上*号即可。
    测试nfs服务
1.检查输出目录所使用的选项
即使在/etc/exports下设置了一两个选项,但是在真正输出目录时还有很多的默认选项,所以有必要查看/var/lib/nfs/etab文件,来看看真正的选项。
注:在这个文件中会看到anonuid=-2,anongid=-2,实际上是65536-2=65534,也就是说匿名用户帐户及所属用户组帐户的id为UID=65534,GID=65534。对照/etc/passwd和/etc/group文件可以知道 就是nfsnobody
2.使用showmount命令测试nfs服务器的输出目录状态
showmount 【选项】 nfs服务器名称或地址
-a 显示指定的nfs服务器的所有客户端主机及其所连接的目录。
-d 显示指定的nfs服务器中以被客户端连接的所有输出目录。
-e 显示指定的nfs服务器上所有输出的共享目录。
NFS客户端的使用
1.先检查nfs服务器的信息
showmount -e ip
注:出错的可能原因在服务器的2个进程没有启动或是被防火墙给过滤掉了,可以service iptables stop先关闭防火墙。
2.连接NFS服务器
mount -t nfs 服务器名或ip地址:输出目录  本地挂载
3.卸载NFS服务器
umount 本地挂载点
注:如果有客户端还在使用nfs服务器时要关机,应先把portmap和nfs两个服务给关闭,否则要等待很久才能关机。如果无法正常关掉可先用命令netstat -utlp找出他们的pid,然后使用kill命令杀死。  当然还可以使用exports -auv命令将当前的主机中nfs服务器的所有输出目录停止掉,再关机。
4.启动时自动连接nfs
vi /etc/fstab
格式如下: nfs服务器名或ip地址:输出目录  本地挂载目录  nfs  default 0 0
4.  我的nfs的又一简单配置


1.检查nfs工具包是否安装 rpm -qa | nfs-utils
2.如果没有安装请用 mount命令挂载光驱 rh9第一个光盘 找nfs-utils软件包
3.用rpm -ivh命令安装
4.卸载光驱
5.vi /etc/exports   写入如:/tmp  *(rw) 具体选项请参看http://www.linuxdiyf.com/bbs/thread-36719-1-1.html
6.启动nfs服务器守护进程/etc/rc.d/init.d/nfs start
7.使用ps -C nfsd查看启动的nfsd进程
8.在客户机或服务器可以使用 showmount -e 192.168.8.5(nfs服务器的ip)命令查看被导出的资源。
9.然后就可以上客户端去挂载了  mount 192.168.8.5:/nfs  /mnt
10.cd到/mnt下ls就可以看nfs服务器的内容了  
****注:要特别注意linux文件的权限问题。*******




[ 本帖最后由 jackiesr 于 2007-2-21 20:15 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP