今天有人问我NFS服务,同一个目录可不可以映射到不同的 ip上。(
我竟然不知所云)不知道什么是NFS服务。惭愧ing……
然后就在网上找这些相关资料。还有问一下……才知道是怎么回事?
知道了一些概念性的东西。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来运行XPROGRAM的话,你绝对不会希望由于一些意外的情况(如网络速度一下子变的很慢,插拔了一下网卡插头等)而使系统输出大量的错误信息,如果此时你用的是HARD方式的话,系统就会等待,直到能够重新与NFSSERVER建立连接传输信息。另外如果是非关键数据的话也可以使用SOFT方式,如FTP数据等,这样在远程机器暂时连接不上或关闭时就不会挂起你的会话过程。
只是明白了这一部分,还在研究中……