2008年(105)
分类: LINUX
2008-05-30 09:12:01
不知啥时在优化linux服务时不不心把 NFS服务相关的东西给动了。每次启动的都 是nfs启动矢败,有点不爽,决定解觉这问题,那怕不去吃饭了呵呵,有决心吧,but正想找的时候,同学叫我去吃饭,,哎呀,早上就没吃早餐呢,于是。。。。。又一次,,,还是说正经的了,在google上找了好久这方面的东西好像有点少,决定补一点了 NFS(Network File System/网络文件系统): 1、设置Linux系统之间的文件共享(Linux与Windows中间文件共享采用SAMBA服务);
2、NFS只是一种文件系统,本身没有传输功能,是基于RPC协议实现的,才能达到两个Linux系统之间的文件目录共享;
3、NFS为C/S架构; NFS server可以看作是一个FILE SERVER,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使用NFS的远端文件就象是在使用本地文件一样。 server端的设置 直接配置文件vi /etc/exports
内容格式为: 共享目录 可mount主机IP(参数1,参数2,……)
如:/var/nfs 172.16.*.*(rw,sync,all_squash,anonuid=65534,anongid=65534)
说明:必须注意nfs/目录的访问权限,必须设置成777权限;父目录/var权限无要求,普通的755即可;
启动相关服务
依次启portmap,nfslock,nfs
执行命令:sercice 服务名 start 即可启动服务
检查共享目录是否成功
# showmount -e
Export list for ns.osserver:
/var/nfs 172.16.*.*
OK,到此为止,NFS服务器搭建完毕。 客户端的设置确保portmap运行
客户端必须确保RPC协议相应的portmap正常运行,否则mount将失败;
showmout命令对于NFS的操作和查错有很大的帮助,所以我们先来看一下showmount的用法 showmout
-a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。 -e :显示指定的NFS SERVER上export出来的目录。 例如: showmount -e 172.16.81.219 Export list for localhost: /tmp * /home/public (everyone) /home/test 172.16.81.220 挂载/var/nfs目录(本地挂载点为/mnt/nfs)
mount -t nfs 172.16.81.219:/var/nfs /mnt/nfs
成功mount以后,即可同本地目录一样随意操作;
mount nfs的其它可选参数: HARD: NFS CLIENT会不断的尝试与SERVER的连接(在后台,不会给出任何提示信息,在LINUX下有的版本仍然会给出一些提示),直到MOUNT上。 SOFT:会在前台尝试与SERVER的连接,是默认的连接方式。当收到错误信息后终止mount尝试,并给出相关信息。 例如:mount -F nfs -o hard 192.168.0.10:/nfs /nfs 对于到底是使用hard还是soft的问题,这主要取决于你访问什么信息有关。例如你是想通过NFS来运行X PROGRAM的话,你绝对不会希望由于一些意外的情况(如网络速度一下子变的很慢,插拔了一下网卡插头等)而使系统输出大量的错误信息,如果此时你用的 是HARD方式的话,系统就会等待,直到能够重新与NFS SERVER建立连接传输信息。另外如果是非关键数据的话也可以使用SOFT方式,如FTP数据等,这样在远程机器暂时连接不上或关闭时就不会挂起你的会 话过程。 共享和加载NFS文件系统需要什么服务? 解决方法:红帽企业Linux使用核心级的支持和守护进程的组合来提供NFS文件共享.NFS依靠远程过程调用(RPC)在客户端和服务器端路由请求。在Linux下RPC服务由portmap服务控制. 为了共享和加载NFS文件系统,下面的服务要一起工作: * nfs - 启动相应RPC服务进程来服务对于NFS文件系统的请求. * nfslock - 一个可选的服务,用于启动相应的RPC进程,允许NFS客户端在服务器上对文件加锁. * portmap - Linux的RPC服务,它响应RPC服务的请求和与请求的RPC服务建立连接. 下面的RPC进程在后台一起工作服务于NFS服务: * rpc.mountd - 这个进程接受来自NFS客户端的加载请求和验证请求的文件系统正在被输出.这个进程由NFS服务自动启动,不需要用户的配置. * rpc.nfsd - 这个进程是NFS服务器.它和Linux核心一起工作来满足NFS客户端的动态需求,例如提供为每个NFS客户端的每次请求服务器线程.这个进程对应于nfs服务. * rpc.lockd - 一个可选的进程,它允许NFS客户端在服务器上对文件加锁.这个进程对应于nfslock服务. * rpc.statd - 这个进程实现了网络状态监控(NSM)RPC协议,通知NFS客户端什么时候一个NFS服务器非正常重启动.这个进程被nfslock服务自动启动,不需要用户的配置. * rpc.rquotad - 这个进程对于远程用户提供用户配额信息. 这个进程被nfs服务自动启动,不需要用户的配置. |