QNX系统配置NFS实战

  • 目标简述
  • 硬件软件环境
  • 系统连接方式
  • 前提条件
  • 配置描述
  • 问题以及解决方式

原创CSDN博客链接: 原创链接 https://blog.csdn.net/nigaoshang/article/details/107779932
最近在项目中要使用NFS进行文件共享,且使用的操作系统为QNX,通过对QNX的文档进行查阅并最终成功。该文章主要简述如何在QNX侧进行NFS服务端的配置,以及遇到的问题的解决方式。

目标简述

测试通过对QNX系统进行NFS服务端配置,使用Ubuntu系统对NFS服务端共享的目录进行挂载,并在Ubuntu系统本地使用QNX系统通过NFS共享的文件

硬件软件环境

高通8155平台(QNX系统7.0),PC(windows10上虚拟机中运行Ubuntu18.04)

系统连接方式

使用telnet方式连接

前提条件

  1. QNX系统网络配置ok
  2. Ubuntu系统网络配置ok
  3. QNX与Ubuntu系统之间可以通过telnet正常连接通信

配置描述

  1. QNX要配置NFS服务器,需要依赖两个可执行文件,即rpcbind和nfsd两个服务,请确定你的qnx系统中是否已经存在这两个服务。rpcbind服务是将RPC程序/版本号映射为TCP和UDP端口号。仅当rpcbind在服务器上运行时,客户端才能进行RPC调用。nfsd守护程序读取/etc/exports文件,该文件列出了可以共享的文件系统,并可以选择指定可以将这些文件系统共享到哪些客户机。如果未指定客户端,则将向所有发出请求的客户端授予访问权限。具体请参考链接NFS文件系统 ,rpcbind服务,nfsd服务
  2. 由于rpcbind 服务的运行需要用到/etc/netconfig网络配置文件,请确保该文件在qnx系统中存在。我用的配置文件如下所示:
#
# cat /etc/netconfig
#
# Entries consist of:
#
#       <network_id> <semantics> <flags> <protofamily> <protoname> \
#               <device> <nametoaddr_libs>
#
# The <device> and <nametoaddr_libs> fields are always empty.
#
udp6       tpi_clts      v     inet6    udp     -       -
tcp6       tpi_cots_ord  v     inet6    tcp     -       -
udp        tpi_clts      v     inet     udp     -       -
tcp        tpi_cots_ord  v     inet     tcp     -       -
rawip      tpi_raw       -     inet      -      -       -
local      tpi_cots_ord  -     loopback  -      -       -

该网络配置文件大同小异,如果你的qnx系统中没有,可参照我的配置文件使用
另外,需要确保在/etc/services文件中有以下两行信息,如下:

sunrpc       111/tcp     portmapper  # RPC 4.0 portmapper
sunrpc      111/udp     portmapper
  1. 由于上述1中提到的nfsd需要读取/etc/exports配置文件,请确保系统中是否存在该文件。一般情况没有默认文件,故通常在QNX系统中该文件是不存在的,所以需要我们自己去编辑一个,具体内容请参考/etc/exports文件描述
    我测试的配置文件如下所示:
# cat /etc/exports
/usr/test  192.168.1.111
/usr/haha  192.168.1.111

我是将qnx上的两个目录都共享给IP地址为192.168.1.111的客户机.
4. 以上文件和服务如果均准备就绪,则先运行rpcbind,之后再运行nfsd。运行参数请参考上述1中的链接说明。
5. 在qnx端的rpcbind和nfsd运行之后,在Ubuntu系统使用 showmount -e 192.168.1.1(192.168.1.1为我的qnx端的ip地址,如果你的配置不一样,请使用你自己的配置ip)查看nfs服务端的共享信息,如下为我使用showmount的输出信息

$ showmount -e 192.168.1.1
Export list for 192.168.1.1:
/usr/haha 192.168.1.111
/usr/test 192.168.1.111

如未正确输出,请检查你的网络连接是否正常,以及防火墙等是否关闭。或使用rpcinfo -p <host ip地址>查看rpc信息是否正常,

$ rpcinfo -p 192.168.1.1program vers proto   port  service100000    4     0    111  portmapper100000    3     0    111  portmapper100000    2     0    111  portmapper100000    4   tcp    111  portmapper100000    3   tcp    111  portmapper100000    2   tcp    111  portmapper100000    4   udp    111  portmapper100000    3   udp    111  portmapper100000    2   udp    111  portmapper100005    1   udp   2049  mountd100003    2   udp   2049  nfs100005    3   udp   2049  mountd100003    3   udp   2049  nfs100005    1   tcp   2049  mountd100003    2   tcp   2049  nfs100005    3   tcp   2049  mountd100003    3   tcp   2049  nfs
  1. 如果能够正常显示showmount的信息,则现在在Ubuntu系统中应该可以成功挂载了。使用sudo mount -t nfs 192.168.1.1:/usr/test /mnt(由于mount时必须使用root权限,所以Ubuntu在使用mount时需要加上sudo)挂载成功之后就可以查看到nfs服务端共享的目录中的内容了。

问题以及解决方式

在配置的过程中肯定会遇到了各种各样的问题,在此我仅列出我遇到的问题,具体的解决方式还要case by case。

问题1:运行nfsd时出现错误,如下所示:

出现该问题的原因是,在运行nfsd时,rpcbind服务未正常运行。注:一定要先运行rpcbind,再运行nfsd。如果出现以下错误,请使用pidin确保rpcbind服务是否存在。

问题2:使用showmount能够正常显示服务端的共享信息,但在mount时,出现timeout错误,如下所示:

$ sudo mount -t nfs 192.168.1.1:/usr/test ./nfs/test
mount.nfs: Connection timed out

出现该问题的原因是,在运行nfsd服务时没有使用-t 参数,-t参数为使用tcp协议。如果mount时出现timeout的问题,可以使用rpcinfo -p <host ip>查询rpc信息,查看是否有nfs使用tcp协议的信息,如下图所示:
问题3:在客户端挂载之后,对目录没有写权限
这种情况,首先确认下/etc/exports是否设置了共享的权限为ro(只读),然后确认共享的目录的权限是否设置为了777(rwx),共享目录如果没有x权限,则在客户端能mount成功,但无法cd进入目录的,如果没有w权限,则无法对目录中的文件进行修改或创建新的文件。

问题4:客户端挂载时出现Stable file handle错误

$ mount -t nfs 192.168.1.1:/usr/test /mnt
mount.nfs: Stale file handle

该情况主要是由于在客户端挂载成功之后,host取消了目录的共享,或将共享的目录删除了等情况导致的。这时使用sudo umount <挂载目录>是无法成功的,如果遇到这种问题可以使用强制umount,命令如下:sudo umount -lf <挂载目录>

上述内容仅为我个人测试时的步骤以及问题记录,如果你在配置过程中遇到其他问题,欢迎留言共同探讨

QNX系统配置NFS实战相关推荐

  1. 【SA8295P 源码分析】19 - QNX Host NFS 文件系统配置

    [SA8295P 源码分析]19 - QNX Host NFS 文件系统配置 一.NFS Server 二.NFS Client 三.NFS 相关的文件及目录 四.将文件放入QNX 文件系统中 五.编 ...

  2. Debian9.5 系统配置NFS详细说明

    NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端可以通过挂载(mount)的方式将NFS ...

  3. rsync,nfc,sersync使用

    备份(srync) 服务端 编写配置文件启动服务创建模块/etc/rsyncd.conf 创建虚拟用户 创建模块文件修改所有者 创建密码文件修改权限 重启校验 ps -ef. ss -lntup 测试 ...

  4. 嵌入式系统开发与应用——嵌入式 Linux 调试环境搭建

    附录:UBoot常用命令手册 一. 实验目的 1.掌握VMware中设置共享文件夹的方法,为后续实验做准备: 2.熟悉 Linux TFTP 配置,为后续 Linux 底层开发做准备(后面会用 tft ...

  5. 2020年最新web学习路线,完整课程大纲 120天高薪就业

    第一阶段课程大纲 全套视频链接 课件.答疑QQ群:1103015245 第 01 天 HTML初体会 教学目标:了解什么是页面. 掌握html骨架的书写以及骨架中标签的作用. 快捷键操作. 相关字符编 ...

  6. 实战NFS服务搭建与配置

    nfs服务应用: 存储静态文件如:图片(头像logo),视频,附件等. 1. 查看所有机器是否安装了 rpcbind nfs-utils [root@nfs-server ~]# rpm -qa nf ...

  7. kubernetes 实战 使用 nfs 作为动态 storageClass 存储

    kubernetes 实战 使用 nfs 作为动态 storageClass 存储 概述 之前有介绍过 Kubernetes 实战 pv and pvc, 相信使用过的pv和pvc的同学或者有过虚拟化 ...

  8. Linux实战教学笔记22:企业级NFS网络文件共享服务

    第二十二节 企业级NFS网络文件共享服务 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载 ...

  9. K8S的StorageClass实战(NFS)

    关于StorageClass 在K8S环境,当pod需要存储空间时,StorageClass比PV更灵活和方便,官方文档地址:https://kubernetes.io/docs/concepts/s ...

  10. 实战Kubernetes动态卷存储(NFS)

    之前的< Kubernetes持久卷实战两部曲>系列中,我们实战了先声明一个存储卷,再使用这个存储卷,这种方式要求每次都要提前申明存储,不是很方便,而动态卷存储不需要提前申明,而是使用时自 ...

最新文章

  1. 祝我亲爱的天蝎GG生日快乐!+相识3周年小纪念
  2. 改变,从跨出第一步開始——记海大ITAEM团队首次IT讲座掠影
  3. python 开发版-MicroPython的开发板
  4. poj 3233 Matrix Power Series
  5. 用户画像2种数据存储的方式
  6. XElement 和 XDocument 到底有什么区别?
  7. 【渝粤教育】电大中专学前儿童健康教育_1作业 题库
  8. centos 多个mysql,Centos中安装多个MySQL数据的配置实例
  9. 要想选到音质好的耳机,你应该需要知道这些~
  10. IDL读取TXT文件并写入二维数组中【转】
  11. 【蓝桥杯单片机组】两种外设访问方式:IO编程和MM编程
  12. yuv420转yuv422(yuyv)
  13. Unity 正则表达式
  14. python中Blowfish加密解密
  15. irving - 初学python
  16. 2023年全国最新二级建造师精选真题及答案61
  17. linux裁剪图片的软件,【美图秀秀Linux版】美图秀秀Linux版下载 v1.0.0.0 免费最新版-趣致软件园...
  18. Ubuntu 18.04安装Docker Dashboard
  19. 华为 2016 校园招聘上机笔试题 题解
  20. 写于数学建模美赛准备期间

热门文章

  1. Redhat8: SCTP: type= 5 errno= <0x5e> Socket type not supported
  2. 解决HbuildX无法打开html文件的问题
  3. Python实现修正cholesky分解
  4. android 高德地图 logo,Android高德之旅(3)UI Setting
  5. 如何用Ps制作中国移动基础框架
  6. 计算机一级office题库百度云,历年全国计算机等级考试一级MSOffice真题
  7. python评分卡模型
  8. smb协议讲解_SMB/CIFS协议解析一概述
  9. 我是如何纯靠技术在大学月入上万,收获人生第一个10W
  10. 20210520:人脸识别-口罩mask快速抠取