一、NFS服务简介

Nfs 服务详解_客户端

Linux NFS服务器的安装与配置详解

二、系统环境:

[root@zhangcun ~]# cat /etc/redhat-release ##查看系统版本信息

CentOS release 6.7 (Final)

[root@zhangcun ~]# uname -r                  ##查看内核信息

2.6.32-573.el6.x86_64

[root@zhangcun ~]# uname -m                  ##查看系统是32位还是64位的

x86_64

三、服务端配置

要部署NFS服务,需要安装下面的软件包:

1)nfs-utils:NFS服务的主程序

2)rpcbing:NFS可以视为一个RPC的主程序,在启动任何一个RPC程序之前,需要做好端口和功能的对应映射工作

1)查看NFS的软件包

nfs和rpc默认是没有安装的,需要yum安装

2)CentOS6.7默认没有安装软件包,可以使用yum  install  nfs-utils rpcbind -y命令来安装NFS软件

[root@zhangcun ~]# yum install nfs-utils rpcbind  -y

[root@zhangcun ~]# rpm -qa nfs-utils rpcbind

nfs-utils-1.2.3-70.el6_8.2.x86_64

rpcbind-0.2.0-12.el6.x86_64

3)启动NFS服务

第一步:先启动rpc服务

[root@zhangcun ~]# /etc/init.d/rpcbind start  #启动rpc服务

[root@zhangcun ~]# /etc/init.d/rpcbind status  #查看rpc服务状态

rpcbind (pid  4269) 正在运行...

第二步:启动NFS服务

[root@zhangcun ~]# /etc/init.d/nfs start    #启动nfs服务

[root@zhangcun ~]# /etc/init.d/nfs status    #查看nfs服务状态

rpc.svcgssd 已停

rpc.mountd (pid 3282) 正在运行...

nfsd (pid 3298 3297 3296 3295 3294 3293 3292 3291) 正在运行...

rpc.rquotad (pid 3277) 正在运行...

[root@zhangcun ~]# /etc/init.d/nfs start

启动 NFS 服务:                                            [确定]

关掉 NFS 配额:无法注册服务: RPC:无法接收; errno = 拒绝连接

rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).

启动 NFS mountd:                                          [失败]

启动 NFS 守护进程:

[root@zhangcun ~]# rpcinfo -p 192.168.1.129  #查看NFS服务向rpc注册的端口信息,主端口号是:111

p    875  rquotad

第三步:检查开机是否自启动

[root@zhangcun ~]# chkconfig nfs on

[root@zhangcun ~]# chkconfig rpcbind on

[root@zhangcun ~]# chkconfig --list nfs

nfs            0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

[root@zhangcun ~]# chkconfig --list rpcbind

rpcbind        0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

[root@zhangcun ~]# tail -2 /etc/rc.local 

/etc/init.d/rpcbind start

/etc/init.d/nfs  start

在工作中,大都是统一按照运维规范将服务的启动命令放到/etc/rc.local里面,而不是用chkconfig来管理的,所有的服务一旦开机自启动就必须放到/etc/rc.local中。这样的好处是,一旦管理此服务器的人员离职忙活着业务迁移都可以通过/etc/rc.local很容易的查看到服务器对应的相关服务,可以方便的运维管理。


4)NFS服务端配置文件的配置

NFS默认配置文件路径是:/etc/exports,文件默认是空的。

/etc/exports配置文件的格式是:

NFS共享的目录    NFS客户端地址(参数1,参数2)

123456 [root@zhangcun ~]# cat /etc/exports 

#share /data by kaolacang for zhangcun at 20160425 

/data 192.168.1.0/24(rw,sync)  ##一条配置搞定NFS配置文件

其中:/data是服务器端共享的目录

v NFS共享的目录:为NFS服务器端要共享的实际目录,要用决定路径,如(/data)。注意共享目录的本地权限,需要读写权限,一定要让本地目录可以被NFS客户端的用户读写

v NFS客户端地址:为NFS服务器端授权的可访问的共享目录的NFS客户端地址,可以为单独的ip地址或者主机名,域名等,也可以是整个网段的地址。

[root@zhangcun ~]# mkdir /data -p

[root@zhangcun ~]# chown -R nfsnobody:nfsnobody /data

[root@zhangcun ~]# ls -ld /data

drwxr-xr-x 6 nfsnobody nfsnobody 4096 12月  8 20:17 /data

[root@zhangcun ~]# /etc/init.d/nfs reload

Export list for 192.168.1.129:

/data 192.168.1.0/24

四、客户端配置

1.客户端和服务端一样,也要安装nfs和rpm的安装包。(配置见服务器端)

2.客户端需要启动rpc服务,加入开机自启动,不需要启动nfs服务。(配置见服务器端)

3.测试:

第一步:ping,能不能ping通服务器端ip地址

[root@zhangcun ~]# ping 192.168.1.129

PING 192.168.1.129 (192.168.1.129) 56(84) bytes of data.

64 bytes from 192.168.1.129: icmp_seq=1 ttl=64 time=0.383 ms

64 bytes from 192.168.1.129: icmp_seq=2 ttl=64 time=0.434 ms

64 bytes from 192.168.1.129: icmp_seq=3 ttl=64 time=0.420 ms

64 bytes from 192.168.1.129: icmp_seq=4 ttl=64 time=0.437 ms

64 bytes from 192.168.1.129: icmp_seq=5 ttl=64 time=0.439 ms

^C

--- 192.168.1.129 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4997ms

rtt min/avg/max/mdev = 0.383/0.422/0.439/0.030 ms

第二步:telnet服务端的111端口

[root@zhangcun ~]# telnet 192.168.1.129 111

Trying 192.168.1.129...

Connected to 192.168.1.129.

Escape character is '^]'.

第三步:showmount服务端

[root@zhangcun ~]# showmount -e 192.168.1.129

Export list for 192.168.1.129:

/data 172.16.1.0/24

第四步:挂载,文件共享

[root@zhangcun ~]# mount -t  nfs 192.168.1.129:/data/ /mnt

第五步:查看是否挂载成功了

[root@zhangcun ~]# df -h

Filesystem          Size  Used Avail Use% Mounted on

/dev/sda3          8.8G  1.5G  6.9G  18% /

tmpfs              491M    0  491M  0% /dev/shm

/dev/sda1          190M  36M  145M  20% /boot

192.168.1.129:/data/  8.8G  1.5G  7.0G  18% /mnt

说明客户端测试成功,配置完成。