您的位置:首页 > 其它

一步步搭建NFS服务(2)------安装和配置

2014-03-08 11:02 513 查看
一、需要安装的软件包
1)rpcbind:RPC的主程序,这个软件包在客户端和服务器端都需要安装
2)nfs-utils:NFS的主程序,提供nfsd和mountd等相关服务,客户端和服务端都要安装
二、开始行动。。。
为了便于区分客户端和服务端,我分别将主机名改为Server和Client

123[root@Server~]#hostnameServer[root@Server~]#
123[root@Client~]#hostnameClient[root@Client~]#
1)两台主机分别安装rpcbind和nfs-utils
123456789101112131415161718192021222324[root@Server~]#yuminstallrpcbind#此处省略若干行#DependenciesResolved=======================================================================================================PackageArchVersionRepositorySize=======================================================================================================Installing:rpcbindx86_640.2.0-11.el6local_repo51kInstallingfordependencies:libgssgluex86_640.1-11.el6local_repo23klibtirpcx86_640.2.1-6.el6_4local_repo78kTransactionSummary=======================================================================================================Install3Package(s)#此处省略若干行#Installed:rpcbind.x86_640:0.2.0-11.el6DependencyInstalled:libgssglue.x86_640:0.1-11.el6libtirpc.x86_640:0.2.1-6.el6_4Complete![root@Server~]#
1234567891011121314151617181920212223242526272829[root@Server~]#yuminstallnfs-utils####此处省略若干行=======================================================================================================PackageArchVersionRepositorySize=======================================================================================================Installing:nfs-utilsx86_641:1.2.3-39.el6local_repo320kInstallingfordependencies:keyutilsx86_641.4-4.el6local_repo39klibeventx86_641.4.13-4.el6local_repo66knfs-utils-libx86_641.1.5-6.el6local_repo67kTransactionSummary=======================================================================================================Install4Package(s)####此处省略若干行Installed:nfs-utils.x86_641:1.2.3-39.el6DependencyInstalled:keyutils.x86_640:1.4-4.el6libevent.x86_640:1.4.13-4.el6nfs-utils-lib.x86_640:1.1.5-6.el6Complete![root@Server~]#
3)分析一下安装之后生成的文件
先看看rpcbind的

12345678910111213[root@Client~]#rpm-qlrpcbind/etc/rc.d/init.d/rpcbind#红帽系的启动脚本/sbin/rpcbind#rpcbind的启动和管理命令/usr/sbin/rpcinfo#查询指定主机的rpc信息####下面都是打酱油的/usr/share/doc/rpcbind-0.2.0/usr/share/doc/rpcbind-0.2.0/AUTHORS/usr/share/doc/rpcbind-0.2.0/ChangeLog/usr/share/doc/rpcbind-0.2.0/README/usr/share/man/man8/rpcbind.8.gz/usr/share/man/man8/rpcinfo.8.gz/var/cache/rpcbind[root@Client~]#
在看看nfs-utils的
123456789101112131415161718192021222324252627282930[root@Server~]#rpm-qlnfs-utils/etc/nfsmount.conf/etc/rc.d/init.d/nfs/etc/rc.d/init.d/nfslock/etc/rc.d/init.d/rpcgssd/etc/rc.d/init.d/rpcidmapd/etc/rc.d/init.d/rpcsvcgssd/etc/request-key.d/id_resolver.conf/etc/sysconfig/nfs/sbin/mount.nfs/sbin/mount.nfs4/sbin/nfs_cache_getent/sbin/rpc.statd/sbin/umount.nfs/sbin/umount.nfs4/usr/sbin/exportfs/usr/sbin/mountstats/usr/sbin/nfsidmap/usr/sbin/nfsiostat/usr/sbin/nfsstat/usr/sbin/rpc.gssd/usr/sbin/rpc.idmapd/usr/sbin/rpc.mountd/usr/sbin/rpc.nfsd/usr/sbin/rpc.svcgssd/usr/sbin/rpcdebug/usr/sbin/showmount/usr/sbin/sm-notify/usr/sbin/start-statd###下面若干行省略
注意:有一个特特特别重要的文件上面没有列出来,那就是/etc/exports这个文件,这是这是用于配置nfs共享文件的配置,十分重要,后面详细介绍。
4)启动RPC服务和NFS服务
在启动NFS服务之前一定先启动RPC服务,so,启动rpcbind,然后用rpcinfo探测本机rpc信息。
1234567891011121314151617[root@Client~]#servicerpcbindstartStartingrpcbind:[OK][root@Client~]#rpcinfo127.0.0.1programversionnetidaddressserviceowner1000004tcp6::.0.111portmappersuperuser1000003tcp6::.0.111portmappersuperuser1000004udp6::.0.111portmappersuperuser1000003udp6::.0.111portmappersuperuser1000004tcp0.0.0.0.0.111portmappersuperuser1000003tcp0.0.0.0.0.111portmappersuperuser1000002tcp0.0.0.0.0.111portmappersuperuser1000004udp0.0.0.0.0.111portmappersuperuser1000003udp0.0.0.0.0.111portmappersuperuser1000002udp0.0.0.0.0.111portmappersuperuser1000004local/var/run/rpcbind.sockportmappersuperuser1000003local/var/run/rpcbind.sockportmappersuperuser[root@Client~]#
从上面对rpcinfo中没有发现任何和NFS有关的信息,那是因为我们探测的是Client端。
好,那我们把服务端的rpcbind和NFS启动
123456789[root@Server~]#servicerpcbindstartStartingrpcbind:[OK][root@Server~]#servicenfsstartStartingNFSservices:[OK]StartingNFSquotas:[OK]StartingNFSmountd:[OK]StartingNFSdaemon:[OK]StartingRPCidmapd:[OK][root@Server~]#
可以看出来,当起动nfs主服务,随之一起启动的还有quotas(配额服务),mountd(挂载和访问权限控制的)等等。
现在我们在回过头来在客户端用rpcinfo探测服务端。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263[root@Client~]#rpcinfo192.168.80.102programversionnetidaddressserviceowner1000004tcp6::.0.111portmappersuperuser1000003tcp6::.0.111portmappersuperuser1000004udp6::.0.111portmappersuperuser1000003udp6::.0.111portmappersuperuser1000004tcp0.0.0.0.0.111portmappersuperuser1000003tcp0.0.0.0.0.111portmappersuperuser1000002tcp0.0.0.0.0.111portmappersuperuser1000004udp0.0.0.0.0.111portmappersuperuser1000003udp0.0.0.0.0.111portmappersuperuser1000002udp0.0.0.0.0.111portmappersuperuser1000004local/var/run/rpcbind.sockportmappersuperuser1000003local/var/run/rpcbind.sockportmappersuperuser1000111udp0.0.0.0.3.107rquotadsuperuser1000112udp0.0.0.0.3.107rquotadsuperuser1000111tcp0.0.0.0.3.107rquotadsuperuser1000112tcp0.0.0.0.3.107rquotadsuperuser1000051udp0.0.0.0.170.4mountdsuperuser1000051tcp0.0.0.0.233.174mountdsuperuser1000051udp6::.179.140mountdsuperuser1000051tcp6::.163.49mountdsuperuser1000052udp0.0.0.0.166.4mountdsuperuser1000052tcp0.0.0.0.201.171mountdsuperuser1000052udp6::.229.140mountdsuperuser1000052tcp6::.229.7mountdsuperuser1000053udp0.0.0.0.237.110mountdsuperuser1000053tcp0.0.0.0.183.5mountdsuperuser1000053udp6::.157.246mountdsuperuser1000053tcp6::.216.13mountdsuperuser1000032tcp0.0.0.0.8.1nfssuperuser1000033tcp0.0.0.0.8.1nfssuperuser1000034tcp0.0.0.0.8.1nfssuperuser1002272tcp0.0.0.0.8.1nfs_aclsuperuser1002273tcp0.0.0.0.8.1nfs_aclsuperuser1000032udp0.0.0.0.8.1nfssuperuser1000033udp0.0.0.0.8.1nfssuperuser1000034udp0.0.0.0.8.1nfssuperuser1002272udp0.0.0.0.8.1nfs_aclsuperuser1002273udp0.0.0.0.8.1nfs_aclsuperuser1000032tcp6::.8.1nfssuperuser1000033tcp6::.8.1nfssuperuser1000034tcp6::.8.1nfssuperuser1002272tcp6::.8.1nfs_aclsuperuser1002273tcp6::.8.1nfs_aclsuperuser1000032udp6::.8.1nfssuperuser1000033udp6::.8.1nfssuperuser1000034udp6::.8.1nfssuperuser1002272udp6::.8.1nfs_aclsuperuser1002273udp6::.8.1nfs_aclsuperuser1000211udp0.0.0.0.231.70nlockmgrsuperuser1000213udp0.0.0.0.231.70nlockmgrsuperuser1000214udp0.0.0.0.231.70nlockmgrsuperuser1000211tcp0.0.0.0.167.220nlockmgrsuperuser1000213tcp0.0.0.0.167.220nlockmgrsuperuser1000214tcp0.0.0.0.167.220nlockmgrsuperuser1000211udp6::.190.58nlockmgrsuperuser1000213udp6::.190.58nlockmgrsuperuser1000214udp6::.190.58nlockmgrsuperuser1000211tcp6::.160.232nlockmgrsuperuser1000213tcp6::.160.232nlockmgrsuperuser1000214tcp6::.160.232nlockmgrsuperuser[root@Client~]#
再看看是不是就多了很多信息啦,现在服务端的rpc就多了nfs相关的子服务了。
三、配置和使用
双方的服务都搭建好了,现在就是使用吧
1)配置服务端要共享出去的目录或者分区,这个配置就是刚刚说到的/etc/exports文件了
/etc/exports配置规则:[共享目录][客户端][权限]
[共享文件]:这个随意,如/home/works/
[客户端]:分享给谁,谁可以访问,这里可以使用主机ip、网络号ip还有主机名
主机ip:如192.168.80.101/24
网络号:如192.168.80.0/24
主机名:如www.baidu.com,如果用主机名配置,可以使用通配符。​如*.baidu.com就表示任何baidu.com的三级域名都可以访问
[权限]需要注意的是,上面的每一项都是空格分开,但是权限要紧随[客户端]后面,用括号括起来
具体的权限选项:
123456789101112rw:读写ro:secure:默认已经启用;限制客户端只能使用小于1024的端口访问请求;若不加限制,则使用insecureasync:异步写入,性能好,数据可靠性差;sync:同步写入,性能差,数据可靠性高;wdelay:写入延迟;no_wdelaynohide:不隐藏要导出的目录中挂载的其它nfs;no_acl:关闭nfs的acl功能;root_squash:压缩root权限,nfsnobodyno_root_squash:不压缩root权限all_squash:所有用户都压缩anonuid=nfsuser,anongid=nfsgroup:使用指定的用户帐号做匿名用户帐号
现在我们就配置一下我们客户端可以访问的nfs服务
1/data/192.168.80.0/24(rw)
配置好exports文件后,重启nfs服务
重启完成之后我们在客户端用showmount命令检查一下服务端共享的文件
1234[root@Client~]#showmount-e192.168.80.102Exportlistfor192.168.80.102:/data192.168.80.0/24[root@Client~]#
可以看到服务端共享了/data这个目录,那我们赶紧挂载使用吧。
将对方的/data/挂载到本地/nfstest/里
1234[root@Client~]#mount192.168.80.102:/data/nfstest[root@Client~]#ls/nfstest/fstabinittab[root@Client~]#
ok,挂载成功,可以使用了,但是真的可以使用了吗,还不一定,why?权限问题,NFS服务中,权限是个大问题,也是NFS服务中最头痛的问题,额。。。。请听下回分解。。。


来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: