一、 在配置NFS前,首先要确保几件事情: 1、VMware虚拟机网络连接配置为桥接。 2、ubuntu网络连接为自动获取IP。 3、主机、虚拟机、开发板,三者之间能够相互ping通。 二、在这期间可能遇到的问题如下: 1、ubuntu之前设置为静态IP,改回动态自动获取IP之后发现,/etc/init.d/netwoking restart失败。 解决: (1)正确修改/etc/network/interfaces。 修改前(曾更改为静态IP,如果没有忽略此步骤): auto lo iface lo inet loopback auto eth0 iface eth0 inet static #静态IP address ip地址 netmask 子网掩码 gateway 网关 dns-nameservers 网关(DNS) 修改后: auto lo iface lo inet loopback 不要加以下内容: auto eth0 iface eth0 inet dhcp #动态IP (2)正确修改/etc/resolv.conf 修改后(曾更改为静态IP,如果没有忽略此步骤): # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND – YOUR CHANGES WILL BE OVERWRITTEN nameserver 网关 PS:/etc/network/interfaces和/etc/resolv.conf的网关地址是相对应的。 (3)重启服务: sudo /etc/init.d/networking restart sudo /etc/init.d/resolvconf restart (4)如果更改这些发现,仍然无法正常获取IP,那么进行以下步骤: ①进入VMware虚拟网络编辑器,还原默认设置后,等待一分钟左右,待其完成选择桥接模式,并将其桥接到PCIe Family Controller,截图如下:
②进入VMware,先断开网络,然后在启用联网,截图如下:
之后在终端ifconfig查看IP就发现,能够正常获取IP了。 2、主机、虚拟机、开发板,三者之间不能够相互ping通。 解决: (1)首先确保主机、虚拟机、开发板IP在一个网段上,这一点毋庸置疑,除此之外,如果网线是通过交换机连接,还需要确保,它们在一路交换机上,即主机、开发板的网线从一台交换机的同一路网口引出。 (2)如果发现主机能ping通虚拟机和开发板,但是反过来开发板不能ping通主机和虚拟机,请查看是否已将主机防火墙关闭。win7的防火墙关闭方法如下: ①打开“控制面板”。 ②点击“Windows防火墙”。 ③点击“打开或关闭Windows防火墙” ④关闭防火墙。 最终关闭好防火墙的截图如下:
在ubuntu能够正确自动获取IP、三者能够相互ping通之后,接下来就可以进行配置nfs了。 三、安装步骤如下: 1、在虚拟机中安装服务:sudo apt-get install nfs-kernel-server 2、建立共享目录:sudo mkdir /home/nfsroot(以/home目录下建立为例) 3、赋予权限:sudo chmod 777 /nfsroot 4、修改配置文件:sudo vim /etc/exports。在文件的最后加入以下内容:
5、重启服务:sudo /etc/init.d/nfs-kernel-server restart 6、测试服务器:在共享目录下执行指令showmount -e,可以查看到以下结果:
PS:代表可以被任意IP地址挂载。 7、测试客户端,在共享目录nfsroot下建立文件: touch /nfsboot/testfile sudo mount 219.216..:/home/nfsboot /mnt ls /mnt 显示有文件testfile说明挂载成功。 PS:219.216..为客户端(虚拟机)IP。 8、卸载NFS文件系统,为开板板挂载做准备:sudo umount 219.216..:/home/nfsboot /mnt 9、在开发板中建立挂载目录并赋予权限: sudo mkdir /nfsroot sudo chmod 777 /nfsroot 10、挂载FNS: mount -t nfs -o nolock 219.216..:/home/nfsroot /nfsroot PS:219.216..为客户端(虚拟机)IP。 至此,NFS配置成功!