Ubuntu搭建NFS并挂载到6410开发板

来源:互联网 发布:网络推广效果怎么样 编辑:程序博客网 时间:2024/06/05 09:49

困扰了我好久的搭建NFS环境现在成功解决了,现在的心情无比的畅快。写下这篇博文希望能帮助到他人,而且这还是我在CSDN的第一篇博文。#^_^#

首先第一步:安装nfs所需文件:

sudo apt-get install nfs-kernel-server 

sudo apt-get install nfs-common 

sudo apt-get install portmap

若失败,请sudo apt-get update一下,还有检查网络设置。


第二步:当然是开发板、主机、虚拟机的互相ping通。注意,是互相,单向ping通的不算,这部分最烦。

将主机、开发板、虚拟机设置在同一网段:

主机:192.168.0.80

虚拟机Ubuntu:

eth0    inet 地址:192.168.0.81  掩码:255.255.255.0

建议新建一个连接,手动设置静态IP。

开发板:

eth0 inet addr:192.168.0.82        Mask:255.255.255.0

(开发板可进入uboot里->printenv->setenv ipaddr 192.168.0.*->saveenv,之后在ifconfig eth0 192.168.0.82)

在VM设置里将网络改成桥接并将下边的方框勾上。虚拟机->设置->网络适配器  改为桥接并选上“复制…..”(不能用NAT,虚拟机要上网就要改过来)

在VM的虚拟网络编辑器里将VMnet0选为桥接,并选择你的有线网卡(避免有时选择为无线网卡)。

第三步:   配置挂载目录和权限

 sudo vim /etc/exports

我的配置: /home/wing/nfs_share *(rw,sync,no_root_squash)

*表示所有的IP都可以访问.

之后执行sudo exportfs -r  更新文件

第四步:  重启 NFS 服务 

sudo/etc/init.d/portmap restart

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

(若不可以用,则重启一下)

第五步:  本机回环测试:

sudo mount 192.168.0.81:/home/wing/nfs_share /mnt 

ls /mnt

若在本虚拟机/mnt能看到/home/wing/nfs_share 里的文件,表明挂载成功。

第六步:   解除挂载

sudo umount /mnt

第七步:  在开发板测试

mount -t nfs -o nolock 192.168.0.81:/home/wing/nfs_share /mnt

ls /mnt

若在开发板/mnt能看到/home/wing/nfs_share 里的文件,表明挂载成功。

但是在使用时,传一个不大的文件(4M)要很久,而且出现了错误:

nfs:server * is not responding,still trying

经过了Google后得到的答案是:数据量太大,网卡丢包严重。

解决方法:在挂载时使用TCP协议传输:

mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.0.81:/home/wing/nfs_share /mnt

问题解决。

此方法在Ubuntu 12.04 、Redhat 5、fedora 9下亲测通过。

当然,在除Ubuntu外,命令把sudo去掉,而且nfs所需文件不同。

希望能帮到你。

END

原创粉丝点击