Linux嵌入式学习

时间:2021-08-23 08:54:38

NFS 挂载失败原因[待搜集]

1.挂载时若出现mount.nfs: Input/output error

解决:在客户端也需启动portmap服务 service portmap status[查看状态];service portmap start[启动]

 

2.在用nfs共享大文件或者挂载根文件系统时候出现下面的问题:

nfs: server 192.168.14.223 not responding

nfs: server 192.168.14.223 not responding

nfs: server 192.168.14.223 OK

但是共享小文件还是可以的。

问题的原因分析:

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

 

http://blog.csdn.net/a746742897/article/details/52710703