rhel-server-5.4设置nfs服务器以及错误纠正

来源:互联网 发布:京东秒杀软件安卓版 编辑:程序博客网 时间:2024/05/01 15:01

所需软件包:

nfs-utils-1.0.9-42.el5.i386.rpm

nfs-utils-lib-1.0.8-7.6.el5.i386.rpm

nfs-utils-lib-devel-1.0.8-7.6.el5.i386.rpm


portmap-4.0-65.2.2.1.i386.rpm


然后:

vi /etc/exports填写

/mnt/nfs *(rw,sync)


由于nfs进程基于portmap进程,所以我们先启动portmap

service portmap restart

service nfs restart


查询服务器的状态

为了保证NFS服务器能够正常工作,系统中需要运行portmap和nfs两个服务程序

# service portmap status

# service nfs status

启动服务器

# service portmap start

# service nfs start

停止服务器运行

# service nfs stop


当挂载失败出现:

mount: 192.168.1.10:/mnt/nfs/ failed, reason given by server: Permission denied


解决办法:

来自:http://blog.sina.com.cn/s/blog_71d491570100xmy6.html

在CentOS5.6上mount一个NFS目录时报错:
[root@vm-centos4 ~]# mount -t nfs 10.0.0.1:/media /media
mount: 10.0.0.1:/media failed, reason given by server: Permission denied
在NFS服务器上,检查/etc/exports配置文件的内容:
[root@vm-centos yum.repos.d]# cat /etc/exports
/media  *(rw)
检查NFS服务是否运行正常:
[root@vm-centos yum.repos.d]# rpcinfo -p
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp    873  status
    100024    1   tcp    876  status
    100021    1   udp  41787  nlockmgr
    100021    3   udp  41787  nlockmgr
    100021    4   udp  41787  nlockmgr
    100021    1   tcp  48666  nlockmgr
    100021    3   tcp  48666  nlockmgr
    100021    4   tcp  48666  nlockmgr
    100011    1   udp    829  rquotad
    100011    2   udp    829  rquotad
    100011    1   tcp    832  rquotad
    100011    2   tcp    832  rquotad
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100005    1   udp    842  mountd
    100005    1   tcp    845  mountd
    100005    2   udp    842  mountd
    100005    2   tcp    845  mountd
    100005    3   udp    842  mountd
    100005    3   tcp    845  mountd
检查NFS服务器提供服务的目录:
[root@vm-centos yum.repos.d]# showmount -e 10.0.0.1
Export list for 10.0.0.1:
/media *
防火墙也已经关闭,/etc/hosts.allow  和 /etc/hosts.deny两个文件都是空的。
以上都没有问题!
检查/var/log/messages发现有下面的错误信息:
Aug 23 10:18:20 vm-centos mountd[2545]: authenticated mount request from 10.0.0.2:876 for /media (/media)
Aug 23 10:18:20 vm-centos mountd[2545]: Cannot export /media, possibly unsupported filesystem or fsid= required
Aug 23 10:18:22 vm-centos mountd[2545]: authenticated mount request from 10.0.0.4:730 for /media (/media)
Aug 23 10:18:22 vm-centos mountd[2545]: Cannot export /media, possibly unsupported filesystem or fsid= required
Aug 23 10:19:34 vm-centos mountd[2630]: authenticated mount request from 10.0.0.3:731 for /media (/media)
Aug 23 10:19:34 vm-centos mountd[2630]: Cannot export /media, possibly unsupported filesystem or fsid= required
Aug 23 10:24:23 vm-centos mountd[2630]: authenticated mount request from 10.0.0.2:958 for /media (/media)
Aug 23 10:24:23 vm-centos mountd[2630]: Cannot export /media, possibly unsupported filesystem or fsid= required
问题在于: possibly unsupported filesystem or fsid= required
在/etc/fstab中添加以下两行:
nfsd /proc/fs/nfsd nfsd auto,defaults 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs auto,defaults 0 0

重启nfs服务。
重新mount NFS目录,
[root@vm-centos4 ~]# mount -t nfs 10.0.0.1:/media /media
FS-Cache: Loaded
 
另外,mount: NFS failed, reason given by server: Permission denied这个错误也有可能是主机名解析导致的。
这也是Rachel提到的,首先是因为因为系统自动挂载会报not route to host的错误,我当时说,那要不你把客户端ip和对应的主机名写入到/etc/hosts文件里好了。
于是所有的机器都执行了这个操作,结果发现现在干脆mount不上来了,报的错误就是标题所说的:
mount: 192.168.1.100:/home/test failed, reason given by server: Permission denied
后来去掉/etc/hosts里添加的那些IP/主机名对就可以了。
只是那个not route to host的问题还是没有解决。
今天上午已经解决了not route to host的问题,主要原因是网络还没有完全准备好。
对于增加了IP/主机名对后,mount报错的,当时我的猜测是因为NFS会先把IP地址转成对应的主机名,然后用这个主机名去匹配/etc/exports文件,而该文件都是设置IP段的,当然就没有权限mount。通过查阅资料和测试,证实了我的这个猜测。
另外才测试过程中,如果使用主机名或者全质量主机名(FQDN)来mount NFS 文件系统,会比单纯使用IP要快得多。
因此,如果使用NFS服务的局域网内添加一个DNS服务,然后采用全质量主机名的方式来访问,应该效果会好得多。




原创粉丝点击