- 最近调试到嵌入式设备–摄像头,有用到nfs文件系统挂载,记录一下,为以后使用准备。这里只记录了操作,不介绍原理
- Ubuntu虚拟机作服务端,摄像头做客户端
1、Ubuntu安装NFS等相关服务、shell命令
- 一般使用命令安装二进制文件即可,其他Linux发行版安装方式大同小异
sudo apt install -y nfs-kernel-server sudo apt install -y mount
- NFS服务安装完成可以使用以下命令查看状态、开关NFS服务
systemctl status nfs-server.service systemctl start nfs-server.service systemctl stop nfs-server.service
- 嵌入式设备也需要支持mount命令
2、配置Ubuntu的NFS服务
- 1、使用以下命令编辑配置文件,如果没有,则需要先创建该文件再编辑。
vim /etc/exports
- 2、打开后键入内容
/opt *(rw,sync,no_root_squash,no_subtree_check)
①/opt是挂载的目录,可以随意设置,前提是该目录需提前存在;
②‘*’是指允许任意IP挂载到该目录,也可以使用具体的IP,就只能该IP才能挂载到该目录
3、重启NFS服务
-
systemctl restart nfs-server.service
每次修改NFS配置文件
exports
后,都需要重启NFS服务
4、挂载文件系统
挂载文件系统之前,需要保证Ubuntu和摄像头的网络都是可以使用的,可以互相
ping
,看网络是否可以使用,并且Ubuntu虚拟机和摄像头必须处于同一个网段,即使用相同的网络
-
1、虚拟机本地挂载测试
mount -t nfs localhost:/opt /nfs
①把本地/opt目录挂载到本地的/nfs目录;
②/opt目录就是配置文件中填写的目录,该目录最好选个空目录、或者建一个空目录,因为挂载文件系统后会隐藏该目录原有的内容 -
2、摄像头挂载
mount -t nfs -o nolock -o tcp -o rsize=1024,wsize=1024 192.168.1.10:/opt /nfs
①把IP192.168.1.10的/opt目录挂载到当前的/nfs目录;
②/opt目录就是配置文件中填写的目录,该目录最好选个空目录、或者建一个空目录,因为挂载文件系统后会隐藏该目录原有的内容;
③挂载嵌入式设备的文件系统时,在shell
命令中需要添加-o nolock
-
3、挂载成功后可以使用以下命令
showmount -a showmount -e umount /opt
①
showmount -e
指的是配置文件中的挂载规则;
②showmount -a
指所有挂载到/opt
的IP
③umount /opt
指取消挂载
5、解决错误
- 在客户端,即摄像头使用
mount
命令挂载文件系统时,如果发生No route to host
错误,那就是服务端,即虚拟机防火墙没有关闭导致出现该问题,使用以下命令开关防火墙即可:sudo ufw disable sudo ufw status sudo ufw enable