centos6.5 搭建NFS 服务

centos6.5 搭建NFS 服务

挂载命令:

mount 源 目标
mount ip地址 本地地址
mount –t 192.168.1.115:/video /video

1 先开启rpc服务
2 启动nfs服务 向rpc注册
3 请求nfs服务
4 返回端口
5 连接端口请求数据

两台机器 (server 和clinet)
环境:CentOS release 6.5 (Final)  2.6.32-431.el6.x86_64  LANG=EN
服务端 安装包 yum groupinstall “NFS file server” -y
客户端 安装包 yum groupinstall “NFS file server” -y

检查是否安装:

[root@nfs-client ~]#  rpm -qa  nfs-utils protmap rpcbind
rpcbind-0.2.0-12.el6.x86_64
nfs-utils-1.2.3-70.el6.x86_64

服务端操作

首先启动rpc服务:

[root@nfs-server ~]# /etc/init.d/rpcbind start
Starting rpcbind:                                          [  OK  ]
[root@nfs-server ~]# ps -ef |grep rpc
rpc        1290      1  0 05:31 ?        00:00:00 rpcbind
root       1295   1162  0 05:31 pts/0    00:00:00 grep rpc

然后再启动nfs服务:

[root@nfs-server ~]# /etc/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
正在启动 RPC idmapd:                                      [确定]

设置开机启动:

[root@nfs-server ~]# chkconfig nfs on
[root@nfs-server ~]# chkconfig rpcbind on

确认开机启动状态:

[root@nfs-server ~]# chkconfig –list nfs
nfs  0:off  1:off  2:on  3:on   4:on   5:on   6:off

[root@nfs-server ~]# chkconfig –list rpcbind
rpcbind 0:off  1:off  2:on  3:on   4:on  5:on   6:off

客户端操作:

启动rpc服务,不需要启动nfs服务。

[root@nfs-client ~]# /etc/init.d/rpcbind start
正在启动 rpcbind:                                         [确定
设置开机启动:
[root@nfs-client ~]# chkconfig rpcbind on
[root@nfs-client ~]# chkconfig –list rpcbind
rpcbind 0:off  1:off  2:on  3:on   4:on  5:on   6:off

 

 

配置服务端

创建共享目录
[root@nfs-server ~]#  mkdir /data

​修改配置文件 (默认为空)
[root@nfs-server ~]# vim /etc/exports
#share data 20160709  注释
/data 192.168.0.0/24(rw,sync)
共享目录 授权网段或者ip(给与什么权限【ro代表只读】,同步到磁盘[不同参输用逗号隔开])

重启nfs服务
[root@nfs-server ~]# /etc/init.d/nfs reload

查看共享结果: (如果没有就要检查出什么问题了)
[root@nfs-server ~]# showmount -e localhost
Export list for localhost:
/data 192.168.0.0/24

客户端检查

[root@nfs-client ~]# showmount -e 192.168.199.235
Export list for 192.168.199.235:
/data 192.168.0.0/24

挂载:

[root@nfs-client ~]# mount -t nfs 192.168.199.235:/data /mnt  挂载成功不会有提示!
挂载完我们是没有写入的权限的,是需要nfsnobody用户的权限,

授权(如果是不需要写,则不需要此步骤)
Chown –R nfsnobody /data

 

nfs相关命令:

exportfs –rv  等同于 /etc/init.d/nfs reload
exportfs 不但可以加载配置生效,也可以通过命令直接共享命令,越过/etc/exportfs,但是重启失效。
Showmount 查看nfs 配置 及挂载结果的命令。
/var/lib/nfs/etab nfs配置文件完整参数设定的文件,(有很多没有配置但是默认就有的nfs参数)
NFS默认配置文件路径 /etc/exports   [Centos 5.8 y以上默认有此文件,但是是空的。]
nfsstat 命令查看nfs状态

挂载参数:

nfs客户端地址:可为单独ip地址,可为网段,能解析主机名或者域名,也可以用*来匹配。
sync同步(慢,写磁盘)请求写数据,数据同步写入到nfsserver硬盘后才返回。
async异步(快,可能丢失)请求写数据,先返回请求,在将数据写人到内存缓存和硬盘,可以提升性能,但降低安全。
rw(读写)
ro(只读)
all_squash  无论访问nfs共享目录用户身份如何,都被压缩成匿名用户,在多个客户端同时读写时很有用。

 

NFS挂载时出现“access denied by server while mounting”的解决方法
NFS是非常通用和简单的Linux下共享协议,但是最近安装了一次,在另一台CentOS用mount挂载时却出现“access denied by server while mounting”这个错误;

去网上搜索了一下,遇到这个错误的人也很多,但是原因都不大相同,在这里我就总结一下出现此错误的几种原因:

1、使用了非法端口,也就是使用了大于1024的端口。
这个错误,可以通过查看日志确认:
[root@local~ /]# cat /var/log/messages | grep mount
Jan 2 12:49:04 localhost mountd[1644]: refused mount request from 192.168.0.100 for /home/nfsshare/ (/home/nfsshare): illegal port 1689

解决办法:
修改配置文件/etc/exports,加入 insecure 选项,重启nfs服务,再尝试挂载。
/home/nfsshare/  *(insecure,rw,async,no_root_squash)

2、NFS版本问题
编辑/etc/sysconfig/nfs文件,找到下面:

#Turn off v2 and v3 protocol support
#RPCNFSDARGS=”-N 2 -N 3″
#Turn off v4 protocol support
RPCNFSDARGS=”-N 4″  /*把这句前面的#号去掉*/

最后保存,重启nfs服务,再尝试挂载;如果挂载不上,可尝试在后面加-o nolock参数。

3、查看客户端挂载的目录是否具备读写权限,添加相应权限即可。

4、nfs服务器上的/etc/hosts中设置了客户端机器IP对应域名,去掉即可。

分享