NFS:网络文件系统

用于linux 和linux 之间或者linux和unix之间

将nfs服务器的共享文件夹挂载到客户端,使用协议RPC(远程进程调度)

clip_p_w_picpath002

NFS使用rpc

1.当服务器端的nfs和rpc 服务 启动后会形成很多进程:mountd ,nfs,nlockmgr,status进程。

2. 客户端有rpc.mountd ,rpciod , nlockmgr,status进程。

3.客户端需要挂载服务器端的文件,使用rpc.mountd进程项服务器的portmapper 发送请求连接。

4.服务器端的portmapper 收到请求后,向客户端回应,同时告诉客户端使用哪个端口与服务器相连。

5.客户端使用rpc.mountd 请求服务器端进程mountd,进行挂载。

6.挂载完毕后,客户端使用进程rpciod 调用服务端的nfs进程,进行磁盘io操作。

7.两端都调用nlockmgr锁机制,当服务器端在编写文档时,禁止客户端的访问。

8. 为了维持连接,两端都使用status进程。

配置NFS服务:

1.查看是否安装nfs服务器

[[email protected] ~]# rpm -qa |grep nfs

clip_p_w_picpath004

2.启动nfs服务,设置为开机自启动,chkconfig nfs on

clip_p_w_picpath006

3.查看自己的rpc进程,若查看其他主机上的rpc进程可使用rpc -p ip

[[email protected] ~]# rpcinfo -p

clip_p_w_picpath007

4.

若要共享一个文件夹,需要在共享清单中指明该文件,文件名和共享名要一致,不可更改。

[[email protected] ~]# vim /etc/exports ,可以使用 man 5 exports 查看语法结构如下:

物理文件夹 来源(权限,参数)

/public 192.168.101.0/24(ro,sync)

5.导出共享清单

[[email protected] ~]# exportfs -rv r:导出 v:详细信息

clip_p_w_picpath009

6.客户端查看是否能够访问:

查看自己的rpc进程是否开启

[[email protected] ~]# rpcinfo -p

clip_p_w_picpath010

查看对方的exports文件是否可以访问:

[[email protected] ~]# showmount -e 192.168.101.250

clip_p_w_picpath012

7.创建挂载点,挂载服务器端共享文件

[[email protected] ~]# mkdir /mnt/nfs

[[email protected] ~]# mount 192.168.101.250:/public /mnt/nfs/

clip_p_w_picpath014

clip_p_w_picpath016

8.开机自动挂载

编辑文件系统表/etc/fstab

192.168.101.250:/public /mnt/nfs nfs ro,soft,intr 0 0

soft:挂载出错时,发出警告。intr:挂载失败时,立即中断挂载。否则系统将无法启动

clip_p_w_picpath018

9.先卸载掉已经挂载的,使用命令:umount /mnt/nfs

使用命令mount -a ,挂挂载成功

clip_p_w_picpath020

10.

这种方式的挂载需要消耗大量的资源来维持连接,可以使用自动挂载当切换到该目录时进行挂载,退出时,取消挂载

安装autofs软件包

clip_p_w_picpath022

 

11.编辑autofs的配置文件 /etc/auto.master

/mnt/nfs /etc/auto.nfs --timeout=60

当访问/mnt/nfs下的文件夹时,查看/etc/auto.nfs 的配置,当退出/mnt/nfs后60 秒,自动取消连接

clip_p_w_picpath024

12.产生并编辑/etc/auto.nfs文件。(server1目录不用创建)

[[email protected] ~]# vim /etc/auto.nfs

server1 -ro,soft,intr 192.168.101.250:/public

clip_p_w_picpath026

13. 重启autofs 服务

[[email protected] ~]# service autofs restart

clip_p_w_picpath028

14.当切换到/mnt/nfs/server1时,自动挂载。退出server1后60秒后将 自动取消挂载

clip_p_w_picpath030

15. 创建一个可读写的共享文件/abc

在服务器端创建目录/abc

clip_p_w_picpath032

16.将该目录写入共享清单

[[email protected] ~]# vim /etc/exports

clip_p_w_picpath034

17.导出共享清单

clip_p_w_picpath036

18.在客户端

仍监控/mnt/nfs挂载点

[[email protected] ~]# vim /etc/auto.master

clip_p_w_picpath038

[[email protected] ~]# vim /etc/auto.nfs

server2 -rw,soft,intr 192.168.101.250:/abc

clip_p_w_picpath040

19.重启autofs服务

clip_p_w_picpath042

clip_p_w_picpath044

20.无法创建文件,权限不足

clip_p_w_picpath046

21修改服务器端的权限

[[email protected] /]# chmod o+wt /abc

clip_p_w_picpath048