Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5606773
  • 博文数量: 922
  • 博客积分: 19333
  • 博客等级: 上将
  • 技术积分: 11226
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-27 14:33
文章分类

全部博文(922)

文章存档

2023年(1)

2020年(2)

2019年(1)

2017年(1)

2016年(3)

2015年(10)

2014年(17)

2013年(49)

2012年(291)

2011年(266)

2010年(95)

2009年(54)

2008年(132)

分类: 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 

添加类似如下一行: 

*(rw,sync,no_root_squash) 

在配置NFS之前先查看“rpm -q nfs-utils portmap“两个软件包是否安装,默认都是安装的。 

这里,''是你本地的nfs目录,可以随意设置。具体含义参见"info exports". 


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日 

阅读(1007) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

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<