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
58`15``
/etc/exports文件
directory or file system client(option1,option2) client(option1,option2)
可以man exports来查询帮助手册
建立文件夹
编辑文件vim /etc/exports
文件系统 客户端(选项) 客户端(选项)
客户端:
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修改成特定用户和组账号
重启服务
通过命令 showmount –e NS-IP,可以查询nfs信息
如果命令不存在,可以安装showmount
挂载NFS文件系统
mount –t nfs SERVER:/path/to/sharedfs /path/to/mount-point
showmount -a
exportfs可以不用重启,就导出关闭文件系统
-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,在根目录下建立文件夹
编写/etc/exports
导入
在客户端查看,成功