mount nfs常见出错信息总结

在配置上s3c-2410开发环境的过程中,开发时设置共享目录进行挂载, 但是老是出现各种各样的问题, 整了一个下午才全部完成,所以在这里总结一下

通常当NFS不能正常使用时候会给出提示,一般给出一下几种:

Permission denied



mount: 192.168.81.32:/opt failed, reason given by server: Permission denied
查看配置文件exports,是否为允许挂载的客户。

errno = No route to host



mount: RPC: Unable to receive; errno = No route to host
首先看是否在同一网段
再者输入:
[root@localhost etc]# service iptables status
看防火墙是否开启,有则将其关闭
[root@localhost etc]# service iptables stop
注意:但是这样子有时候其实还是有一些问题, 因此我们干脆直接将防火墙关闭掉, 同时关闭selinux

errno = Connection refused



mount: RPC: Unable to receive; errno = Connection refused
① 首先看nfs服务是否开启,
② 其次看rpcbind是否开启,
如果rpcbind没有运行,那在重新开启rpcbind后,要再restart nfs服务,
因为重启rpcbind已对nfs的一些配置造成影响,需要restart.
没错,看到这时候,你已经找到问题了,
[root@localhost etc]# service iptables stop
,然后再service nfs restart 下就可以了。

需要将在linux里交叉编译好的程序放在arm上运行,所以首先要将程序copy至arm上,选择了nfs。
但在arm上mount nfs的时候遇到了失败的情况:

在网上查找解决方案:
nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。
解决方法:kill 文件锁(lockd)或者mount -o nolock
于是尝试mount -o nolock -t nfs 192.168.1.24:/home/test /mnt/nfs,正常工作。

not responding,still trying..



有时候传输大文件会出错,
NFS: server 192.168.81.32 not responding,still trying..
这个可能是NFS有问题,与RING或buffer的大小有关,
问题的原因分析:

1、NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象;
2、server机和目标机网卡传输速率冲突,使得目标机需要大量时间复制大量数据包,其实如果目标机的网卡速率够大,则不用分那么多包,也不会冲突。
问题的解决方案:

方法一:

在客户端改用TCP协议,使用下面的命令,在mount命令中加上参数tcp
mount -o tcp ,nolock 192.168.14.223:/nfs_root /mnt
也可这样干:
跟踪了fs/nfs/nfsroot.c的代码,发现在nfs作为根文件系统时,参数可以直接写在“nfsroot=”后面,每个参数用逗号隔开,如:
nfsroot=192.168.10.1:/rootfs,proto=tcp,nfsvers=3,nolock
这样就可以指定nfs使用tcp协议
方法二:

指定传输速率(限定传输时一次读写的数据大小)

mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.14.223:/nfs_root /mnt
  • 1
  • 1

3.挂载时出卡在连接状态
解决:在确认网络连接无异常的情况下则可能是iptable或者网络防火墙阻拦了NFS使用的TCP和UDP的111以及2049端口.以ESX为例,在需要挂载NFS共享盘时首先需要编辑防火墙安全文件允许访问该端口.或者干脆禁止防火墙

svc: failed to register lockdv1 RPC service (errno 111).

解决方案:

nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。
解决方法:kill 文件锁(lockd)或者mount -o nolock

挂载时使用了RW权限挂载,当时读写仍然Permission denied



重启NFS服务以后,在客户机通过

mount -o tcp,nolock 192.168.10.77:/home/gatieme/Work/NfsRoot /mnt/nfs

命令将网络文件mount到本地。执行完成之后,目录是可以访问了,但无法写入。感觉有点奇怪,明明在命令中指定可以写入了。
于是到网上搜索资料,发现exports目录权限中,有这么一个参数no_root_squash
其作用是:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有root 的权限!。

默认情况使用的是相反参数root_squash
在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份。

因为我的客户端是使用root登录的,自然权限被压缩为nobody了,难怪无法写入。将配置信息改为:

/home/gatieme/Work/NfsRoot 192.168.10.123(rw,no_root_squash)
  • 1
  • 1

据说有点不安全,但问题是解决了。

转载:http://blog.csdn.net/gatieme/article/details/48625481 

时间: 2024-09-19 10:00:57

mount nfs常见出错信息总结的相关文章

win2008的IIS默认不显示http500详细出错信息的解决方法

  另外,对于win2008的IIS默认不显示详细出错信息的问题可以以下方法解决: 1.打开IIS,点全局设置中的"错误页"(注意必须是全局网站!) 2.点 右上角 的 编辑 功能设置. 2.在错误响应中,选第二项的"详细错误" 3.点确定后刷新IE就会显示详细的出错信息. 造成500错误常见原因有:ASP语法出错.ACCESS数据库连接语句出错.文件引用与包含路径出错.使用了服务器不支持的组件如FSO等.  

在线用户列表显示文件list.asp、出错信息文件error.asp

error|显示|在线 在线用户列表显示文件list.asp <%dim onliuser,onlinumonliuser=application("onliuser")onlinum=(len(onliuser)-len(replace(onliuser,"','","")))/3+1%><html><head><title>在线名单</title><meta http-equi

用户体验设计:用户常见的信息需求

看 <大白熊>到35页,有一副图片很好,讲述的是"用户的四种常见的信息需求",如下图: 四种常见的信息需求 简单的将四种信息需求List一 下: "已知条目搜索":表示用户已经知道要找的是什么,该以什么称呼它,以及上哪里可以找到它: "探索式搜 索":表示用户想在自我设定的某个范围内找到一些有用的信息或者数据: "无遗漏式研究":表示用户在某个特定的主题范围内,获得相关主 题的所有信息: "再次需求&qu

有关win2000、IIS5中asp详细出错信息的显示(不难,但很多人问)

iis|显示     最近经常有人问在win2000和IIS5中不显示asp错误的详细信息,而只显示错误号,如"错误ID800xxxxx",这使得程序调试很不方便,有些人采取在IIS中设置500-100错误指向默认,这样做也不会出现详细的错误信息.实际上这可能是微软出于安全考虑而在500-100.asp中没有显示详细出错信息.其实,你只要把500-100.asp稍加修改就可以了.下面是我修改的这个文件的内容.你只要把他copy下来存为500-100.asp然后覆盖原来的这个文件就可以了

当数据输入错误时让Excel提示出错信息

设置了单元格的数据有效性后,当输入了无效数据后就会显示出错信息.对于出错信息的提示方法可以进行自定义设置,具体设置方法如下. (1)选中设置了数据有效性的单元格区域.单击"数据→有效性"命令,打开"数据有效性"对话框. (2)选中"出错警告"选项卡,分别在"标题"框与"错误信息"框中输入如图7-7所示的信息. (3)单击"确定"按钮回到文档中,当在选定单元格中输入小于100的数值时,弹出

PHP运行时强制显示出错信息,输出到文本

  PHP运行时强制显示出错信息,将出错信息输出到一个文本文件 error_reporting(E_ALL); ini_set('display_errors', '1'); //将出错信息输出到一个文本文件 ini_set('error_log', dirname(__FILE__) . '/error_log.txt');

PHP通过Eamil邮件发送出错信息

  PHP通过Eamil邮件发送出错信息,觉得不是很常用,不过做为经常搞PHP项目,先留着自己以后参考. view sourceprint?01 02//自定义处理程序 03function nettuts_error_handler($number, $message, $file, $line, $vars){ 04 $email = " 05 An error ($number) occurred on line 06 $line and in the file: $file. 07 $m

PHP编译过程中常见错误信息的解决方法

PHP编译过程中常见错误信息的解决方法 在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: checking for BZip2 support- yes checking for BZip2 in default path- not found configure: error: Please reinstall the BZip2 distribution Fix: yum install bzip2-devel

把图片以流存进数据库然后从数据库读取出来报错,出错信息:参数无效

问题描述 把图片以流存进数据库然后从数据库读取出来报错,出错信息:参数无效 解决方案 为什么你的dishsimage只有13个字节?它是合法的图片二进制数据么? 解决方案二: 不太懂...可是图片读入数据库DishDesImage显示的是二进制数据 解决方案三: 数据库查出来是这样的