安装 rpcbind 和 nfs-utils

 yum install rpcbind
yum install nfs-utils

设置共享目录

[root@bogon ~]# vim /etc/exports       #修改/etc/exports文件,输出共享目录
添加一行, 例如
/mnt/share *(rw,sync,no_root_squash)

/mnt/share    192.168.1.0/24(ro,async) 192.168.0.0/24(rw,sync) [root@localhost ~]# more /etc/exports
/home/tomcat/archive/        192.168.1.0/24(ro,async)

/etc/exports文件内容格式:

<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]

a. 输出目录:
输出目录是指NFS系统中需要共享给客户机使用的目录; b. 客户端:
客户端是指网络中可以访问这个NFS输出目录的计算机
客户端常用的指定方式
指定ip地址的主机:192.168.0.200
指定子网中的所有主机:192.168.0.0/ 192.168.0.0/255.255.255.0
指定域名的主机:david.bsmart.cn
指定域中的所有主机:*.bsmart.cn
所有主机:* c. 选项:
选项用来设置输出目录的访问权限、用户映射等。NFS主要有3类选项: 访问权限
设置输出目录只读:ro
设置输出目录读写:rw 用户映射
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash:与all_squash取反(默认设置);
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash取反;
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx); 其它选项
secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

启动NFS服务器
为了使NFS服务器能正常工作,需要启动rpcbind和nfs两个服务,并且rpcbind一定要先于nfs启动。
# service rpcbind start
# service nfs start

查询NFS服务器状态
# service rpcbind status
# service nfs status

停止NFS服务器
要停止NFS运行时,需要先停止nfs服务再停止rpcbind服务,对于系统中有其他服务(如NIS)需要使用时,不需要停止portmap服务
# service nfs stop
# service rpcbind stop

客户端
客户端也需要安装rpcbind 和 nfs-utils, 也需要启动这两个服务
查看可用的nfs服务:

[root@bogon ~]# showmount -e 10.10.14.52
Export list for 10.10.14.52:
/mnt/share *

挂载对应的nfs目录到本地, 挂载前要检查此目录是否存在

mount -t nfs 10.10.14.52:/mnt/share /mnt

取消挂载(对应的本地路径)

umount /mnt

固定nfs服务端口以便设置防火墙

vi /etc/sysconfig/nfs
# uncomment the following options
RQUOTAD_PORT=875
LOCKD_TCPPORT=
LOCKD_UDPPORT=
MOUNTD_PORT=
STATD_PORT=662
# then stop nfs, stop prcbind, start rpcbind, start nfs
# use "lsof -nPi" to check the listening ports

iptables中需要开放的端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport  -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport -j ACCEPT

问题解决

1. Centos5.x 客户端

安装的组件和Centos6.x不一样

~]#yum install rpcbind
~]#yum install portmap
~]#yum install nfs-utils
~]#service portmap start
~]#service nfs start
~]#showmount -e 192.168.1.20
~]#cd /mnt/
~]#mkdir nfshare
~]#mount -t nfs 192.168.1.20:/home/tomcat/archive /mnt/nfshare
~]#ll /mnt/nfshare/

2. 出现 access denied by server 错误

在Centos6.5上安装的nfs服务, 在Centos5.8上挂载正常, 但是在另一台Centos6.5上挂载出现 access denied by server.

nfs客户端:

[root@localhost ~]# showmount -e 192.168.1.20
Export list for 192.168.1.20:
/home/tomcat/archive 192.168.1.0/
[root@localhost ~]# mount -t nfs 192.168.1.20:/home/tomcat/archive /mnt/nfshare
mount.nfs: access denied by server while mounting 192.168.1.20:/home/tomcat/archive

nfs服务端:

[root@localhost ~]# more /etc/exports
/home/tomcat/archive/ 192.168.1.0/(ro,async)

经过测试, 如果在后面加入 no_root_squash 参数, (ro,async,no_root_squash) 后, 就不会再出现 access denied by server 错误, 但是这个选项是不推荐使用的.

后来发现在nfs客户端使用这个命令能正常挂载

mount -o v3 192.168.1.20:/home/tomcat/archive /mnt/nfshare

这个 -o v3 表明使用的是 nfs version 3, 使用以下命令可以查看nfs version

[root@localhost ~]# mount -v
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=,mode=)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.1.20:/home/tomcat/archive on /mnt/nfshare type nfs (rw,v3,addr=192.168.1.20)
[root@localhost ~]# nfsstat -m
/mnt/nfshare from 192.168.1.20:/home/tomcat/archive
Flags: rw,relatime,vers=,rsize=,wsize=,namlen=,hard,proto=tcp,timeo=,retrans=,sec=sys,mountaddr=192.168.1.20,mountvers=,mountport=,mountproto=udp,local_lock=none,addr=192.168.1.20

设置启动自动加载, 编辑 /etc/fstab, 例子

[root@iZ2578hac3vZ ~]# more /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug ::
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(), findfs(), mount() and/or blkid() for more info
#
UUID=94e4e384-0ace-437f-bc96-057dd64f42ee / ext4 defaults,barrier=
tmpfs /dev/shm tmpfs defaults
devpts /dev/pts devpts gid=,mode=
sysfs /sys sysfs defaults
proc /proc proc defaults
192.168.1.2:/archive/nfshare /mnt/nfshare nfs ro

同时要确保 rpcbind, nfs, netfs 这3个服务是开机自启动的

chkconfig nfs on
chkconfig netfs on
chkconfig --list

Centos6.5 设置nfs的更多相关文章

  1. Centos6.5 设置Tomcat8 service服务实现自启动和服务管理

    Centos6.5 设置Tomcat8 service服务实现自启动和服务管理 将tomcat设置成像apache,nginx一样. 用serviec xxxx start/stop/restart ...

  2. CentOS6.9下NFS配置说明(转载)

    NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端可以通过挂载(mount)的方式将NFS ...

  3. CentOS6.9下NFS配置说明

    NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端可以通过挂载(mount)的方式将NFS ...

  4. CentOS5.x、CentOS6.x 使用NFS及mount实现两台服务器间目录共享

    一.环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二.安装: NFS的安装配置:centos 5 : portmap:实现RPC(协议 ...

  5. VMware10 安装centos6.7 设置NAT模式

    最近刚开始学Linux运维.我看的书是<跟阿铭学Linux>,视频教程里面使用NAT模式手动分配IP可以成功ping通网关,但是我照着视频一步一步操作却一直不成功,不知道是什么原因,昨天弄 ...

  6. VirtualBox4.3.12 Centos6.5-i386 设置共享文件夹

    新在虚拟机下安装个CentOS6.5,准备设置个与win7的共享文件夹,遇到一个问题,搞了好几天呢 现在先说一下: 首先,在虚拟机下安装好CentOS这里不说了 然后启动,点击安装增强功能 如下图: ...

  7. 自己通过centos6.5配置NFS 成功后的笔记,希望对需要的人有点点帮助吧!

         环境介绍:            服务器:centos  172.16.250.170            客户端:centos  172.16.250.172     先用rpm -qa ...

  8. VMware安装Centos6.8设置ip无法远程连接问题

    今天使用VMware安装Centos6.8minimal版本再设置ip地址的时候遇到了一些麻烦,就是无法ping通Centos操作系统的配置的ip从而无法用Xshell远程连接上. 如何配置请看下面的 ...

  9. iTOP-6818开发板设置NFS共享目录的实现

    NFS 共享目录的制作过程.主要分为两个步骤:1.搭建 NFS 服务器2.配置内核. NFS 是 Network FileSystem 的缩写,是由 SUN 公司研制的 UNIX 表示层协议(pres ...

随机推荐

  1. iOS 杂笔-22(万年一遇~一张图片对代理的理解)

    iOS 杂笔-22(万年一遇~一张图片对代理的理解) 建议:本博客需要对代理有一定了解方可阅读(反正我也管不到) 图片 在图片之外设置协议(没有这东西这篇博客也就是夭折了) 下面我对图片中出现的形形色 ...

  2. 使用Android Annotations开发

    使用Android Annotations框架gradle配置1.修改Module下的build.gradle apply plugin: 'com.android.application' appl ...

  3. Github上十大C#开源项目排行榜

    1.SignalR ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.当WebSockets可用时(即浏览器支持Ht ...

  4. VBS进行http请求及JSON数据的读取和生成

    背景: 近期帮一个公司做第三方API的二次封装,需要部署到该公司网站.所获取的是Json数据格式.由于该公司原系统采用的ASP+VBS技术方案,因此采用VBS对API进行请求.封装. 实现: 废话不多 ...

  5. PHP 替换标签和标签内的内容

    $filter_arr=array('/#(.*?)#/','/\$(.*?)\$/','/\^(.*?)\^/');//要替换的标签 $content=$data['Monthlys']['cont ...

  6. hibernate总记录数查询和分页查询

    //参考代码 //第一种方法: String hql = "select count(*) from User as user"; Integer count = (Integer ...

  7. 【Linux】将Oracle安装目录从根目录下迁移到逻辑卷

    [Linux]将Oracle安装目录从根目录下迁移到逻辑卷 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到 ...

  8. python scrapy+Mongodb爬取蜻蜓FM,酷我及懒人听书

    1.初衷:想在网上批量下载点听书.脱口秀之类,资源匮乏,大家可以一试 2.技术:wireshark scrapy jsonMonogoDB 3.思路:wireshark分析移动APP返回的各种连接分类 ...

  9. x01.Game.CubeRun: 风一样的女子

    1.题解 小孩学英语比较有意思,Monkey three => 猴三,风一样的女子 => 风 Girl.诸如此类不是重点,重点是一花一世界,一草一天堂.花花草草,纷纷扰扰.大千世界,当别具 ...

  10. Linux开机启动(bootstrap)

    计算机开机是一个神秘的过程.我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面.然而,计算机开机又是个异常脆弱的过程,我们满心期望的登录界面可能并不会出现,而是一个命令行或 ...