NFS:Network FIle System,借助RPC实现其功能。

NFS是一种RPC:远程过程调用,Remote Procedure Call Procotol,nfs-utils

RPC是一个公共共享的功能(rpcbind),进程名portmapper,rpcinfo可查询

系统调用有read(),write(),open(),close()

nfs传输半结构化数据

 

半结构化数据

能够自我描述的数据:

         XML: eXtended Mark Language

         JSON

         RESTful:http封装

 

NFS:SUN公司研发

NFSv1

NFSv2,早期基于udp工作,很多特性是用于局域网

NFSv3,基于TCP/UDP协议工作,无状态的。

NFSv4.0,

NFSv4.1,实现并行存储,分布式文件系统功用

NFSv4.2,pNFS:parallel,并行的NFS,允许并行存储

 

NIS:Network Information System

        作为一个帐号存贮基地存在着。由于传输是明文的,建议局域网内使用。现在都用LDA来集中存储用户密码

 

NFS:仅支持基于IP的认证

NFS包括:2049,TCP/UDP

      idmapd,映射远程文件元数据的

      mountd,挂载守护进程服务

      nfsd,守护进程,拆分理解用户rpc请求并与内核联系

建立nfs共享_close

建立nfs共享_Network_02 

 

  • 配置NFS

58`15``

/etc/exports文件

directory or file system      client(option1,option2)   client(option1,option2)

可以man exports来查询帮助手册

建立nfs共享_Network_03

 

 

建立文件夹

编辑文件vim /etc/exports

建立nfs共享_Network_04 

文件系统           客户端(选项)       客户端(选项)

客户端:

        IP,FQDN/DOMAIN,NETWORK

选项():

        rw :NFS允许客户端读写访问,默认是只读(RO)

        async :异步,默认是开启的

        secure:使用1024一下的TCP端口实现NFS连接,指定insecure可以禁用此选项

 

用户映射

        no_root_squash,不挤压管理员

        root_squash:不允许root用户访问挂载上来的NFS

        all_squash:这个选项对于公共访问的NFS非常有用,它会限制所有的UID和GID,只适用匿名用户,默认是no_all_squash

        anonuid和anongid:这两个选项将匿名UID和GID修改成特定用户和组账号

重启服务

建立nfs共享_write_05

通过命令 showmount –e NS-IP,可以查询nfs信息

建立nfs共享_close_06

如果命令不存在,可以安装showmount

挂载NFS文件系统

      mount –t nfs SERVER:/path/to/sharedfs /path/to/mount-point

showmount -a

exportfs可以不用重启,就导出关闭文件系统

建立nfs共享_write_07

-ar 重新导出所有文件系统

-au 关闭导出的所有文件系统

-U FS关闭指定的导出的FS

 

开机自动挂载:

       /etc/fstab

SERVER:  /PATH/TO/EXPORTED_FS    /mount_point nfs  default   0 0

 

 

建立nfs共享,将主机172.16.0.1上的目录/magedu通过nfs共享给172.16.0.0/16(可根据自己的网络情况来设置)网络的主机以读写方式使用;

安装nfs

yum install nfs

我的主机IP是 192.168.1.113,在根目录下建立文件夹

建立nfs共享_Network_08

编写/etc/exports

建立nfs共享_write_09

导入

建立nfs共享_close_10

在客户端查看,成功

建立nfs共享_Network_11