NFS(Network File System)即网络文件系统,是由Sun公司开发的一种经过网络方式共享系统的通用共享解决方案。目前NFS有3个版本,分别为NFSv2、NFSv3、NFSv4。NFSv2是一个古老的版本,但却被众多的操做系统所支持,这样它的兼容性会更好;NFSv3拥有更多的特定,包括更快的速度、更大的单个文件大小、更多便于排错的错误及成功信息、对TCP协议的支持等;NFSv4提供了有状态的链接,更容易追踪链接状态,加强了安全特性。Centos6.3版本默认使用版本NFSv4提供NFS网络文件系统共享服务,NFS监听在TCP 2049端口。linux
RPC(Remote Procedure Call)是远程过程调用协议,RPC协议为远程通讯程序管理通讯双方所需的基本信息,这样NFS服务就能够专一于如何共享数据,至于通讯的链接以及链接的基本信息,则全权委托给RPC管理,Centos6.3系统由rpcbind服务提供RPC协议的支持,目前NFSv4虽然再也不须要与rpcbind直接交互,但rpc.mountd依然是NFSv4所必须的服务。因此,若是在Centos6.3平台上实现NFS共享,须要同时启动NFS与rpcbind服务。vim
NFS服务器经过读取/etc/exports配置文件设定客户端能够访问哪些NFS共享文件系统。该文件的书写规则以下。安全
1. 空白行将被忽略服务器
2. 以#符号开头的内容为注释网络
3. 配置文件中能够经过\符号转义换行异步
4. 每一个共享的文件系统须要独立一行条目async
5. 每一个客户端主机列表须要使用空格隔开ide
6. 配置文件支持通配符性能
一条完整的共享条目语法结构以下,其中,客户端主机能够是一个网段、单台主机或主机名。优化
/共享路径客户端主机(选项)
也能够为多个客户主机设置不一样的访问选项,语法结构以下:
/共享路径客户端主机1(选项)客户端主机2(选项)
不指定选项,默认属性为ro、sync、wdelay、root_squash。具体的NFS属性及其对应的含义见表4-1,查看exports的帮助文档能够找到不少服务器配置模版。
表4-1
NFS选项 |
功能描述 |
NFS选项 |
功能描述 |
ro |
只读共享 |
rw |
可读可写共享 |
sync |
同步写操做 |
async |
异步写操做 |
wdelay |
延时写操做 |
root_squash |
屏蔽远程root权限 |
no_root_squash |
不屏蔽远程root权限 |
all_squash |
屏蔽全部的远程用户权限 |
计算机对数据进行修改时会先将修改的内容写入快速的内存,随后才会慢慢写入硬盘,async选项容许NFS服务器在没有彻底把数据写入硬盘前就返回成功消息给客户端,而此时数据实际还存放在内存中,但客户端则显示数据已经写入成功。注意,该选项仅影响操做消息的返回时间,并不决定如何进行写操做。sync选项将确保在数据真正写入硬盘后才会返回成功的消息。
wdelay为延迟写入选项,也就是说,它决定了先将数据写入内存,在写入硬盘,而后将多个写入请求合并后写入硬盘,这样能够减小对硬盘I/O的次数,从而优化性能,但有可能致使非正常关闭NFS时数据丢失状况的发生。与此相反的选项是no_wdelay,但该选项与async选项一块儿使用时将不会生效,由于async是基于wdelay实现对客户端的一种响应功能。
客户端使用普通用户链接服务器时,默认状况下,若是客户端使用的帐户UID在服务器上也有相同的帐户UID,则服务器将使用服务器本机上该UID帐户进行读写操做,若是客户端访问服务器所使用的帐户UID不在服务器上,则服务器自动将帐户转换为nobody帐户。此外,若是服务器端对共享属性配置了all_squash选项,则服务器会根据anonuid选项的值,将全部的帐户自动转换为匿名帐户。
NFS 网络文件系统 共享之后能够讲远程的文件目录共享到本地磁盘,能够复制、写入、删除,跟本地的文件是没什么区别的。
# 将本机的目录共享出来。其余主机能够挂载到本地、、
下面咱们来用实验实现NFS服务。
1.首先搭建yum源。
2.yum -y install nfs*
3.vim/etc/exports 4. 编辑想把本地哪一个目录共享出去。 /free * (表明任何网段) 或者192.168.1.0/24.(rw,sync)#权限,和同步
5.mkdir /free cd /free touch hujianli.txt
6.service rpcbind restart 必须重启rpcbind服务
7.而后再启动nfs服务 service nfs restart
8.查看是否共享成功:showmount -e localhost(或者本机ip)
9.service iptables stop setenforce 0 必须关闭防火墙和selinux
10.保证两台主机之间可以ping通
11.客户机也必须配置nfs客户端 yum list 进行查看 没有的话就要先进行安装 mkdir /free2 mount -t nfs 192.168.1.10:/free /free2
df -Th 能够查看是否成功挂载