###########################################
### 挂载网络文件夹 ###
###########################################
NFS说明
=======
NFS是Net File System的简写,即网络文件系统.
NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。
使用NFS的原因
=============
由于要在公司内部配置YUM,而且准备用Apache发布,能通过Http访问。A服务器上有http服务,但是空间不足。B服务器上有足够空间。A、B均为Linux
所以准备通过NFS,将B上的/yum挂载到A的/mnt/yum中。
假设A IP:192.168.0.100
假设B IP:192.168.0.200
NFS使用概括
===========
服务器端要求: //在上面的例子中B为服务器端
portmap 启动 # service portmap start
nfs 启动 # service nfs start
客户端要求: //在上面的例子中A为服务器端
portmap 启动 # service portmap start
在A上执行挂载命令:
# mount -t nfs 192.168.0.200:/yum /mnt/yum (注意主机后的冒号)
具体NFS Server 配置
===================
1.安装软件
包含的软件包:
NFS需要5个RPM,分别是:
setup-*: 共享NFS目录在/etc/exports中定义
initscripts-*: 包括引导过程中装载网络目录的基本脚本
nfs-utils-*: 包括基本的NFS命令与监控程序
portmap-*: 支持安全NFS RPC服务的连接
quota-*: 网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)
//检查系统是否安装好所需的套件
# rpm -qa | nfs
# rpm -qa | portmap
//启动nfs服务前必须启动portmap服务
nfs-utils包括rpc.nfsd和rpc.mountd
如果以上软件都安装了,下面就可以开始配置了.
2.Server 端配置
NFS 启动需要的服务:
rpc.nfsd: 管理Client是否能够登陆主机的权限,还包括登陆者的ID判别
rpc.mountd:管理NFS的文件系统,当client端通过rpc.nfsd登陆主机后
rpc.rquotad:磁盘配额管理
# vi /etc/exports
//编辑此文件增加NFS的共享内容,如果没有该文件则增加.
exports主要参数:
rw:可读写权限
ro:只读权限
no_root_squash:对于登陆NFS主机的共享目录用户如果是root的话则对该目录具有root权限。这样做极
不安全,建议不用为好!
root_squash:对于登陆NFS主机的共享目录用户使用者如果是root则它的权限将被压缩成匿名使用者,同
时它的UID和GID都会变成nobody那个系统账号的身份。
all_squash:不管登陆NFS主机用户身份如何,它的身份都会被压缩成匿名使用者,通常就是nobody
anonuid:anonuid=xxx,制定NFS服务器/etc/passwd中匿名用户的UID
anongid:anonuid=xxx,制定NFS服务器/etc/passwd中匿名用户的GID
sync:数据在请求时写入共享
async:NFS在写入数据前可响应请求
secure:NFS通过1024以下的安全端口发送
insecure:NFS通过1024以上端口发送
hide:不共享NFS目录的子目录
no_hide:共享NFS目录的子目录
设置实例:
/home/public 192.168.0.*(rw) *(ro)
//允许192.168.0网段用户对/home/public有读写权限,其他用户只读权限
/home/test 192.168.0.100(rw)
//允许IP为192.168.0.100的用户访问/home/test,并且有读写权限
/home/linux *.linux.org(rw,all_squash,anonuid=40,anongid=40)
//只要是linux.org域用户都可以访问,而且是读写权限,不管你是哪个用户你的身份都被改成:UID=40
这个账号名称
/tmp *(rw,no_root_squash)
//允许所有用户对tmp有可读写权限,如果是root则对该目录有root权限
启动服务:
#service portmap start
#service nfs start
3.Client设置
--启动portmap服务
#service portmap start
--在client上挂载NFS 共享目录
#mount -t nfs 172.17.196.10:/home/test /mnt/share
//把nfs上的共享目录/home/test挂载到本机的/mnt/share下(/mnt/share目录必须首先创建)
连接成功后nfs的test目录就mount到本机share上了.
4.调试监控
察看NFS 运行状态:
#nfsstat
察看RPC运行信息:
#rpcinfo -p IP
#rpcinfo -u hostname
exportfs [-aruv]
-a:全部挂载(或卸载) /etc/exports文件设定
-r:重新挂载 /etc/exports设定,也可以同步更新/etc/exports设定
-u:卸载某一目录
-v:在export时,将共享目录显示在屏幕上
在NFS Server上重新挂载exports内容(一般用在及时更改过exports但又不想重新启动机器的时候)
#exportfs -rv
卸载全部mount 目录 exportfs -au,这样在NFS Client上将看不到原来mount的目录
# exportfs -au
在NFS Server上显示已经mount上本机NFS目录的Client机器。
# showmount -a
All mount points on test:
172.17.196.11:/share
显示被mount出来的目录
# showmount -e 172.17.196.10
Export list for 172.17.196.10:
/share 172.17.196.11
5.会发生的问题
//使用者权限不符:
# mount -t nfs 172.17.196.10:/home/test /mnt/share
mount: 172.17.196.10:/home/test failed, reason given by server: Permission denied
//portmap服务未启动
# mount -t nfs localhost:/home/test /home/nfs
mount: RPC: Port mapper failure - RPC: Unable to receive
或mount: RPC: Program not registered
注意:如果有客户端连接,nfs服务器是不能关机的。想要解决这个问题。要在关机之前先关闭portmap服务及nfs服务。
NFS(Network File System) 网络文件系统,是Unix/Linux中历史很悠久的共享文件的方式,因为安装方便、使用简单、而且效率比较高,应用比较广泛。
(以下操作基于Fedora Core 1,如果无说明,则是当前用户是root)
【安装】
使用rpm包安装是最简单方便的,当然,你也可以下载源代码包来自己编译安装,一般情况下Linux都是已经自带了NFS的。
官方网站:http://nfs.sourceforge.net
安装NFS必须先安装portmap,现在假设我们已经下载了:
nfs-utils-1.0.6-1.rpm
portmap-4.0-57.rpm
安装:
# rpm -ivh nfs-utils-1.0.6-1.rpm
# rpm -ivh portmap-4.0-57.rpm
一般nfs和portmap都已经是安装完好的,现在我们系统中已经有了nfs和portmap,并且是在服务里的,现在我们启动nfs和portmap,记得要启动nfs的服务,必须先启动portmap
# service portmap start
# srvice nfs start
【使用】
NFS的主配置文件就是 /etc/exports 文件,默认文件是空的,里面用来保存你需要贡献和路径信息和权限。比如,我需要共享 /home/heiyeluren 这个目录,并且权限是只读:
/home/heiyeluren *(sync,ro)
我们看以下这行信息:
/home/heiyelure 是要共享的路径
* 是能够访问这个共享的主机,这可以是一个IP地址,或者是一通过掩码的子网,或者是一个域名,*代表任意机器
(sync,ro), 这是个权限和同步的配置, sync是设置NFS服务器同步写磁盘,不会导致数据的丢失,ro是只读权限,rw是可读可写权限
如果我们需要共享 /var/share 目录为所有机器能够读写,共享 /var/read 目录只允许192.168.0.1只读权限,那么我们在 /etc/exports 文件中添加下面两行:
/var/share *(sync,rw)
/var/read 192.168.0.1(sync,ro)
可以重启nfs来读取这个配置,也可以使用 exportfs 这个命令在不重启NFS服务的情况下重新读取配置文件。
exportfs 指令主要的三个作用:
exportfs -rv 重新读取共享配置文件,马上生效
exportfs -auv 马上停止所有本机上的NFS共享,并不改变 /etc/exports 文件的内容,只是当前停止共享
exportfs -av 显示所有当前机器上的NFS共享目录信息
如果我们要查看某个NFS服务器上的贡献,可以使用 showmount 命令,比如我们要查看 192.168.0.200 这台机器的所有共享路径:
showmount -e 192.168.0.200
如果想查看本机跟那些机器有共享连接:
showmount
如果想查看本机跟指定机器之间共享的目录情况:
showmount -d 192.168.0.200
现在我想加载远程NFS共享的目录为我所有,使用mount命令,比如我要加载192.168.0.200这台机器上的 /var/share 目录为我用:
mount 192.168.0.200:/var/share /mnt/nfs
那么如果权限允许,我就直接能够操作访问 /mnt/nfs 目录,跟操作本地磁盘一样。
现在我想看以下本机加载了那些共享NFS文件夹,可以使用 mount ,也可以使用
shomount -d 来完成。
最后,我们现在不需要贡献了,那么就直接使用 umount 命令卸载掉共享路径:
umount /mnt/nfs
分享到:
相关推荐
Linux下配置安装NFS[定义].pdf
Linux下配置安装NFS[参考].pdf
详细的介绍了如何在Linux下配置NFS,实现Linux下的网络文件
本文介绍Linux下tftp、nfs和dhcp的安装和配置,希望对您的学习有所帮助。
Linux NFS服务器的安装与配置,共享NAS,文件服务器,专业的文档
在嵌入式Linux的开发过程中,可以通过建立NFS,把Linux服务器上的特定分区共享到待调试的...因此,NFS开发环境的建立需要配置linux服务器端和嵌入式目标系统端。本文详细说明了如何配置嵌入式Linux的NFS开发环境。
详细的linux_solaris的nfs配置。
实验七 NFS服务器配置 linux 实验七 NFS服务器配置 linux
linux环境下嵌入式开发nfs配置,很详细的一份NFS配置文档,喜欢的就下载哦。。。
浅谈嵌入式Linux开发中NFS的安装配置.pdf
nfs 挂载的详细步骤
linux配置NFS和TFTP服务 教你如何配置nfs 和tftp 服务
windows系统及linux系统下nfs的设置、挂载详解
Linux上需要安装nfs实现文件文件共享访问的用户 3、使用场景及目标: 工作中遇到了一种情况,原有服务器的存储空间不足,无法满足现有系统的运行,因为一些原因,系统迁移和扩展内存方案不能实行,经排查现在占用...
Linux+NFS安装配置文档及nfs-util+portmap安装包
此文档有比较详细的NFS配置,arm-linux交叉编译环境的配置
Ubuntu 14.04下NFS安装配置,实际测试好用
一、NFS服务器的安装 检查linux系统中是否安装了nfs-utils和portmap两个软件包(RHEL4系统默认已经安装了这两个软件包) 命令#rpm –q nfs-utils portmap 二、查看NFS服务器是否启动 命令#service nfs starus #...
Linux NFS安装配置指导&nfs;-util portmap安装包&下载url
linux下NFS服务器配置