分类: LINUX
2011-06-23 20:21:39
nfs服务建立
本文介绍Linux环境下nfs服务的搭建过程。
[简介]
nfs服务的作用是让其他机器可以通过网络把本地的某个目录挂载,然后通过访问远程那个机器上的挂载点目录达到访问本地机器目录的目的。
在嵌入式开发中由于开发板空间资源有限,经常会将运行于开发板上的整个文件系统,存放在本地的某个目录中,然后开发板启动的时候通过nfs服务,将本地的这个目录挂载上去,作为开发板的根文件系统。
这里分别以Ubuntu和CenterOS上面为例,介绍nfs服务的配置过程。
[举例]
**在Ubuntu机器上面配置nfs服务
1)安装nfs服务器端和客户端
sudo apt-get install portmap nfs-kernel-server
sudo apt-get install portmap nfs-common
2)配置共享目录
#vim /etc/exports
...添加"/home/quietheart/nfs 10.1.14.0/24(rw,sync,no_root_squash,no_subtree_check) "...
这里共享目录就是可以让外部机器通过nfs访问的本地机器目录,通过编辑/etc/exports,在其中增加要共享的目录
/home/quietheart/nfs 10.1.14.0/24(rw,sync,no_root_squash,no_subtree_check)
其中 /home/quietheart/nfs,10.1.14.0/24代表共享给哪个子网,rw是可读写权限
3)使配置生效
#exportfs -ra
这一步目的就是想要在不用重新启动nfs服务的情况下让用户修改的配置生效。
4)重启nfs服务
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
这里,这一步实际不用,有上一步就行了,如果执行这一步,表示要重新启动nfs服务了,那么实际上一步也没有必要了。
5)客户端使用
#sudo mount 10.1.14.58:/home/quietheart/nfs /home/xxx
这里,这条命令在客户端运行,客户端是其它的机器,10.1.14.58就是我刚才配置nfs服务的机器,之后,我们就可以通过访问/home/xxx,像访问本地机器一样访问10.1.14.58:/home/quietheart/nfs目录了。
在嵌入式开发中,建立好了nfs之后,如果板子里面的内核支持网络和nfs,需要板子和你的机器各有一个网线和网口,两者在同一个网段,配置好了就能互访。也可以把机器和板子用一根网线链接(板子有独立的网口),这样不需要网关,就能使板子挂载机器的nfs系统了,但是机器也不能够上网了。
**
**在CenterOS上面配置nfs服务
1)编辑/etc/exports
添加类似如下一行:
在配置NFS之前先查看“rpm -q nfs-utils portmap“两个软件包是否安装,默认都是安装的。
这里,'
2)重启服务:
#/etc/init.d/nfs restart
#/etc/init.d/portmap restart
3)关闭防火墙
这一步有时候可以不用做。
具体在:"系统"->"管理"->"安全级别和防火墙"
至此nfs服务搭建完毕.
**
**测试nfs
这里说一下测试nfs是否好用的方法:
在其它机器上运行:
#mkdir nfstest
#mount -t nfs <你的ip>:<你的nfs目录> nfstest
如果成功则完毕。
**
[其他]
这里的虽然只给出Ubuntu和CenterOS上面的配置过程,但是在其它Linux上面配置nfs服务的过程大致一样。
另外nfs服务不只在Linux,在Windows上面也有这样的功能,需要安装特殊软件,这里不进行介绍。
作者:QuietHeart
Email:quiet_heart000@126.com
日期:2010年12月25日
vaqeteart2013-05-17 15:30:00
mount.nfs: access denied by server while mounting 一个解决办法
http://blog.chinaunix.net/uid-20554957-id-3444786.html
cat /var/log/messages | grep mount
从出错日志可以看出,mount.nfs: access denied by server while mounting 192.168.3.12:/home/lzgonline/rootfs 被拒绝的原因是因为使用了非法端口,功夫总没白费
//如果端口号大于1024,则需要将 insecure 选项加入到配置文件(/etc/exports)相关选项中mount客户端才能正常工作:
查看 exports 手册中关于 secure 选项说明也发现确实如此
[root@lzgonline init.d]# man exports<