• 【ubuntu】nfs服务搭建


    一、开篇

    嵌入式linux开发过程中,由于目标平台的资源限制,开发环境一般都不会放到目标板卡上(需要放在开发宿主机上),如果需要宿主机与目标板卡之间进行文件传输,该怎么办呢。这时候nfs就派生用场了。nfs(Network File System)是一个网络文件系统。使用该文件系统,便能在目标板卡上访问开发宿主机上的文件,还能进行互相拷贝和移动,非常方便。

    本文主要描述nfs的搭建方式,由于不同环境和系统下,nfs服务搭建方式可能不同,故将环境描述如下:

    【环境描述】

    • 选择虚拟机ubuntu 18.04作为主机。

    • 硬件平台为一块搭载瑞芯微rk3568处理器的板卡。软件方案:linux平台

    • 通信方式:路由器(开启了DHCP) + 网线

    二、搭建nfs服务

    (2-1)下载nfs服务软件包

    首先,在终端使用下列命令安装nfs:

    sudo apt-get install nfs-kernel-server
    
    • 1


    (注:由于笔者已经安装过了,故没有新安装软件包)

    (2-2)配置nfs

    使用以下命令:

    gedit /etc/exports
    
    • 1

    在文件最后一行添加如下内容:/home/nfs/ *(rw,sync,no_root_squash)

    完成后如下图所示:

    • /home/nfs/:指示要共享的目录;“/home/nfs/ ”目录需要自己创建。

    • *:代表允许所有的网络段访问。

    • rw:指示具有可读写的权限。

    • sync:指示资料同步写入内存和硬盘

    • no_root_squash:是 Ubuntu nfs 客户端分享目录使用者的权限。例如:如果客户端使用的是 root 用户,那么对于该共享目录而言,该客户端就具有 root 权限。

    (2-3)启动rpcbind服务

    使用以下命令重新启动rpcbind服务:

    /etc/init.d/rpcbind restart
    
    • 1

    (2-4)启动nfs服务

    使用以下命令重新启动nfs服务:

    /etc/init.d/nfs-kernel-server restart
    
    • 1

    (2-5)验证nfs

    使用以下命令:

    showmount -e
    
    • 1

    可以查看系统是否成功挂载nfs目录。

    (注:如果没有输出,可能需要重新启动ubuntu后,再使用该条命令查看!!!)

    在上图中,看到了输出信息为:/home/nfs *,则证明nfs已经启动成功。

    至此,虚拟机ubuntu上的nfs服务就搭建好了。接下来,就需要在硬件板卡上挂载nfs文件系统了。

    三、硬件板卡端接入nfs服务

    在接入之前,需要获取ubuntu和硬件板卡的ip地址:

    回到硬件板卡的终端中:

    • 查看硬件板卡的ip地址:


    (注:硬件板卡有两个网口且网线连接的是eth1)

    回到虚拟机ubuntu中:

    • 查看虚拟机ubuntu的ip地址:

    在硬件板卡linux命令行终端下使用以下命令:

    mount -t nfs -o nfsvers=3,nolock 192.168.155.44:/home/nfs /mnt/
    
    • 1

    挂载nfs文件系统。上面这条命令的意思是:以nfs方式将指定ip地址(文本是192.168.155.44)上的(/home/nfs) 目录挂载到/mnt/路径上。

    随后,我们便可以使用:

    cd /mnt/
    
    • 1

    切换到nfs服务器对应的目录路径下,该目录就是虚拟机ubuntu与硬件板卡之间的通信桥梁了(共享目录)。

    在硬件板卡上,路径/mnt/则是共享目录,在该目录下的文件则是虚拟机ubuntu路径/home/nfs目录下的文件,我们就通过这两个目录互传文件啦。

    【备注】

    (1)如果不使用nfs了,我们可以使用:

    umount /mnt/
    
    • 1

    卸载nfs挂载服务。

    (2)在获取到虚拟机ubuntu系统和硬件板卡的IP地址后,需要互ping一下,确保二者之间能够互相ping通。

    (3)硬件板卡上的linux内核需要支持nfs特性。

  • 相关阅读:
    微软S2C2F框架已被OpenSSF开源安全体系采用
    【数据结构】串
    大数据常见面试题
    分布式通信RMI简述
    8款好用的电脑监控软件分享
    MyBatis-Plus快速入门
    win10用cmake3.22与vs2019编译curl库源码并调用
    C# 高频面试题
    C++《面向对象程序设计课程设计》
    国民技术N32G45x双ADC规则同步模式配置
  • 原文地址:https://blog.csdn.net/iriczhao/article/details/126149918