Linux实用工具-nfs

Linux实用工具-nfs,第1张

nfs服务器建立

本文介绍Linux环境下nfs服务的搭建过程。

nfs服务的作用是让其他机器可以通过网络把将本地的nfs目录挂载,然后通过访问挂载目录访问本地机器。在嵌入式开发中经常会将运行的开发板上的整个文件系统,做为本地的一个主目录,然后开发板启动的时候通过nfs服务,将本地的这个目录挂载上去,作为根文件系统。

这里分别介绍在Ubuntu和CenterOS上面nfs服务的配置过程。

编辑/etc/exports,在其中增加要共享的目录

其中 /home/quietheart/nfs,10.1.14.0/24代表共享给哪个子网,rw是可读写权限

然后

建立好了nfs之后,如果板子里面的内核支持网络和nfs,需要板子和你的机器各有一个网线和网口,两者在同一个网段,配置好了就能互访。也可以把机器和板子用一根网线链接(板子有独立的网口),这样不需要网关,就能使板子挂载机器的nfs系统了,但是机器也不能够上网了。

添加类似如下一行:

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

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

这一步有时候可以不用做。

具体在:"系统"->"管理"->"安全级别和防火墙"

至此nfs服务搭建完毕.

这里说一下测试nfs是否好用的方法:

在其它机器上运行:

如果成功则完毕。

无。

通过以上可知,在Linux上面配置nfs服务的过程大致一样。

如果你以前没有装过nfs服务的话那么首先要下载几个包:

#apt-get install nfs-kernel-server

#apt-get install nfs-common //可选

安装nfs-kernel-server的时候系统会自动下载另外一个包portmap

安装结束后,配置文件是/etc/exports,主要是设置服务器的共享目录以及权限的,

在后面加上你的共享目录即可。我的配置文件如下:

# /etc/exports: the access control list for filesystems which may be exported

# to NFS clients. See exports(5).

#

# Example for NFSv2 and NFSv3:

# /srv/homes hostname1(rw,sync) hostname2(ro,sync)

#

# Example for NFSv4:

# /srv/nfs4gss/krb5i(rw,sync,fsid=0,crossmnt)

# /srv/nfs4/homes gss/krb5i(rw,sync)

#

/arm9test 127.0.0.3(rw,sync,no_root_squash)

/arm9test 127.0.0.2(rw,sync,no_root_squash)

其中/arm9test表示服务器要共享的目录,把这个改成你要共享的目录就可以了,127.0.0.1和127.0.0.2都是服务器所允许访问的主机 名,就是说你可以设置哪台主机可以访问你的共享目录,如果用一个“*”来代替这个ip地址的话就是允许所有的主机访问你的共享目录,后面的几个参数就不说 了。

设置好配置文件后,保存退出,执行

#sudo exportfs -r 更新exportfs

执行这个命令的时候可能会提示一些错误,如下:

lmz@lmz-desktop:~/arm9$ sudo exportfs -r

exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "218.192.161.80:/arm9test".

Assuming default behaviour ('no_subtree_check').

NOTE: this default has changed since nfs-utils version 1.0.x

exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "218.192.161.65:/arm9test".

Assuming default behaviour ('no_subtree_check').

NOTE: this default has changed since nfs-utils version 1.0.x

这些问题并不影响后面的使用

然后重启nfs服务,执行下面命令

#sudo /etc/init.d/portmap restart

#sudo /etc/init.d/nfs-kernel-server restart

成功启动后,执行

#showmount -e

查看NFS server的export list.

我的机器上的输出是:

lmz@lmz-desktop:~/arm9$ showmount -e

Export list for lmz-desktop:

/arm9test 127.0.0.3,127.0.0.2

至此,可以在自己的机子上测试一下nfs服务了,具体过程如下:

#mount serverip:/arm9test /mnt

其中serverip实际上就是服务器的ip,千万不要少了serverip后面的那个“:”哦,会出错的

如果挂载成功的话进到/mnt是可以看到/arm9test下面的文件的,如果出错的话就要查找一下原因了。

在自己电脑上测试通过以后就要把宿主机的共享目录挂载到目标板上了,这样调试程序非常方便,不用把程序传过去就可以直接调试了。挂载过程如下:

首先开机启动2410,进入linux,进入shell,配置板子的ip地址,

#ifconfig eth0 ipaddr

ipaddr就是上面所设置的允许访问共享目录的ip,在这里可以设为127.0.0.2,然后执行嗯命令:

#mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 serverip:/arm9test /mnt/ext1

把serverip改为你自己的主机的ip就可以了,这个时候要确认你的主机的nfs服务已经启动,并且网线已经连接好,正常情况下等一下就可以完成挂载 了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7333653.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存