NFS配置,需要安装win7需要什么配置哪些包

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(5377)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'安装nfs-kernel-server nfs-common portmap',
blogAbstract:' 第一步:利用apt-get install 安装这些软件。如果遇到问题请参考上一篇日志,删除lists,再进行安装。这个步骤要定期做,以保持是最新。root@ubuntu:~# apt-get install nfs-kernel-server nfs-common portmap正在读取软件包列表... 完成正在分析软件包的依赖关系树&&&&&& 正在读取状态信息... 完成&&&&&& 将会安装下列额外的软件包:&libgssglue1 libnfsidmap2 librpcsecgss3下列【新】软件包将被安装:& libgssglue1 libnfsidmap2 librpcsecgss3 nfs-common nfs-kernel-server portmap',
blogTag:'',
blogUrl:'blog/static/7',
isPublished:1,
istop:false,
modifyTime:4,
publishTime:5,
permalink:'blog/static/7',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}Linux NFS服务器的安装与配置详解_服务器应用_Linux公社-Linux系统门户网站
你好,游客
Linux NFS服务器的安装与配置详解
来源:Linux社区&
作者:chenmingqi
一、NFS服务简介& & & NFS是Network& File System(网络文件系统)。主要功能是通过网络让不同的服务器之间可以共享文件或者目录。NFS客户端一般是应用服务器(比如web,负载均衡等),可以通过挂载的方式将NFS服务器端共享的目录挂载到NFS客户端本地的目录下。& & & NFS在文件传送过程中依赖与RPC(远程过程调用)协议。NFS本身是没有提供信息传送的协议和功能的,但是能够用过网络进行图片,视频,附件等分享功能。只要用到NFS的地方都需要启动RPC服务,不论是NFS的服务端还是客户端。& & & NFS和RPC的关系:可以理解为NFS是一个网络文件系统(比喻为租房的房主),而RPC是负责信息的传输(中介),客户端(相当于租房的租客)
二、系统环境:[root@linuxidc ~]# cat /etc/-release& ##查看系统版本信息
release 6.7 (Final) [root@linuxidc ~]# uname -r& & & & & & & & & ##查看内核信息 2.6.32-573.el6.x86_64 [root@linuxidc ~]# uname -m& & & & & & & & & ##查看系统是32位还是64位的 x86_64
三、服务端配置& & & 在启动NFS服务之前,首先要启动RPC服务(CentOS5是portmap服务,CentOS6.6以后的版本是rpcbind服务),否则NFS服务器无法向RPC服务注册。另外,RPC服务如果重启,原来以及有的NFS端口就会丢失,因此,只要RPC服务重启,NFS服务就要重启向RPC重新注册新的随机端口号。一般修改NFS配置文件后,不需要重启服务,直接平滑重启即可,命令:/etc/init.d/nfs reload或者exportfs -rv就可以修改/etc/exports生效。
& & & /etc/init.d/nfs reload的作用是:让已经到达服务器的请求给他处理完毕,但是没有到达服务器的请求,就把它断掉。就相当于我们去车站坐车,车子即将出发时,已经上车的就可以正常出发,没有赶上车的就没有办法跟车出发。
要部署NFS服务,需要安装下面的软件包:1)nfs-utils:NFS服务的主程序 2)rpcbing:NFS可以视为一个RPC的主程序,在启动任何一个RPC程序之前,需要做好端口和功能的对应映射工作
1)查看NFS的软件包&[root@linuxidc ~]# rpm -qa nfs-utils rpcbind
nfs和rpc默认是没有安装的,需要yum安装
2)CentOS6.7默认没有安装软件包,可以使用yum& install& nfs-utils rpcbind -y命令来安装NFS软件[root@linuxidc ~]# yum install nfs-utils rpcbind& -y [root@linuxidc ~]# rpm -qa nfs-utils rpcbind nfs-utils-1.2.3-70.el6_8.2.x86_64 rpcbind-0.2.0-12.el6.x86_64
3)启动NFS服务第一步:先启动rpc服务[root@linuxidc ~]# /etc/init.d/rpcbind start& #启动rpc服务 [root@linuxidc ~]# /etc/init.d/rpcbind status& #查看rpc服务状态 rpcbind (pid& 4269) 正在运行...
第二步:启动NFS服务[root@linuxidc ~]# /etc/init.d/nfs start& & #启动nfs服务 [root@linuxidc ~]# /etc/init.d/nfs status& & #查看nfs服务状态 rpc.svcgssd 已停 rpc.mountd (pid 3282) 正在运行... nfsd (pid 96 93 ) 正在运行... rpc.rquotad (pid 3277) 正在运行...
& 必须要先启动rpc服务,然后再启动NFS服务,如果先启动NFS服务,启动服务时会失败,提示如下[root@linuxidc ~]# /etc/init.d/nfs start 启动 NFS 服务:& & & & & & & & & & & & & & & & & & & & & & [确定] 关掉 NFS 配额:无法注册服务: RPC:无法接收; errno = 拒绝连接 rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp). & & & & & & & & & & & & & & & & & & & & & & & & & & & & & [失败] 启动 NFS mountd:& & & & & & & & & & & & & & & & & & & & & [失败] 启动 NFS 守护进程:
[root@linuxidc ~]# rpcinfo -p 172.16.1.31& #查看NFS服务向rpc注册的端口信息,主端口号是:111 & program vers proto& port& service & & 100000& & 4& tcp& & 111& portmapper & & 100000& & 3& tcp& & 111& portmapper & & 100000& & 2& tcp& & 111& portmapper & & 100000& & 4& udp& & 111& portmapper & & 100000& & 3& udp& & 111& portmapper & & 100000& & 2& udp& & 111& portmapper & & 100011& & 1& udp& & 875& rquotad & & 100011& & 2& udp& & 875& rquotad & & 100011& & 1& tc p& & 875& rquotad & & 100011& & 2& tcp& & 875& rquotad
第三步:检查开机是否自启动
[root@linuxidc ~]# chkconfig nfs on [root@linuxidc ~]# chkconfig rpcbind on [root@linuxidc ~]# chkconfig --list nfs nfs& & & & & & 0:关闭& 1:关闭& 2:启用& 3:启用& 4:启用& 5:启用& 6:关闭 [root@linuxidc ~]# chkconfig --list rpcbind rpcbind& & & & 0:关闭& 1:关闭& 2:启用& 3:启用& 4:启用& 5:启用& 6:关闭 [root@linuxidc ~]# tail -2 /etc/rc.local& /etc/init.d/rpcbind start /etc/init.d/nfs& start
在工作中,大都是统一按照运维规范将服务的启动命令放到/etc/rc.local里面,而不是用chkconfig来管理的,所有的服务一旦开机自启动就必须放到/etc/rc.local中。这样的好处是,一旦管理此服务器的人员离职忙活着业务迁移都可以通过/etc/rc.local很容易的查看到服务器对应的相关服务,可以方便的运维管理。
4)NFS服务端配置文件的配置NFS默认配置文件路径是:/etc/exports,文件默认是空的。
/etc/exports配置文件的格式是:NFS共享的目录& & NFS客户端地址(参数1,参数2)123456 [root@linuxidc ~]# cat /etc/exports& #share /data by linuxidc for bingbing at & /data 172.16.1.0/24(rw,sync)& ##一条配置搞定NFS配置文件 其中:/data是服务器端共享的目录 & & & 172.16.1.0/24共享目录的客户端ip地址 & & & (rw,sync) ,其中rw代表拥有读写的权限,sync代表数据同步写入NFS服务器端的硬盘中。也可以用async,async是大数据时使用,是先写到缓存区,再写到磁盘里。
v NFS共享的目录:为NFS服务器端要共享的实际目录,要用决定路径,如(/data)。注意共享目录的本地权限,需要读写权限,一定要让本地目录可以被NFS客户端的用户读写v NFS客户端地址:为NFS服务器端授权的可访问的共享目录的NFS客户端地址,可以为单独的ip地址或者主机名,域名等,也可以是整个网段的地址。& 创建/data目录,并且属主和属组都为:nfsnobody,其中nfsnobody是安装nfs服务时默认的用户[root@linuxidc ~]# mkdir /data -p [root@linuxidc ~]# chown -R nfsnobody:nfsnobody /data [root@linuxidc ~]# ls -ld /data drwxr-xr-x 6 nfsnobody nfsnobody 4096 12月& 8 20:17 /data[root@linuxidc ~]# /etc/init.d/nfs reload &[root@linuxidc ~]# showmount -e 172.16.1.31& ##本地测试,说明服务端测试成功 Export list for 172.16.1.31: /data 172.16.1.0/24
四、客户端配置1.客户端和服务端一样,也要安装nfs和rpm的安装包。(配置见服务器端)2.客户端需要启动rpc服务,加入开机自启动,不需要启动nfs服务。(配置见服务器端)3.测试:第一步:ping,能不能ping通服务器端ip地址[root@linuxidc ~]# ping 172.16.1.31 PING 172.16.1.31 (172.16.1.31) 56(84) bytes of data. 64 bytes from 172.16.1.31: icmp_seq=1 ttl=64 time=0.383 ms 64 bytes from 172.16.1.31: icmp_seq=2 ttl=64 time=0.434 ms 64 bytes from 172.16.1.31: icmp_seq=3 ttl=64 time=0.420 ms 64 bytes from 172.16.1.31: icmp_seq=4 ttl=64 time=0.437 ms 64 bytes from 172.16.1.31: icmp_seq=5 ttl=64 time=0.439 ms ^C --- 172.16.1.31 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4997ms rtt min/avg/max/mdev = 0.383/0.422/0.439/0.030 ms
第二步:telnet服务端的111端口[root@linuxidc ~]# telnet 172.16.1.31 111 Trying 172.16.1.31... Connected to 172.16.1.31. Escape character is '^]'.
第三步:showmount服务端
[root@linuxidc ~]# showmount -e 172.16.1.31 Export list for 172.16.1.31: /data 172.16.1.0/24
第四步:挂载,文件共享[root@linuxidc ~]# mount -t& nfs 172.16.1.31:/data/ /mnt
第五步:查看是否挂载成功了[root@linuxidc ~]# df -h Filesystem& & & & & Size& Used Avail Use% Mounted on /dev/sda3& & & & & 8.8G& 1.5G& 6.9G& 18% / tmpfs& & & & & & & 491M& & 0& 491M& 0% /dev/shm/dev/sda1& & & & & 190M& 36M& 145M& 20% /boot172.16.1.31:/data/& 8.8G& 1.5G& 7.0G& 18% /mnt
说明客户端测试成功,配置完成。
NFS文件系统详解&
12.04安装NFS server
基于LAMP平台利用NFS远程共享资源实现站点构建&
文件服务器NFS配置详解
Ubuntu下搭建NFS网络文件系统服务器
CentOS 7.2中NFS1.3 安装
Ubuntu 14.04安装配置NFS服务器
本文永久更新链接地址:
相关资讯 & & &
& (10/18/:26)
& (05/03/:14)
& (10/30/:40)
& (05/13/:38)
& (01/20/:49)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款nfs配置管理
时间: 22:31:28
&&&& 阅读:112
&&&& 评论:
&&&& 收藏:0
标签:nfs基本概念&&&&& 网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。&&&& 在嵌入式Linux 的开发过程中,开发者需要在Linux 服务器上进行所有的软件开发,交叉编译后,通用FTP
方式将可执行文件下载到嵌入式系统运行,但这种方式不但效率低下,且无法实现在线的调试。因此,可以通过建立NFS,把Linux
服务器上的特定分区共享到待调试的嵌入式目标系统上,就可以直接在嵌入式目标系统上操作Linux
服务器,同时可以在线对程序进行调试和修改,大大的方便了软件的开发。因此,NFS 的是嵌入式Linux
开发的一个重要的组成部分,本部分内容将详细说明如何配置嵌入式Linux 的NFS 开发环境。  嵌入式Linux 的NFS 开发环境的实现包括两个方面:一是Linux 服务器端的NFS 服务器支持;二是嵌入式目标系统的NFS 客户端的支持。因此,NFS 开发环境的建立需要配置linux 服务器端和嵌入式目标系统端。1 实验方案使用2台RHEL6.6虚拟机,其中一台作为NFS共享服务器(192.168.137.12)、另外一台作为NFS客户机(192.168.137.22)2.实现2.1.配置NFS共享服务器。1:yum方式安装nfs,安装软件包[root@agent2 ~]# rpm -qa nfs-utils[root@agent2 ~]# rpm -qa | grep nfs[root@agent2 ~]#yum install nfs-utils -y[root@agent2 ~]# rpm -qa | grep nfsnfs-utils-lib-1.1.5-9.el6.x86_64nfs-utils-1.2.3-54.el6.x86_64[root@agent2 ~]# rpm -q rpcbind nfs-utilsrpcbind-0.2.0-11.el6.x86_64nfs-utils-1.2.3-54.el6.x86_642:配置文件设置,修改nfs主配置文件/etc/exports,添加/nfstest共享设置。[root@agent2 ~]# cat /etc/exports /mnt/nfs 192.168.137.12 (rw,sync,root_squash) //设置为只对192.168.137.0网段用户具有读写权限,并同步写入内存与硬盘,开放客端使用root身份/mnt/nfs 为对外共享的目录;&192.168.137.*为对外共享的主机;或者写网段192.168.137.0/24ro 该主机对该共享目录有只读权限rw 该主机对该共享目录有读写权限root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户no_root_squash 客户机用root访问该共享文件夹时,不映射root用户all_squash& 客户机上的任何用户访问该共享目录时都映射成匿名用户anonuid&&&&&&&&&&&& 将客户机上的用户映射成指定的本地用户ID的用户anongid&&&&&&&&&&&& 将客户机上的用户映射成属于指定的本地用户组IDsync&&&&&&&&&&&&&&&&& 资料同步写入到内存与硬盘中async&&&&&&&&&&&&&&& 资料会先暂存于内存中,而非直接写入硬盘insecure&&&&&&&&&&& 允许从这台机器过来的非授权访问[root@agent2 ~]# 3:创建测试文件和目录,创建共享目录[root@agent2 ~]#mkidr /mnt/nfs[root@agent2 ~]# ls -ld /mnt/nfs& //查看测试目录权限drwxr-xr-x 2 root root 4096 Feb 13 13:19 /mnt/nfs[root@agent2 ~]# echo "testnfs file" & /mnt/nfs/nfs.txt& //创建测试文件4:启用NFS相关服务程序。rpcbind和nfs服务均启动成功后,执行showmount -e可查看本机当前已发布的共享资源列表:[root@agent2 ~]#& service rpcbind startStarting rpcbind:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ][root@agent2 ~]#& service nfs startStarting NFS services:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Starting NFS quotas:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Starting NFS mountd:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Starting NFS daemon:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Starting RPC idmapd:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ][root@agent2 ~]# 或者使用exportfs命令使设置生效用exportfs&&&& exportfs -rv&&&& #exportfs用法&&&& -a :全部mount或者unmount /etc/exports中的内容&&&&& -r :重新mount /etc/exports中分享出来的目录&&&&& -u :umount 目录&&&&& -v :将详细的信息输出到屏幕上&&&&这样nfs的服务器端就设置好了。[root@agent2 ~]#& chkconfig rpcbind on[root@agent2 ~]#& chkconfig nfs on[root@agent2 ~]#& chkconfig --list rpcbindrpcbind&&&&&& &&& &0:off&& &1:off&& &2:on&& &3:on&& &4:on&& &5:on&& &6:off[root@agent2 ~]#& chkconfig --list nfsnfs&&&&&&&&&& &&& &0:off&& &1:off&& &2:on&& &3:on&& &4:on&& &5:on&& &6:off[root@agent2 ~]# [root@agent2 ~]# showmount -e localhost //查看本机发布共享资源Export list for localhost:/mnt/nfs 192.168.137.0/24[root@agent2 ~]# 2.2使用NFS客户机,查看及访问/nfs共享1)客户端也需要安装相应软件[root@client ~]# rpm -q rpcbind nfs-utilsrpcbind-0.2.0-11.el6.x86_64nfs-utils-1.2.3-54.el6.x86_642)从客户机上查看服务器的NFS共享资源列表。客户机必须安装了nfs-utils软件包,才能使用showmount命令查看NFS资源:[root@client ~]# showmount -e 192.168.137.12Export list for 192.168.137.12:/mnt/nfs 192.168.137.0/24[root@client ~]# 3)从客户机192.168.137.22上挂载/nfs共享,并测试读写权限。[root@client ~]# showmount -e 192.168.137.12Export list for 192.168.137.12:/mnt/nfs 192.168.137.0/24[root@client ~]#& mount 192.168.137.12:/mnt/nfs /mnt &[root@client ~]# df -h Filesystem&&&&&&&&&&& Size& Used Avail Use% Mounted on/dev/sda2&&&&&&&&&&&&& 18G& 6.5G&& 11G& 40% /tmpfs&&&&&&&&&&&&&&&& 931M& 228K& 931M&& 1% /dev/shm/dev/sda1&&&&&&&&&&&& 283M&& 33M& 236M& 13% /boot192.168.137.12:/mnt/nfs&&&&&&&&&&&&&&&&&&&&&& 18G& 6.5G&& 11G& 40% /mnt[root@client ~]# cd /mnt/[root@client mnt]# lltotal 3-rw-r--r-- 1 root root 13 Feb 13 13:35 nfs.txt[root@client mnt]# touch ceshi //测试写入权限touch: cannot touch `ceshi‘: Permission denied[root@client mnt]# touch ceshi.txttouch: cannot touch `ceshi.txt‘: Permission denied发现nfs挂载后没有创建文件的权限,检查NFS服务端的共享目录,看属主和组是不为nfsnobody用户和组,导致没有权限[root@agent2 ~]# chown -R nfsnobody:nfsnobody /mnt/nfs/[root@agent2 ~]# [root@client mnt]# touch ceshi.txt & //测试写入权限[root@client mnt]# lltotal 4-rw-r--r-- 1 nfsnobody nfsnobody& 0 Feb 13 14:18 ceshi.txt-rw-r--r-- 1 nfsnobody nfsnobody 13 Feb 13 13:35 nfs.txt[root@client mnt]# 4)设置开机后自动挂载NFS共享资源。[root@client mnt]# grep nfs /etc/fstab 192.168.137.12:/mnt/nfs /mnt nfs defaults 0 0& //文件类型为nfs5)卸载共享资源当NFS Client 无法访问 NFS Server的适合,在Client上df操作等就会挂起。这个适合需要将挂载的NFS卸载掉。在不知道挂载点的情况下,可以使用nfsstat -m 命令来查看。 [root@client mnt]#umount /mnt出现device is busy的问题,首先查找谁在占用:#fuser /mnt/nfs 得到进程号,& 查找进程:#ps –ef|grep 进程号,kill -9 进程号杀死进程号,然后umount ,如不行 umount –f /mnt/nfs强行卸载。再不行重新启动nfsd,再执行上述命令umount文件系统。[root@client mnt]# umount -k /mnt 杀死进程[root@client mnt]#&Connecting to 192.168.137.22:22...Connection established.Escape character is ‘^@]‘.Last login: Mon Feb 13 14:28:57 2017 from 192.168.137.1在杀死进程的操作中crt会终端,然后重新连接,再用-f或者-l卸载即可[root@client ~]# df -h Filesystem&&&&&&&&&&& Size& Used Avail Use% Mounted on/dev/sda2&&&&&&&&&&&&& 18G& 6.5G&& 11G& 40% /tmpfs&&&&&&&&&&&&&&&& 931M& 228K& 931M&& 1% /dev/shm/dev/sda1&&&&&&&&&&&& 283M&& 33M& 236M& 13% /boot192.168.137.12:/mnt/nfs&&&&&&&&&&&&&&&&&&&&&& 18G& 6.5G&& 11G& 40% /mnt[root@client ~]# umount -f /mnt/[root@client ~]# df -h Filesystem&&&&& Size& Used Avail Use% Mounted on/dev/sda2&&&&&&& 18G& 6.5G&& 11G& 40% /tmpfs&&&&&&&&&& 931M& 228K& 931M&& 1% /dev/shm/dev/sda1&&&&&& 283M&& 33M& 236M& 13% /boot[root@client ~]# [root@client ~]# mount -a[root@client ~]# mount | tail -n 1192.168.137.12:/mnt/nfs on /mnt type nfs (rw,vers=4,addr=192.168.137.12,clientaddr=192.168.137.22)总结:查看远程主机上的共享目录情况的几个参数配置:使用showmount命令,这个命令需要root权限。它有三个选项(记住这三个选项代表的含义:
&& showmount –a IP&&& 显示指定NFS服务器的客户端以及服务器端在客户端的挂载点
&&& showmount –d IP&&& 显示指定NFS服务器在客户端的挂载点
&&& showmount –e IP&& &显示指定NFS服务器上的共享目录列表(或者叫输出列表)总结:客户端的挂载3种方式1.通过mount命令挂载mount 192.168.137.12:/mnt/nfs /mnt/ mount -t nfs 192.168.137.12:/mnt/nfs /mnt/ -o nlock//其中客户端必须有/mnt/stb目录2. 通过 /etc/fstab 来挂载 NFS 文件系统要挂载其它机器上的 NFS 共享的另一种方法是在 /etc/fstab 文件中添加一行。这一行中必须声明 NFS 服务器的主机名,要导出的目录,以及要挂载 NFS 共享的本地机器目录。你必须是根用户才能修改 /etc/fstab 文件。/etc/fstab 中每行的一般语法如下所示:server:/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr挂载点
/pub 在客户机器上必须存在。在客户系统的 /etc/fstab 文件中把这一行添加完毕后,在 shell 提示下键入命令 mount
/pub,以及将会从服务器中挂载的挂载点 /pub。 3. 挂载 NFS 共享的第三种方法是使用 autofs。autofs 使用 automount 守护进程来管理你的挂载点,它只在文件系统被访问时才动态地挂载它们。autofs 咨询主映射配置文件 /etc/auto.master 来决定要定义哪些挂载点。然后,它使用适用于各个挂载点的参数来启动
进程。主映射配置中的每一行都定义一个挂载点,一个分开的映射文件定义在该挂载点下要挂载的文件系统。譬如,/etc/auto.misc
文件可能会定义 /misc 目录中的挂载点;这种关系在 /etc/auto.master 文件中会被定义。auto.master 文件中的每个项目都有三个字段。第一个字段是挂载点。第二个字段是映射文件的位置,第三个字段可选。第三个字段可以包括超时数值之类的信息。譬如,要在你的机器上的 /misc/myproject 挂载点上挂载远程机器 penguin.example.net 上的 /project52 目录,在 auto.master 文件中添加以下行:&/misc /etc/auto.misc --timeout 60在 /etc/auto.misc 文件中添加以下行:myproject -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52/etc/auto.misc 中的第一个字段是 /misc 子目录的名称。该目录被 automount 动态地创建。它不应该在客户机器上实际存在。第二个字段包括挂载选项,如:rw 代表读写访问权。第三个字段是要导出的 NFS 的位置,包括主机名和目录。&注记 &目录 /misc 在本地文件系统中必须存在。在本地文件系统的 /misc 目录中不应该有子目录。 &总结:nfs卸载的3种方法方法一:fuser -m -v /mnt/&&&&&&&&& 用户& 进程号& 权限&& 命令/mnt/:&& root& 2798&&& ..c..& bash&&&&&&&&& root& 2996&&& ..c..& su如上所示,有两个进程占用了,将其kill掉,再重新取消挂载。kill -9 umount /mnt方法二:umount& -l& /mnt[root@client ~]# umount -l /mnt/[root@client ~]# df -h Filesystem&&&&& Size& Used Avail Use% Mounted on/dev/sda2&&&&&&& 18G& 6.5G&& 11G& 40% /tmpfs&&&&&&&&&& 931M& 228K& 931M&& 1% /dev/shm/dev/sda1&&&&&& 283M&& 33M& 236M& 13% /boot方法三:fuser -km /mnt然后umount -f [root@client ~]# fuser -km /mnt[root@client ~]# df -h Filesystem&&&&&&&&&&& Size& Used Avail Use% Mounted on/dev/sda2&&&&&&&&&&&&& 18G& 6.5G&& 11G& 40% /tmpfs&&&&&&&&&&&&&&&& 931M& 228K& 931M&& 1% /dev/shm/dev/sda1&&&&&&&&&&&& 283M&& 33M& 236M& 13% /boot192.168.137.12:/mnt/nfs&&&&&&&&&&&&&&&&&&&&&& 18G& 6.5G&& 11G& 40% /mnt[root@client ~]# umount /mnt/[root@client ~]# df -h Filesystem&&&&& Size& Used Avail Use% Mounted on/dev/sda2&&&&&&& 18G& 6.5G&& 11G& 40% /tmpfs&&&&&&&&&& 931M& 228K& 931M&& 1% /dev/shm/dev/sda1&&&&&& 283M&& 33M& 236M& 13% /boot[root@client ~]# nfs软件卸载卸载nfs因为nfs-utils-lib包需要nfs-utils包,所以必须先把依赖它的包卸载不如用yum卸载,自动卸载依赖它的包yum&erase&nfs-utilsrpm安装需要安装如下的软件:setup-*: &&&&&&&&&& 共享NFS目录在/etc/exports中定义initscripts-*:&&&&&&& 包括引导过程中装载网络目录的基本脚本nfs-utils-*: &&&&&& 包括基本的NFS命令与监控程序portmap-*: &&&&& 支持安全NFS RPC服务的连接quota-*:   && 网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)脚本来完成nfs的启动,挂载。&&& host启动nfs: &&& snfs &&& #!/bin/bash &&& ifconfig eth0 192.168.137.12 &&& /etc/rc.d/init.d/rpcbind start &&& /etc/rc.d/init.d/nfs start &&& 嵌入式目标机挂载nfs: &&& mnfs: & &&& #!/bin/sh &&& mount -t nfs 192.168.137.12:/mnt/nfs /mnt/ -o nolock &&& echo “nfs ok!”nfs安全设置方面hosts.allow和hosts.deny设置hosts.allow设置:portmap: iphosts.deny设置:portmap:ALLnfs配置参数补充:设置输出目录只读 ro设置输出目录读写 rw用户映射选项all_squash 将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);no_all_squash 与all_squash取反(默认设置);root_squash 将root用户及所属组都映射为匿名用户或用户组(默认设置);no_root_squash 与rootsquash取反;anonuid=xxx 将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);anongid=xxx 将远程访问的所有用户组都映射为匿名用 户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);其它选项secure 限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);insecure 允许客户端从大于1024的tcp/ip端口连接服务器;sync 将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;async 将数据先保存在内存缓冲区中,必要时才写入磁盘;wdelay 检查是否有相关的写操作,如果有则将这些写操作 一起执行,这样可以提高效率(默认设置);no_wdelay 若有写操作则立即执行,应与sync配合使用;subtree 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);no_subtree 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;hide&&& 在NFS共享目录中不共享其子目录no_hide 共享NFS目录的子目录所遇问题:redhat6.6portmap: 未被识别的服务解决方案:由于在6系列里面,portmap已经改名了 ,6系列需要使用
service&rpcbind&start启动补充:挂载中遇到的防火墙的问题在客户端挂载该目录:&&&& 在本地创建挂载的目录 &&&& mkdir /sharedisk&&&& mount -t nfs 192.168.0.10:/sharedisk& /sharedisk&&&& #将服务器192.168.0.10上的/sharedisk/ 路径挂载到本地&&&& 此时,如果服务器端的防火墙有开着的话,将会提示错误,如:&&&& mount: mount to NFS server ‘192.168.0.10‘ failed: System Error: No route to host.&&&& 这个主要是因为防火墙的问题导致的 防火墙上开放对应端口即可[root@agent2 ~]# rpcinfo -p 192.168.137.12&& program vers proto&& port& service&&& 100000&&& 4&& tcp&&& 111& portmapper&&& 100000&&& 3&& tcp&&& 111& portmapper&&& 100000&&& 2&& tcp&&& 111& portmapper&&& 100000&&& 4&& udp&&& 111& portmapper&&& 100000&&& 3&& udp&&& 111& portmapper&&& 100000&&& 2&& udp&&& 111& portmapper&&& 100011&&& 1&& udp&&& 875& rquotad&&& 100011&&& 2&& udp&&& 875& rquotad&&& 100011&&& 1&& tcp&&& 875& rquotad&&& 100011&&& 2&& tcp&&& 875& rquotad&&& 100005&&& 1&& udp& 39322& mountd&&& 100005&&& 1&& tcp& 57092& mountd&&& 100005&&& 2&& udp& 41246& mountd&&& 100005&&& 2&& tcp& 49296& mountd&&& 100005&&& 3&& udp& 52272& mountd&&& 100005&&& 3&& tcp& 48288& mountd&&& 100003&&& 2&& tcp&& 2049& nfs&&& 100003&&& 3&& tcp&& 2049& nfs&&& 100003&&& 4&& tcp&& 2049& nfs&&& 100227&&& 2&& tcp&& 2049& nfs_acl&&& 100227&&& 3&& tcp&& 2049& nfs_acl&&& 100003&&& 2&& udp&& 2049& nfs&&& 100003&&& 3&& udp&& 2049& nfs&&& 100003&&& 4&& udp&& 2049& nfs&&& 100227&&& 2&& udp&& 2049& nfs_acl&&& 100227&&& 3&& udp&& 2049& nfs_acl&&& 100021&&& 1&& udp& 37626& nlockmgr&&& 100021&&& 3&& udp& 37626& nlockmgr&&& 100021&&& 4&& udp& 37626& nlockmgr&&& 100021&&& 1&& tcp& 45526& nlockmgr&&& 100021&&& 3&& tcp& 45526& nlockmgr&&& 100021&&& 4&& tcp& 45526& nlockmgr[root@agent2 ~]# [root@agent2 ~]# /etc/init.d/rpcbind restartStopping rpcbind:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Starting rpcbind:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ][root@agent2 ~]# /etc/init.d/nfs restartShutting down NFS daemon:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Shutting down NFS mountd:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Shutting down NFS quotas:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Shutting down NFS services:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Shutting down RPC idmapd:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Starting NFS services:& exportfs: No options for /mnt/nfs //设置为只对192.168.137.0网段用户具有读写权限,并同步写入内存与硬盘,开放客户端使用root身份: suggest //设置为只对192.168.137.0网段用户具有读写权限,并同步写入内存与硬盘,开放客户端使用root身份(sync) to avoid warningexportfs: Invalid IP address //设置为只对192.168.137.0网段用户具有读写权限,并同步写入内存与硬盘,开放客户端使用root身份exportfs: Invalid IP address //设置为只对192.168.137.0网段用户具有读写权限,并同步写入内存与硬盘,开放客户端使用root身份&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Starting NFS quotas:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Starting NFS mountd:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Starting NFS daemon:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]Starting RPC idmapd:&&&&&&&&&&&&& 由于nfs服务需要开启 mountd,nfs,nlockmgr,portmapper,rquotad这5个服务,需要将这5个服务的端口加到iptables里面&&&& 而nfs 和 portmapper两个服务是固定端口的,nfs为2049,portmapper为111。其他的3个服务是用的随机端口,那就需要先把这3个服务的端口设置成固定的。查看当前这5个服务的端口并记录下来 用rpcinfo -p&&& 把显示 nfs& 2049, portmapper& 111, 以及剩下的三个服务的端口随便选择一个记录下来&&& mountd& 976&&& rquotad& 966&&& nlockmgr& 33993将这3个服务的端口设置为固定端口,修改/etc/service,添加以下内容(端口号必须在1024以下,且未被占用)&&&& vim& /etc/services &&&& 在文件的最后一行添加:&&&& mountd& 976/tcp&&&& mountd& 976/udp&&&& rquotad& 966/tcp&&&& rquotad& 966/udp&&&& nlockmgr 33993/tcp&&&& nlockmgr 33993/udp&&&& 保存并退出。 附带nfs服务端口的设置[root@localhost]# vi /etc/sysconfig/nfs# Port rquotad should listen on.RQUOTAD_PORT=966# TCP port rpc.lockd should listen on.LOCKD_TCPPORT=33993# UDP port rpc.lockd should listen on.LOCKD_UDPPORT=33993# Port rpc.mountd should listen on.MOUNTD_PORT=976&其中 portmapper nfs 服务端口是固定的分别是 111 2049另外 rquotad nlockmgr mountd 服务端口是随机的。由于端口是随机的,这导致防火墙无法设置。这时需要配置/etc/sysconfig/nfs 使 rquotad nlockmgr mountd 的端口固定。找到以下几项,将前面的#号去掉。重启下nfs服务。& service nfs restart在防火墙中开放这5个端口,编辑iptables配置文件vim /etc/sysconfig/iptables,添加如下行:01& -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT02& -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 976 -j ACCEPT03& -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT04& -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 966 -j ACCEPT05& -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 33993 -j ACCEPT06& -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT08& -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 976 -j ACCEPT09& -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 2049 -j ACCEPT10& -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 966 -j ACCEPT11& -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 33993 -j ACCEPT保存退出并重启iptables,service iptables restart,重新执行步骤4挂载即可程序理解:刚才在重启NFS服务的时候,细心的话可以注意到,我们在输入命令/etc/init.d/nfs start开启nfs服务时,系统还自作主张地开启了NFS quotas等其它3个服务。&650) this.width=650;" src="/attachment/655890.jpg"
style="padding:0margin:0vertical-align:border:" border="0" />&& 怎么回事?我们只输入了一条启动NFS服务的命令,它怎么额外的启动了3个服务?后面的启动portmap服务又是怎么回事?&& 我们首先要了解一点:NFS文件系统要提供服务单靠本身的NFS服务是不够的,还需要调用其它服务,这个其它服务就是RPC(remote
call,远程过程调用)服务和portmap服务。由于NFS服务本身不提供文件传输功能,我们要远程使用NFS文件系统就需要RPC服务的支持;而portmap服务用来为RPC服务进行动态端口分配和映射,所以portmap服务也是NFS服务所必须的。&&&
正是因为NFS的运行必须要使用RPC服务,所以一般把NFS服务看作RPC服务的一种,开启NFS服务其实就是在开启RPC服务。REDHAT安全指南在讲portmap服务时就说:“portmap
服务是用于 RPC 服务(如 NIS 和 NFS)的动态端口分配守护进程”,明显把NFS和NIS(network information
service)看成了RPC服务的其中两个应用。&& 那么NFS使用了RPC的哪些服务呢?rpc.nfsd服务和rpc.mountd服务。& & 明白了这点,我们就明白为什么在开启nfs服务时,系统除了开启NFS&
services还开启了rpc.nfsd和rpc.mountd,就是图片中的NFS daemon和NFS mountd。而至于NFS
quotas是用来管理目录配额的,它并不是必需的。也就明白了安装NFS服务时所需要的两个软件包nfs-utils和portmap:Nfs-utils软件包提供了rpc.nfsd和rpc.mountd两个RPC的daemon(守护进程)程序,而portmap软件包提供了portmap程序。&
需要注意的是:很多书上都说在启动NFS服务时,要先启动portmap服务,然后再启动NFS服务,而关闭NFS服务时,要先关闭NFS服务,portmap服务不一定非得关掉,因为有可能还有其它服务需要它的支持,很多文章里的操作也是先启动portmap,然后启动NFS。我这里没有按照顺序操作,虽然也没出什么问题,但最好还是按照大家普遍的顺序进行操作。& 我们查看一下服务的启动情况:&&650) this.width=650;" src="/attachment/677765.jpg"
style="padding:0margin:0vertical-align:border:" border="0" />本文参考:本文出自 “” 博客,转载请与作者联系!标签:原文:http://7322
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!

我要回帖

更多关于 安装包配置错误 的文章

 

随机推荐