码迷,mamicode.com
首页 > 其他好文 > 详细

NFS(网络文件系统)

时间:2017-11-24 18:00:14      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:linux、nfs

系统版本:CentOS7.X

概念


NFS(Network File System)名为网络文件系统,是一种用于网络中主机与主机之间共享文件的一种服务。它把主机上要共享的目录通过文件系统的方式挂载到网络中的主机上,让网络中的主机访问共享目录就如同访问自己本地的磁盘分区一样。

NFS一般用于企业内网文件共享,相对Samba传输效率较好,相对vSFTP安全性较低。

NFS依赖于RPC(远程调用)服务,NFS支持的功能很多,每启动一个功能都需要启用一些端口来传输数据,NFS功能所对应的端口都是随机去用一些小于1024的端口。而RPC的最主要的功能就是定位对应功能的端口号并告诉给客户端连接。

NFS启动的RPC Daemons(守护进程):

  • rpc.nfsd   :NFS主要服务进程,用于管理挂载信息,判断登陆用户的ID,身份验证等。

  • rpc.mountd :当客户端成功访问并将共享目录挂载到本地,提供文件权限管理功能。

  • rpc.lock   :提供文件是否锁定(Lock)方面功能。(非必要开启)

  • rpc.statd  :用来检查文件的一致性,用于恢复损坏的文件,与rpc.lock相关,需要客户端与服务端同时开启此功能。(非必要开启)



服务端:搭建NFS服务


一、安装nfs-utils、rpcbind软件包

# yum -y install nfs-utils rpcbind

二、创建要共享的目录并授权,将目录增加到NFS中托管

# mkdir /data                       (创建要共享的目录

# chmod 007 /data                   (授权共享目录,007表示其他用户将拥有可读、可写、可执行权限。NFS默认用户为“nfsnobody”,也可以使用“chown nfsnobody.nfsnobody /data”命令授权。

# vi /etc/exports                   (将目录加入到NFS中托管,在exports文件中增加条目

/data 192.168.116.0/24(rw,sync)      #书写格式:/共享目录 指定IP网段/掩码(参数1,参数2)

三、开启服务

# systemctl start rpcbind           (必须首先启动RPC服务

# systemctl start nfs               (启动NFS服务

# netstat -lnupt |grep rpc          (查看端口情况



客户端:挂载NFS共享目录


一、挂载NFS共享目录到本地

# mount 192.168.116.130:/home /mnt  #挂载命令:mount NFS服务器地址:/共享目录  本地挂载目录



配置完整解读


配置文件路径:/etc/exports

配置格式:

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


配置说明

一、NFS共享的目录:

使用绝对路径指定目录路径,如:/data

二、NFS客户端地址:

指定主机IP,如:192.168.1.1

指定主机网段,如:192.168.1.0/24

指定所有主机,如:*

三、参数:

ro                      #拥有只读的权限

rw                      #拥有可读可写的权限

sync                    #将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性(同步传输)

async                   #将数据先保存在内存缓冲区中,必要时才写入磁盘(异步传输)

all_squash              #将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)

no_all_squash           #与all_squash取反(默认设置),默认使用nfsnobody匿名用户

root_squash             #将root用户及所属组都映射为匿名用户或用户组(默认设置)

no_root_squash          #与rootsquash取反

anonuid=xxx             #将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=XXX)

anongid=xxx             #将远程访问的所有用户组都映射为匿名用户组账户


NFS(网络文件系统)

标签:linux、nfs

原文地址:http://blog.51cto.com/10978134/2043983

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!