nfs 问题 exportfs r怎么用

配置nfs是报错 exportfs :scandir /etc/exports.d no such file or directory 求高手解决_百度知道
配置nfs是报错 exportfs :scandir /etc/exports.d no such file or directory 求高手解决
急!急!急!
确认一下:1./etc&#4哗骇糕较蕹记革席宫芦7;exports的配置格式是否正确。2.可重新安装nfs相关包。
其他类似问题
为您推荐:
其他1条回答
楼主解决没有?我也是一样的问题啊.求教啊!!
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁nfs 问题 exportfs 怎么用 啊?
命令:exportfs -ra提示错误如下:exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export &10.10.206.21:/home/nfs&.  Assuming default behaviour ('no_subtree_check').  NOTE: this default has changed since nfs-utils version 1.0.xexportfs: could not open /var/lib/nfs/etab for lockingexportfs: can't lock /var/lib/nfs/etab for writing怎么回事?如何解决阿?谢谢了!!!
09-07-18 &匿名提问
一)首先把要安装游戏的盘的格式改成NTFS , 例如G盘需要注意的是,在转换开始前,你必须关闭所有的应用程序,否则系统会发出错误信息。 1、单击“开始”菜单中的“运行”命令。 2、在“运行”命令窗口中输入“Convert G:/FS:NTFS ”,并单击“确定”按钮。 3、应用程序会给出磁盘空间总量、可用空间量及转换所需空间量等参数,此后转换就开始了。根据转换内容的数量不同,所需时间也不同。 4、转换完毕应用程序提示“文件系统转换完毕”。
请登录后再发表评论!您现在的位置: >>
>> 浏览文章
如何使用和设置NFS服务
nfs 服务是基于 rpc 来实现的一个方便的共享文件系统, linux 和 windows 之间共享的文件非常的便利。 linux 中 nfs 已经被完全整合进了内核,只要在编译内核的时候选择编译文件系统,那么默认就支持 nfs
nfs 主服务进程使用的端口是 2049 udp 和 2049 tcp 其他进程端口都是半随机的基于 portmap 建议在 /etc/sysconfig/nf 将随机端口定义成静态端口,使端口不混乱,并且利于配置 iptables 防火墙策略
nfs 装置包是 nfs-utils 基于 uid 识别用户,配置文件 /etc/export 和 /etc/sysconfig/nf
nfs 多进程的
nfsd 主服务进程 工作于内核中的只能以 root 用户来运行
1 rpc.mountd 基于 rpc 实现的挂载监控的进程
2 rpc.srard 用户建立的连接若是断掉,负责通知服务器重新建立 4 连接
3 lockd 处置客户端请求文件锁,防止多用户同时对一个文件写入造成的抵触
4 rpc.rquotad& RPC 辅助进程,默认监察随机端口
若是想让系统在启动时自动挂载 NFS 服务器上的输出目录,就编辑 /etc/fstab& 加入如下格式
NFS 服务器名或 IP 地址:输出目录 外地挂载目录 nf default 0 0
实现 nfs 服务 只需要编译 /etc/export , 该文件默认为空的每一行表示你共享的一个文件系统 &&&
添加格式:
共享文件目录 & 允许访问的主机(访问权限)
注:被导出的目录为独立的文件系统,若不是则在权限中定义 subtrww_check 使更安全,如果共享文件中有空格用 “ 括起来,
定义允许访问的主机可以是 IP 网段, IP NIS 域( @NIS 域名)并且可以通配)
下面介绍几种常用的访问权限
rw 可读可写
async 异步写入 先将数据保存在内存缓存区中,必要时才写入磁盘
sync 同步写入 将数据同步写入内存缓存区与磁盘中,效率低但是可以保证数据的一致性
用户映射选项
root_squash 如果是 root 用户来挂载的话,权限太大,就把 root 用户映射成来宾账号(默认设置)
no_root_squash& root 访问时,不把 root 映射成来宾账号 该设置很危险
all_squash& 将远程访问的所有用户和所属用户组都映射成匿名用户或用户组
no_all_squash& 不将远程访问的所以用户和所属拥护组映射成匿名 默认设置)
anonuid=xxx& 将远程访问的所以用户都映射成匿名用户,并指定为本地用户( UID=xxx
anongid=xxx&& 将远程访问的所以用户组都映射成匿名用户组账户,并指定为本地用户组( GID=xxx
其他常用项
secure&&&& 限制客户端只能从小于 1024 TCP/IP 端口连接 NFS 服务器(默认设置)
insecur 允许客户端从大于 1024 TCP/IP 端口连接 NFS 服务器
subtree_check 若输出目录是一个子目录,则 NFS 将检查其父目录的权限(默认设置)
no_subtree_check 即使输出的目录是一个子目录, NFS 也不检查其父目录的权限
每当修改了 /etc/export 文件后,不需要重启 NFS 服务,使用 exportfs 就可以使设置立即生效
exportfs 命令就是用来维护 NFS 服务的输出目录列表的
exportfs& -r 重新读取 /etc/export 文件设置,并使设置立即生效
exportf – ra 重新导出全部
exportf – v& 将当前系统导出项显示在屏幕上
exportf – au 关闭服务
exportf – a 开启所有的全部导出
showmount 命令检查 NFS 服务器上的共享信息
showmount – e localhost 检查当前主机共享的文件系统 只在服务端执行
showmount – a 检查所有被挂载信息 服务端执行)
showmount – d 只显示被挂载目录
showmount – e IP 检查该 IP 共享的信息(客户端)
演示挂载过程
1 # vim /etc/exports
/var/ftp 192.168.0.71 rw sync &192.168.1.0/24 ro
/var/pub&&&&&&& * ro
2 #servic nf restart
#servic portmap status&&& nfs 基于 portmap 所以确定 portmap 启动的
portmap pid 3110 is running...&
#rpcinfo – p localhost& 显示进去当前 rpc 里 portmap 默认选择的端口
基于 rpc 提供服务
#servic nf restart& 重启 nfs 服务,或者 #exportf – r
showmount – e localhost 检查当前主机共享的文件系统
切换到 192.168.0.71
#mount – t nf 192.168.0.71:/var/ftp /mnt
#cd /mnt& l 检查 & /var/ftp 下的文件是不是被挂在 /mnt 下了
如何使用和设置NFS服务来自:/html/ITjs/wljs/5253.html
相关文章阅读:&&&&&&&&&&&&&
一、NFS简介
1、NFS就是Network FileSystem的缩写,它的最大功能就是可以通过网络让不同的机器,不同的操作系统彼此共享文件(sharefiles)&&可以通过NFS挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将它看作一个文件服务器(FileServer)。
注意:一般而言,使用NFS服务能够方便地使各unix-like系统之间实现共享,但如果需要在unix-like和windows系统之间共享,那就得使用samba了。
2、NFS是通过网络进行数据传输,那么NFS使用哪些端口呢,答案是&&不知道,因为NFS传输数据时使用的端口是随机的,唯一的限制就是小于1024,客户端怎么知道服务器使用的是哪个端口,此时就要用到远程过程调用RPC。
其实,NFS运行在SUN的RPC(Remote Procedure Call,远程过程调用)基础上,RPC定义了一种与系统无关的方法来实现进程间通信,由此,NFS Server也可以看作是RPC Server。正因为NFS是一个RPC服务程序,所以在使用它之前,先要映射好端口&&通过portmap设定。比如:某个NFSClient发起NFS服务请求时,它需要先得到一个端口(port),所以它先通过portmap得到portnumber(不仅是NFS,所有的RPC服务程序启动之前,都需要先设定好portmap)。
注意:在启动RPC服务(比如NFS)之前,需要先启动portmap服务。
3、NFS允许系统将其目录和文件共享给网络上的其他系统。通过NFS,用户和应用程序可以访问远程系统上的文件,就像它们是本地文件一样。那么NFS最值得注意的优点有:(1)本地工作站可以使用更少的磁盘空间,因为常用数据可以被保存在一台机器上,并让网络上的其他机器可以访问它。(2)不需要为用户在每台网络机器上放一个用户目录,因为用户目录可以在NFS服务器上设置并使其在整个网络上可用。(3)存储设备如软盘、光驱及USB设备可以被网络上其它机器使用,这可能可以减少网络上移动设备的数量。
二、与NFS相关的几个文件和命令
1、/etc/exports对NFS服务的访问是由exports来批准,它枚举了若干有权访问NFS服务器上文件系统的主机名。
2、/sbin/exportfs维护NFS的资源共享,可以通过它重新设定/etc/exports的共享目录,卸载NFS Server共享的目录或者重新共享等。
3、/usr/sbin/showmount 上面的文件主要用在NFS Server端,而showmount则主要用在Client端,showmount可以用來查看NFS共享的目录资源。
4、/var/lib/nfs/xtabNFS的记录文档:通过它可以查看有哪些Client连接到NFS主机的记录。
下面这几个并不直接负责NFS,实际上它们是负责所有的RPC。
5、/etc/default/portmap实际上,portmap负责映射所有的RPC服务端口,它的内容非常非常之简单。
6、/etc/hosts.deny设定拒绝portmap服务的主机,即禁止访问的客户端IP列表。
7、/etc/hosts.allow设定允许portmap服务的主机,即允许访问的客户端IP列表。
三、NFS安装
在主机上安装NFS服务软件,因为Debian/Ubuntu上默认是没有安装的。
1、安装端口映射器portmap(可选)$ sudo apt-get install portmap
2、在终端提示符后键入以下命令安装NFS服务器$ sudo apt-get install nfs-kernel-server
3、安装NFS客户端(可选)$ sudo apt-get install nfs-common
注意:nfs-kernel-server和nfs-common都依赖于portmap。另外,在一些文档中提出还需要使用apt-get来手动安装NFS的客户端nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动把它们安装好。
这样,宿主机就相当于NFS Server。同样地,目标系统作为NFS的客户端,需要安装NFS客户端程序。如果是Debian/Ubuntu系统,则需要安装nfs-common(第3步)。
四、NFS配置
1、配置portmap方法1:编辑/etc/default/portmap,将"-i 127.0.0.1"去掉;方法2:$ sudo dpkg-reconfigure portmap,出现&正在设定portmap&软件包设置界面,对Should portmap be bound to the loopback address?选择&否(No)&。
2、配置/etc/hosts.deny禁止任何host(主机)能和你的NFS服务器进行NFS连接。在该文件中加入:
### NFS DAEMONSportmap:ALLlockd:ALLmountd:ALLrquotad:ALLstatd:ALL
3、配置/etc/hosts.allow允许那些你想要的主机和你的NFS服务器建立连接。
下列步骤将允许任何IP地址以192.168.1开头的主机连接到NFS服务器上,具体要看你目标板的端口地址,也可以指定特定的IP地址。在该文件中加入:
### NFS DAEMONSportmap: 192.168.1.lockd: 192.168.1.rquotad: 192.168.1.mountd: 192.168.1.statd: 192.168.1.
通过/etc/hosts.deny和/etc/hosts.allow设置对portmap的访问,采用这两个配置文件有点类似"mask"的意思。先在/etc/hosts.deny中禁止所有用户对portmap的访问,再在/etc/hosts.allow中允许某些用户对portmap的访问。
然后重启portmap daemon:$ sudo /etc/init.d/portmap restart
4、配置/etc/exports
(1)共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享(NFS挂载目录及权限由该文件定义),书写规则是每个共享为一行)。
格式:[共享目录] [主机名或IP](参数,参数...)第一个参数是要让客户机访问的目录,第二个是你允许的主机IP,最后的()内是访问控制方式。
注意:客户端可以使用主机名或者IP地址指定,在主机名中可以使用通配符(*),IP地址后也可以跟掩码段(/24),但出于安全原因这种情况应该尽量避免。客户端的说明后可在圆括号中加入一系列参数。很重要的一点,不要在最后一个客户端声明的后面留下任何空白或者没关闭括号,因为空白都被解释成客户端的分隔符。
例如我要将/opt/FriendlyARM/mini2440/root_nfs目录让用户的IP共享,则在该文件末尾添加下列语句:/opt/FriendlyARM/mini2440/root_nfs *(rw,sync,no_root_squash)
其中:/opt/FriendlyARM/mini2440/root_nfs 表示NFS共享目录,它可以作为开发板的根文件系统通过NFS挂接;* 表示所有的客户机都可以挂接此目录;rw 表示挂接此目录的客户机对该目录有读写的权力;sync 表示所有数据在请求时写入共享,即数据同步写入内存和硬盘;no_root_squash 表示允许挂接此目录的客户机享有该主机的root身份。
注意:可以用主机名来代替*,尽量指定主机名以便使那些不想其访问的系统不能访问NFS挂载的资源。另外,最好加上sync, 否则$ sudo exportfs -r时会给出警告,sync是NFS的默认选项。
(2)下面是一些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_squash root用户具有根目录的完全管理访问权限anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UIDanongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
(3)查看NFS Server的export list:$ sudo showmount -e
若更改了/etc/exports,运行以下命令进行更新:$ sudo exportfs -r
然后重启NFS服务:$ sudo /etc/init.d/nfs-kernel-server restart
五、启动和停止NFS服务
1、启动NFS的方法和启动其他服务器的方法类似,首先需要启动portmap和NFS这两个服务,并且portmap服务一定要先于NFS服务启动。$ sudo /etc/init.d/portmap start$ sudo /etc/init.d/nfs-kernel-server start
2、停止NFS服务在停止NFS服务的时候,需要先停止NFS服务再停止portmap服务,如果系统中还有其他服务需要使用portmap服务,则可以不停止portmap服务。$ sudo /etc/init.d/nfs-kernel-server stop$ sudo /etc/init.d/portmap stop
3、重新启动portmap和NFS服务$ sudo /etc/init.d/portmap restart$ sudo /etc/init.d/nfs-kernel-server restart
4、检查portmap和NFS服务状态$ sudo /etc/init.d/portmap status$ sudo /etc/init.d/nfs-kernel-server status
5、设置自动启动NFS服务
(1)检查NFS的运行级别:$ sudo chkconfig --list portmap$ sudo chkconfig --list nfs-kernel-server
(2)在实际使用中,如果每次开启计算机之后都手工启动NFS服务是非常麻烦的,此时可以设置系统在指定的运行级别自动启动portmap和NFS服务。$ sudo chkconfig --level 235 portmap on$ sudo chkconfig --level 235 nfs-kernel-server on
六、NFS客户端配置(NFS测试)
1、在NFS服务器启动后,还需要检查Linux服务器的防火墙设置(一般需要关闭防火墙服务),确保没有屏蔽NFS使用的端口和允许通信的主机,主要是检查Linux服务器iptables、ipchains等选项的设置,以及/etc/hosts.deny,/etc/hosts.allow文件。通常都是在内部局域网中进行开发,再安装系统时最好不要安装防火墙等网络安全软件,以方便使用时的配置。
如果你有防火墙,请确保3和2049端口保持开放。
2、手动挂载使用mount命令来挂载其他机器共享的NFS目录。
格式:$ sudo mount [Server IP]:/[share dir] [local mount point]
例如:$ sudo mount -t nfs [-o nolock] localhost:/opt/FriendlyARM/mini2440/root_nfs /mnt/root_nfs 或$ sudo mount -t nfs -o nolock 192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs /mnt/root_nfs
其中,localhost可以是具体的IP地址,同时挂载点/mnt/root_nfs目录必须已经存在,而且在/mnt/root_nfs目录中没有文件或子目录。
3、自动挂载
(1)另一个挂载其他机器的NFS共享的方式就是在/etc/fstab文件中添加一行,该行必须指明NFS服务器的主机名、服务器输出的目录名以及挂载NFS共享的本机目录,同时必须是根用户才能修改/etc/fstab文件。
格式::/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr
注意:可以根据实际情况修改NFS服务器共享文件夹":/usr/local/pub"和在本机的挂载点"/pub",同时挂载点/pub在客户端机器上必须存在。
(2)NFS常见挂载参数:timeo 如果超时,客户端等待的时间,以十分之一秒计算retrans 超时尝试的次数bg 后台挂载(很有用)hard 如果server端没有响应,那么客户端一直尝试挂载rsize 读块大小wsize 写块大小
4、使用autofs来挂载NFS
(1)挂载NFS共享的第三种方法是使用autofs,它使用automount守护进程来管理挂载点,只在文件系统被访问时才动态地挂载。
autofs访问主映射配置文件/etc/auto.master来决定要定义哪些挂载点,然后使用适用于各个挂载点的参数来启动automount守护进程。主映射配置中的每一行都定义一个挂载点,一个分开的映射文件定义在该挂载点下要挂载的文件系统。如/etc/auto.misc文件可能会定义/misc目录中的挂载点,这种关系在/etc/auto.master文件中会被定义。
(2)/etc/auto.master文件中的每个项目都有3个字段,第1个字段是挂载点;第2个字段是映射文件的位置;第3个字段可选,可以包括超时数值之类的信息。
例如:要在机器上的/misc/myproject挂载点上挂载远程机penguin.example.net中的/project52目录。在/etc/auto.master文件中添加以下行:/misc /etc/auto.misc --timeout 60在/etc/auto.misc文件中添加以下行:myproject -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52
/etc/auto.misc中的第1个字段是/misc子目录的名称,该目录被automount动态地创建,它不应该在客户端机器上实际存在;第2个字段包括挂载选项,如rw代表读写访问权,第3个字段是要导出的NFS的位置,包括主机名和目录。
(3)autofs是一种服务,要启动这项服务,在shell提示下键入以下命令:$ sudo /sbin/service autofs restart要查看活跃的挂载点,在shell提示下键入以下命令:$ sudo /sbin/service autofs status如果在autofs运行时修改了/etc/auto.master配置文件,则必须在shell提示下键入以下命令来通知automount守护进程重新载入配置文件:$ sudo /sbin/service autofs reload
5、可以运行df命令查看是否挂载成功:$ sudo df
取消挂载的命令如下:$ sudo umount /mnt/root_nfs
七、目标板NFS配置操作
主机IP:192.168.1.101目标板IP:192.168.1.230
将USB转串口连接上,在终端输入minicom与板子连起,作为&超级终端&使用。
启动目标板并连通网络后,首先查看目标板kernel自身是否支持NFS,在minicom中输入cat /proc/filesystems命令查看其中是否有NFS一行,若没有则表示内核不支持NFS,就需要重新编译和烧写内核;有则OK,接下来就可以直接进行mount操作了。
具体命令是:# mount -t nfs&-o nolock 192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs /mnt/root_nfs
无任何提示表示成功,这时可以进入/mnt/root_nfs目录,对文件进行cp、mv等操作。
但是如果使用命令mount -t nfs 192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs /mnt/root_nfs,则会有如下的错误提示(也就是省去了"-o nolock"):#&mount -t nfs 192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs /mnt/root_nfsportmap: server localhost not responding, timed outRPC: failed to contact portmap (errno -5).portmap: server localhost not responding, timed outRPC: failed to contact portmap (errno -5).lockd_up: makesock failed, error=-5portmap: server localhost not responding, timed outRPC: failed to contact portmap (errno -5).
这时如果使用ls /mnt/root_nfs命令查看该目录内容时,你会发现此时NFS确确实实已经挂载成功了。
然后取消挂载的时候会出现如下的错误提示:# umount /mnt/root_nfs/lockd_down: no lockd running.
而成功取消挂载时没有任何提示,同样此时NFS也确实已经取消挂载了。
那么出现上面错误提示的可能原因是:nfs mount默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。
简单的解决方法:kill文件锁(lockd)或者使用mount -o nolock命令。
上面说的文件锁具体是什么原因,目前还没有找到更好的解决办法。不过,如果主机防火墙有设置时,也可能导致目标板无法正常访问。
&posted on
阅读(...) 评论()-a & & & & & 递增式更新,对/etc/exports 增加或修改的部分进行挂载和卸载
-i&文件& &指定配置文件
-r & & & & & &更新配置,重新读取/etc/exports&
-u & & & & & 卸载指定目录
-o&&&&&&&&& &使用指定参数
-v & & & & & 显示共享详细情况
【NFS共享的常用参数】
ro & & & & & & & & & & & 只读访问 &
rw & & & & & & & & & & &读写访问 &
sync & & & & & & & & & 同步写入硬盘
async & & & & & & & & &暂存内存
secure & & & & & & & &NFS通过1024以下的安全TCP/IP端口发送 &
insecure & & & & & & &NFS通过1024以上的端口发送 &
wdelay & & & & & & & &多个用户对共享目录进行写操作时,则按组写入数据(默认) &
no_wdelay & & & & &
多个用户对共享目录进行写操作时,则立即写入数据
hide & & & & & & & & & &不共享其子目录 &
no_hide & & & & & & & 共享其子目录 &
subtree_check & & &强制NFS检查父目录的权限
no_subtree_check 不检查父目录权限 &
all_squash & & & & & & 任何访问者,都转为 匿名yong &
root_squash & & & & &root用户访问此目录,&映射成如anonymous用户一样的权限(默认)
no_root_squash & & root用户访问此目录,具有root操作权限 &
范例1:&显示简明共享情况
~# exportfs
/home/snail/share/qte & & & & & &192.168.1.15/25 & & & &
/home/snail/share/tslib & & & & & &192.168.1.15
/usr/local & & & & & & & & & & & & & & &
/home/snail/share/tslib & & & & & &
范例2 :显示详细共享情况
~# exportfs -v
/home/snail/share/qte
& & & & & &192.168.1.15 /25(rw,wdelay,root_squash, no_subtree_check)
& & & & & & //192.168.1.15 /25 这段IP对该目录具有读写权限
/home/snail/share/tslib
& & & & & 192.168.1.15 /25(rw,wdelay,root_squash, no_subtree_check)
& & & & & & //192.168.1.15 &的IP对该目录具有读写权限
/usr/local&
& & & & & &(rw,wdelay, insecure, no_root_squash, no_subtree_check)
& & & & & & //所有用户均可访问对该目录具有读写权限
/home/snail/share/tslib
& & & & & &(rw,wdelay, insecure, no_root_squash, no_subtree_check)
& & & & & & //所有用户&均可访问对该目录但只有只读权限
范例3 :使/etc/exports 配置生效
~# exportfs -r
范例4: 添加共享目录,且有只读权限
&~# exportfs &*:/home/snail/share/qtmpk
//所有用户均可访问对该目录但只有只读权限
&~# exportfs &-o&async&*:/home/snail/share/gtk_1
//所有用户均可访问对该目录但只有只读权限,且允许匿名访问
&~# exportfs &-o&async&192.168.1.15:/home/snail/share/gtk_2//
192.168.1.15&的IP可访问对该目录但只有只读权限,且允许匿名访问
【感谢 ip为&的网友 提交此命令】}

我要回帖

更多关于 hanewin nfs 使用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信