10.网络文件系统( NFS)使用

news2024/11/17 8:46:09

网络文件系统( NFS) 使用

  • NFS 优点:
    • 开发过程中不受开发板空间的限制,直接使用网络文件就像使用本地文件一样;
    • 调试过程中避免一一将编译后的应用程序和库文件复制到开发板上。
  • 在开发板中使用网络文件系统可以为开发和调试节省不少时间。下面具体介绍其使用步骤。

1. 虚拟机设置

  • 配置虚拟机,让其能够直接访问局域网内的任何主机。前面为了能够让虚拟机与宿主机进行通信,将虚拟机的网络连接设置为 NAT 方式,下面分别介绍桥接模式和 NAT 模式 :

    • 桥接模式:虚拟机相当于局域网中一台独立主机,可以访问网内任何一台机器。在这种模式下,需将虚拟机IP 地址配置成和宿主机同一网段,这样二者可以通信。如果再配置好网关和DNS 的地址,虚拟机还可以通过局域网的网关或路由器访问互联网。
    • NAT 模式:虚拟机借助 NAT(网络地址转换)功能,通过宿主机所在网络来访问互联网。 NAT 模式下的虚拟机 IP 是由 VMnet(NAT)虚拟网络的 DHCP 服务器提供的,无法手动修改,因此虚拟机和局域网中的其他真实主机无法通信。
  • 为了使虚拟机、宿主机和开发板能达到互相通信的目的,虚拟机的网络连接方式应该采用桥接方式

    1. 通过选择菜单 “虚拟机” ,然后在下拉菜单中选择 “设置” 选项,在弹出的 “虚拟机设置” 窗口中进行设置,需要注意的是,设置虚拟机网络连接时,应该在虚拟机没有启动时进行设置,否则无法设置或者设置无法生效。

    2. 启动虚拟机,查看虚拟机的 IP 地址和网络连接状态。

      • 如果虚拟机右下角的虚拟网卡标识显示已经连接上,那么在终端输入 ifconfig 查看网卡是否已设置。如果需要修改IP地址信息,则可以单击右上角的网络图标,然后在弹出的面板中,单击“网络设置”按钮,打开“网络”对话框,单击设置图标进入网卡设置对话框,在该对话框中对虚拟机 IP 地址和网关进行设置 :

        image-20240308224422230

      • 如果虚拟机右下角的虚拟网卡标识显示未连接,则有可能是安装虚拟机时少选了一项 VMware Bridge Protocol ,那么需要在宿主机上完成以下设置:

        • 打开网络连接的属性窗口,在该窗口中有本地连接 VMnet1、 VMnet8 和网络连接。右击 VMnet1 或者 VMnet8,选择 “属性” 进入“VMware Network Adapter VMnet1属性”对话框,如果没有找到“VMware Bridge Protocol ”项的话,那就需要重新安装该桥接协议。

          • 首先单击 “安装” 按钮,进入 “选择网络功能类型” 对话框后,选择 “服务” 选项,并单击 “添加” 按钮:

          image-20240308225648515

        • 在 “选择网络服务” 窗口单击 “从磁盘安装” 按钮,在虚拟机安装路径下的 VMware Workstation 目录中找到 netbridge.inf 文件,然后点击 “打开” 按钮进行安装:

          image-20240308225902699

        • 安装完成后,在 “VMware Network Adapter VMnet1 属性” 窗口出现了 VMware Bridge Protocol 项,如图所示。

          image-20240308230002621

        • 最后,重新启动计算机并且重启虚拟机,验证网络联通性。假设,主机的 IP 地址为 192.168.1.109,虚拟机的 IP 地址为 192.168.1.111,开发板的 IP 地址为 192.168.1.113。分别通过 ping ip地址命令,验证两两之间是否可以通信。正常情况下是可以互相ping 通,但是如果物理网卡没有连接网线则无法实现通信(开发板与主机采用交叉网线连接)。

2. 共享目录设置

  • 编辑文件/etc/exports,在文件末尾添加/home/nfs 192.168.1.*(rw, sync, no_root_squash)
    • /home/nfs:表示共享给其他主机的共享目录;
    • 192.168.1.*:表示 IP 地址为 192.168.1.(2~254) 的主机都能够挂载/home/nfs 目录;
    • rw:表示挂接此目录的客户机对该目录具有读写的权力;
    • sync:表示同步写入存储器;
    • no_root_squash:表示允许挂接此目录的客户机享有该主机的 root 身份。
  • 修改/etc/exports 配置文件后,应该使配置文件重新生效,执行exportfs –rv
    • -r:重新挂载 /etc/exports 中共享出来的目录;
    • -v:在 export 的时候,显示共享目录信息;
    • -a:全部 mount 或者 unmount /etc/exports 中的内容;
    • -u: 卸载目录
  • 查看共享目录: showmount -a
    • 如果出现错误: showmount: can’t get address for localhost.localdomain,则修改文件/etc/hosts,将::1 localhost.localdomain localhost 修改为 127.0.0.1 localhost.localdomain localhost

3. 启动并挂载NFS

  • 首先需要设置虚拟机防火墙,使之允许 NFS 和 RPC-bing 服务,并且启动RPC-bing 服务;

    image-20240308231323962

  • 然后,分别启动 RPC-bing 服务和 NFS 服务。注意,如果在启动过程中出现“启动 NFS 守护进程失败”等错误提示,则重新计算机后再尝试;

    service rpcbing start 		//服务启动
    service rpcbing restart 	//服务重启
    service nfs start
    service nfs restart
    
  • 在虚拟机上修改共享目录/home/nfs 的权限为 777,并确保 “虚拟机、主机及开发板” 三者可以互相ping通,最后使用 mount 命令在开发板上挂载此目录:

    chmod 777 /home/nfs
    mount –o nolock -t nfs 192.168.1.123:/home/nfs /mnt
    

4. 双网卡挂载NFS

  • 当拥有两张物理网卡时,专门用一张网卡将 ARM 板和虚拟机相连,将两者的 IP 设置在一个 IP 段内。具体过程和单网卡类似,首先做到虚拟机和 ARM 能相互 ping 通,能正常启动 NFS 服务,最后挂载网络文件系统。

  • 在搭建 NFS 时,给出一些错误情况解决的方法:

    • 当启动 NFS 服务失败时,解决的办法通常是修改/etc/exports 文件,出错的原因通常是权限引起的。
    • 当出现 RPC 等报错时,应该注意防火墙是否关闭。
    • 当挂载 NFS 时,出现 Permission denied 报错时,检查/etc/exports 文件中的权限设置,另外检查共享目录的权限设置。
  • 在挂载过程时,给出一些错误情况解决的方法:

    • mount: RPC: Timed out:该问题是由主机的防火墙引起的,关闭了虚拟机的防火墙后请注意,主机的防火墙也可能对 RPC 的包进行拦截。遇到此类问题时,请读者注意虚拟机和主机两者的防火墙是否关闭。

    • 在使用 mount -t nfs 192.168.1.123:/home/nfs /mnt 命令挂载时,提示错误:

      rpcbind: server localhost not responding, timed out
      RPC: failed to contact local rpcbind server (errno 5).
      rpcbind: server localhost not responding, timed out
      RPC: failed to contact local rpcbind server (errno 5).
      rpcbind: server localhost not responding, timed out
      RPC: failed to contact local rpcbind server (errno 5).
      
      • 需要将挂载命令修改为:mount –o nolock –t nfs 192.168.1.123:/home/nfs /mnt

(errno 5).
```

    - 需要将挂载命令修改为:`mount –o nolock –t nfs 192.168.1.123:/home/nfs /mnt ` 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1506509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python并发编程:异步IO(Asynchronous I/O)

异步IO(Asynchronous I/O) Linux下的asynchronous IO其实用得不多,从内核2.6版本才开始引入。先看一下它的流程: 用户进程发起read操作之后,立刻就可以开始去做其它的事。而另一方面,从kernel的角度,当它受到一个asyn…

Python实现ETS指标平滑模型(ETSModel算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 ETS模型(Error-Trend-Seasonality Model),是一种广泛应用于时间序列…

蓝桥杯第一天

这题就是典型的位数贡献大于数量贡献, 1花的火柴更少,所以尽量用完10个1,然后其实就是简单的背包问题尽量拿最多的物品(数字),限重为300,各物品(数字)的重量即为所需火柴…

数学建模-敏感度分析(美赛)

从多个不确定性因素中逐一找出对投资项目经济效益指标有重要影响的敏感性因素,并分析、测算其对项目经济效益指标的影响程度和敏感性程度,进而判断项目承受风险的能力。若某参数的小幅度变化能导致经济效益指标的较大变化,则称此参数为敏感性…

1572.矩阵对角线元素的和

刷算法题: 第一遍:1.看5分钟,没思路看题解 2.通过题解改进自己的解法,并且要写每行的注释以及自己的思路。 3.思考自己做到了题解的哪一步,下次怎么才能做对(总结方法) 4.整理到自己的自媒体平台。 5.再刷重复的类…

车载诊断协议DoIP系列 —— 传输层控制协议(TCP)用户数据报协议(UDP)

车载诊断协议DoIP系列 —— 传输层控制协议(TCP)&用户数据报协议(UDP) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎…

C++ 买卖股票问题

目录 买卖股票的最佳时机 买卖股票的最佳时机III 买卖股票的最佳时机 IV 买卖股票的最佳时机 II 买卖股票的最佳时机含手续费 买卖股票的最佳时机含冷冻期 买卖股票的最佳时机 121. 买卖股票的最佳时机 buy:手上有股票的最大收益 sell:手上没有股票…

蓝桥杯备战刷题five(自用)

1.数字三角形(方向次数限制,动态规划) //如果n为奇数时,最后必然走到最后行最中间的数,如果为偶数,则取中间两个数的最大值, //因为向左下走的次数与向右下走的次数相差不能超过 1 #include …

图腾柱PFC工作原理:一张图

视屏链接: PFC工作原理

centos7中python3.10找不到openssl解决方案

如果有用其他方法安装了其他版本openssl,记得卸载其他的openssl,删除其他的openssl相关文件。 yum remove openssl* rm -rf ***下载最新版的openssl文件 按照官网安装方法安装openssl 官方安装地址https://docs.python.org/3/using/unix.html#on-linu…

智慧城市与智慧乡村:共创城乡一体化新局面

一、引言 随着科技的不断进步和城乡发展的日益融合,智慧城市与智慧乡村的建设已成为推动城乡一体化发展的新引擎。智慧城市利用物联网、大数据、云计算等先进技术,实现城市治理、公共服务、产业发展等领域的智能化;而智慧乡村则借助现代科技…

中国电子学会2021年9月份青少年软件编程Sc ratch图形化等级考试试卷四级真题

【 单选题 】 1.下面哪个选项程序可以交换下图列表中第2项和第3项的位置? A: B: C: D: 2.雷峰塔景区的门票价格政策是:成人40元/人;6周岁(含6周岁)以下的实行免票&#…

【AI视野·今日NLP 自然语言处理论文速览 第八十三期】Wed, 6 Mar 2024

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 6 Mar 2024 Totally 74 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers MAGID: An Automated Pipeline for Generating Synthetic Multi-modal Datasets Authors Hossein Aboutalebi, …

springboot260火锅店管理系统

火锅店管理系统设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装火锅店管理系统软件来发挥其高效…

ESP8266开发板 + DHT11+远程开关+ThingsCloud+APP+QQ邮件推送告警

ESP32 是乐鑫公司推出的 WiFi 芯片,它不仅支持 WiFi 和 BLE,还可以作为可编程的 MCU,通过 Espressif IDF、Arduino 等框架编写固件,用于非常广泛的物联网场景。 这个教程我们分享如何在 Arduino IDE 中使用 ThingsCloud ESP SDK&…

MIT6.828LAB4 (3)

LAB3_Part B: Copy-on-Write Fork 文章目录 LAB3_Part B: Copy-on-Write Fork前言练习8练习9练习10练习11练习12总结 前言 记录一下自己的学习过程 实验内容翻译: https://gitee.com/cherrydance/mit6.828 该翻译仅供参考 练习8 实现sys_env_set_pgfault_upcall系统…

10-ARM gicv3/gicv4的总结-基础篇

目录 1、gic的版本2、GICv3/gicv4的模型图3、gic中断号的划分4、GIC连接方式5、gic的状态6、gic框架7、gic Configuring推荐 本文转自 周贺贺,baron,代码改变世界ctw,Arm精选, armv8/armv9,trustzone/tee,s…

LeetCode刷题日志-17.电话号码的字母组合

纯暴力解法&#xff0c;digits有多长&#xff0c;就循环多少次进行字母组合 class Solution {public List<String> letterCombinations(String digits) {List<String> reslut new ArrayList<>();if(digits.equals(""))return reslut;Map<Inte…

C语言程序与设计——函数(二)递归练习

在上一篇文章中接触到了递归这种编程方法&#xff0c;下面我们将用几个程序加深以下对递归的理解。 递归实际上就是程序调用自身的编程技巧 递归程序的组成&#xff1a; 边界条件处理针对于问题的处理过程和递归过程结果返回 二分查找 首先分析二分查找的查找逻辑&#xff1a; …

操作系统笔记(进程)

注&#xff1a; 下面图片资源来源于 王道计算机考研 操作系统 1.进程概念 进程&#xff08;process&#xff09;&#xff1a;是动态的&#xff0c;是程序的一次执行过程&#xff08;同一程序多次执行&#xff0c;会产生多个进程&#xff09;程序&#xff1a;是静态的&…