Linux挂载网络文件夹(简单NFS配置)

##############################################挂载网络文件夹##############################################

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 startnfs 启动# 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主机用户身份如何,它的身份都会被压缩成匿名使用者,通常就是nobodyanonuid:anonuid=xxx,制定NFS服务器/etc/passwd中匿名用户的UIDanongid:anonuid=xxx,制定NFS服务器/etc/passwd中匿名用户的GIDsync:数据在请求时写入共享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 -aAll mount points on test:172.17.196.11:/share

显示被mount出来的目录# showmount -e 172.17.196.10Export list for 172.17.196.10:/share 172.17.196.11

5.会发生的问题//使用者权限不符:# mount -t nfs 172.17.196.10:/home/test /mnt/sharemount: 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服务。

另外,如果服务端意外停止,在客户机上使用 ls,df等磁盘查看命令时,会卡住,原因是默认的mount是“硬”挂载,会不断的重试。解决办法是:

1、mount的时候加上 -s 参数,作为“软”挂载

2、umount -f /xxxxx/xxxx 用这个命令来取消挂载。 如果出现device busy的错误,说明还有进程在使用该挂载点,要把进程停了,才能umount

自信是一个人的胆,有了这个胆,你就会所向披靡!

Linux挂载网络文件夹(简单NFS配置)

相关文章:

你感兴趣的文章:

标签云: