QNX系统配置NFS实战
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方式连接
前提条件
- QNX系统网络配置ok
- Ubuntu系统网络配置ok
- QNX与Ubuntu系统之间可以通过telnet正常连接通信
配置描述
- QNX要配置NFS服务器,需要依赖两个可执行文件,即rpcbind和nfsd两个服务,请确定你的qnx系统中是否已经存在这两个服务。rpcbind服务是将RPC程序/版本号映射为TCP和UDP端口号。仅当rpcbind在服务器上运行时,客户端才能进行RPC调用。nfsd守护程序读取/etc/exports文件,该文件列出了可以共享的文件系统,并可以选择指定可以将这些文件系统共享到哪些客户机。如果未指定客户端,则将向所有发出请求的客户端授予访问权限。具体请参考链接NFS文件系统 ,rpcbind服务,nfsd服务
- 由于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中提到的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
- 如果能够正常显示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实战相关推荐
- 【SA8295P 源码分析】19 - QNX Host NFS 文件系统配置
[SA8295P 源码分析]19 - QNX Host NFS 文件系统配置 一.NFS Server 二.NFS Client 三.NFS 相关的文件及目录 四.将文件放入QNX 文件系统中 五.编 ...
- Debian9.5 系统配置NFS详细说明
NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端可以通过挂载(mount)的方式将NFS ...
- rsync,nfc,sersync使用
备份(srync) 服务端 编写配置文件启动服务创建模块/etc/rsyncd.conf 创建虚拟用户 创建模块文件修改所有者 创建密码文件修改权限 重启校验 ps -ef. ss -lntup 测试 ...
- 嵌入式系统开发与应用——嵌入式 Linux 调试环境搭建
附录:UBoot常用命令手册 一. 实验目的 1.掌握VMware中设置共享文件夹的方法,为后续实验做准备: 2.熟悉 Linux TFTP 配置,为后续 Linux 底层开发做准备(后面会用 tft ...
- 2020年最新web学习路线,完整课程大纲 120天高薪就业
第一阶段课程大纲 全套视频链接 课件.答疑QQ群:1103015245 第 01 天 HTML初体会 教学目标:了解什么是页面. 掌握html骨架的书写以及骨架中标签的作用. 快捷键操作. 相关字符编 ...
- 实战NFS服务搭建与配置
nfs服务应用: 存储静态文件如:图片(头像logo),视频,附件等. 1. 查看所有机器是否安装了 rpcbind nfs-utils [root@nfs-server ~]# rpm -qa nf ...
- kubernetes 实战 使用 nfs 作为动态 storageClass 存储
kubernetes 实战 使用 nfs 作为动态 storageClass 存储 概述 之前有介绍过 Kubernetes 实战 pv and pvc, 相信使用过的pv和pvc的同学或者有过虚拟化 ...
- Linux实战教学笔记22:企业级NFS网络文件共享服务
第二十二节 企业级NFS网络文件共享服务 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载 ...
- K8S的StorageClass实战(NFS)
关于StorageClass 在K8S环境,当pod需要存储空间时,StorageClass比PV更灵活和方便,官方文档地址:https://kubernetes.io/docs/concepts/s ...
- 实战Kubernetes动态卷存储(NFS)
之前的< Kubernetes持久卷实战两部曲>系列中,我们实战了先声明一个存储卷,再使用这个存储卷,这种方式要求每次都要提前申明存储,不是很方便,而动态卷存储不需要提前申明,而是使用时自 ...
最新文章
- 祝我亲爱的天蝎GG生日快乐!+相识3周年小纪念
- 改变,从跨出第一步開始——记海大ITAEM团队首次IT讲座掠影
- python 开发版-MicroPython的开发板
- poj 3233 Matrix Power Series
- 用户画像2种数据存储的方式
- XElement 和 XDocument 到底有什么区别?
- 【渝粤教育】电大中专学前儿童健康教育_1作业 题库
- centos 多个mysql,Centos中安装多个MySQL数据的配置实例
- 要想选到音质好的耳机,你应该需要知道这些~
- IDL读取TXT文件并写入二维数组中【转】
- 【蓝桥杯单片机组】两种外设访问方式:IO编程和MM编程
- yuv420转yuv422(yuyv)
- Unity 正则表达式
- python中Blowfish加密解密
- irving - 初学python
- 2023年全国最新二级建造师精选真题及答案61
- linux裁剪图片的软件,【美图秀秀Linux版】美图秀秀Linux版下载 v1.0.0.0 免费最新版-趣致软件园...
- Ubuntu 18.04安装Docker Dashboard
- 华为 2016 校园招聘上机笔试题 题解
- 写于数学建模美赛准备期间
热门文章
- Redhat8: SCTP: type= 5 errno= <0x5e> Socket type not supported
- 解决HbuildX无法打开html文件的问题
- Python实现修正cholesky分解
- android 高德地图 logo,Android高德之旅(3)UI Setting
- 如何用Ps制作中国移动基础框架
- 计算机一级office题库百度云,历年全国计算机等级考试一级MSOffice真题
- python评分卡模型
- smb协议讲解_SMB/CIFS协议解析一概述
- 我是如何纯靠技术在大学月入上万,收获人生第一个10W
- 20210520:人脸识别-口罩mask快速抠取