NFS是Network File System的简写,即网络文件系统.NFS允许一个系统在网络上与他人共享目录和文件。
1 安装服务:nfs rpcbind
yum install nfs
yum install rpcbind
或者 yum -y install nfs-utils rpcbind
nfs-utils主要为其提供NFS文件共享服务,用于NFS共享和访问;
rpcbind主要提供RPC(远程过程调用)的支持;
测试是否安装好:
先启动:service rpcbind restart
再启动:service nfs restart
2 配置共享目录
例如虚拟机里面的 /rootfs
修改配置文件:vim /etc/exports
/rootfs *(rw,sync,no_root_squash)
rw表示读写,ro表示只读;
sync表示同步写入;
no_root_squash表示当用户以root用户访问时赋予本地用户root的权限,root_squah表示将用户看作是nfsnobody用户降权;
3 重启nfs服务
service rpcbind restart 或者 /etc/init.d/rpcbind restart
service nfs resart 或者 /etc/init.d/nfs restart
关闭防火墙:iptables -F
或者 service iptables stop
showmount -e 虚拟机IP地址: 例如 showmount -e 192.168.1.102
4 在客户机上挂载nfs共享目录 例如:在开发板上挂载虚拟机文件系统 挂载开发板的/mnt下面
mount -t nfs -o nolock 191.168.1.102:/rootfs /mnt
可以设置自动挂载: vim /etc/fstab
/rootfs /mnt nfs defaults, netdev 0 0
mount -a
5 遇到的问题:
1)开发板和虚拟机相互ping不通
1,设置虚拟机与本地机的网络模式为桥接
2,开发板与本地机的连接用交叉网线
3,设置本地机,虚拟机,开发板的网络在同一个网段中
开发板和虚拟机用一根网线连接。设置本地PC电脑,虚拟机,开发板 的IP都是同一个网段。
例如PC电脑:192.168.1.103
虚拟机:ifconfig eth0 192.168.1.102
可以在网络设置里面设置IP,gw,mask, DNS
设置开发板的ip:vi /etc/eth0-setting
IP=192.168.1.101
Mask=255.255.255.0
Gateway=192.168.1.1
DNS=192.168.1.1
启动网卡 : ifconfig eth0 up
关闭虚拟机防火墙 iptables -F
先试一下PC端ping虚拟机 :ping 192.168.1.102
虚拟机ping PC:ping 192.168.1.103,开发板和PC 开发板和虚拟机 互相ping,反正随便ping。
如果 虚拟机ping开发板 可以ping通 , 但是开发板ping不通虚拟机和PC,则可以如下操作:
虚拟机设置 里面: VMware 编辑 》 虚拟机网络编辑器 》 选择 桥接模式
可以看到其桥接模式一般会默认为自动的情况,估计它自动选择的是无线网卡,所以导致了上述物理机和虚拟机之间ping通的问题。主要是就是有线网卡地址和无线网卡地址的问题.把它改为有线网卡方式桥接,点击确定。我选的是 Realtek PCIe GBE Family Controller,其他几个无线网卡的选择ping不通。此时物理机,虚拟机,开发板,都可以相互ping通了。