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

网络文件系统( 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 ` 
  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
NFS(Network File System)是一种用于在网络上共享文件的协议。您提到的是在Debian上设置NFS文件系统的步骤和命令。下面是一个简要的说明: 1. 首先,您需要在Debian服务器上安装NFS服务器软件包。您可以使用以下命令安装NFS服务器软件包(nfs-kernel-server): ```shell apt-get install -y nfs-kernel-server ``` 2. 在安装NFS服务器软件包时,rpcbind服务也会一起安装。您可以使用以下命令检查NFS服务器和rpcbind软件包的安装状态: ```shell dpkg -s nfs-kernel-server dpkg -s rpcbind ``` 3. 安装完成后,您需要配置NFS服务器以共享所需的目录。您可以编辑NFS服务器的配置文件(/etc/exports)并指定要共享的目录和允许访问的主机。例如,您可以将以下行添加到配置文件中以共享名为/webdata的目录: ```shell /webdata 192.168.100.100(rw,sync,no_subtree_check) ``` 其中,192.168.100.100是允许访问该目录的主机的IP地址。rw表示读写权限,sync表示同步写入,no_subtree_check表示不检查子目录。 4. 在配置文件更新后,您需要重新加载NFS服务器以应用更改。使用以下命令重新加载NFS服务器配置: ```shell exportfs -a ``` 5. 接下来,您可以在Centos8测试主机上挂载NFS共享目录。使用以下命令将NFS共享目录挂载到Centos8系统的指定目录(/clientwebdata): ```shell mount -t nfs 192.168.100.200:/webdata /clientwebdata ``` 6. 挂载完成后,您可以使用以下命令查看挂载的磁盘和文件NFS的相关信息: ```shell df -h ``` 希望这些信息对您有所帮助。如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leon_George

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值