开发板mount宿主机出现提示:mount: nfs mount failed: Bad file descriptor的解决方案

本文介绍了在开发板上挂载NFS时遇到'Bad file descriptor'错误的解决方案,包括在mount命令中添加-o nolock选项,配置/etc/exports文件,以及确保NFS服务处于运行状态。详细讨论了mount命令的参数和/etc/exports文件的设置方法,以及NFS共享的常用参数。

解决思路:


mount 的语句中加上 -o nolock                                                                               

nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。

命令格式:mount [-t vfstype] [-o options] device dir
其中:


(1)-t vfstype                                                                                                                                                   

指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。

常用类型有:

光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs

(2)-o options                                                                                                                                                  

主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集


(3)device                                                                                                                                                        

要挂接(mount)的设备。


(4)dir                                                                                                                                                              

设备在系统上的挂接点(mount point)。



配置/etc/exports文件                                                                                              


/share *(rw,sync,no_root_squash) (我做的实验需要这样改,请大家根据自己的实际情况来更改


此文件的内容比较容易理解:每一行由抛出路径,客户名列表以及每个客户名后紧跟的访问选项构成:

[共享的目录] [主机名或IP(参数,参数)]

其中参数是可选的,当不指定参数时,nfs将使用默认选项。默认的共享选项是sync,ro,root_squash,no_delay
主机名或IP地址时,则代表共享给任意客户机提供服务


当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:
[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]


下面是一些NFS共享的常用参数: 
ro                            只读访问 
rw                            读写访问 
sync                         所有数据在请求时写入共享 
async                       NFS在写入数据前可以相应请求 
secure                      NFS通过1024以下的安全TCP/IP端口发送 
insecure                   NFS通过1024以上的端口发送 
wdelay                      如果多个用户要写入NFS目录,则归组写入(默认) 
no_wdelay                如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 
hide                           在NFS共享目录中不共享其子目录 
no_hide                     共享NFS目录的子目录 
subtree_check           如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) 
no_subtree_check     和上面相对,不检查父目录权限 
all_squash                 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 
no_all_squash           保留共享文件的UID和GID(默认) 
root_squash              root用户的所有请求映射成如anonymous用户一样的权限(默认) 
no_root_squas          root用户具有根目录的完全管理访问权限 
anonuid=xxx            指定NFS服务器/etc/passwd文件中匿名用户的UID 
anongid=xxx            指定NFS服务器/etc/passwd文件中匿名用户的GID

使用mount命令即可共享资源


确保nfs处于开启状态                                                                                                 

 /etc/init.d/nfs-kernel-server restart  (我做的实验是这样开启nfs服务,大家可根据自己的情况进行调整)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值