文章目录
NFS服务(大多数用于局域网内部)
showmount -e ip
可以查看到nfs共享的内容
NFS:Network File System 网络文件系统,基于内核的文件系统。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件
,基于RPC(Remote Procedure Call Protocol远程过程调用
)实现
不需要下载,在本地修改(跨网络的)
NFS优势:节省本地存储空间
,将常用的数据,如home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用
NFS文件系统
内核级别
VFS虚拟文件系统
NFS服务介绍
centos6
:服务命为: nfs 依赖于rpcbind(所以得先启动rpcbind)
centos7
:服务命为: nfs-server
centos7会自动解决依赖性(比如rpcbind没有启动,启动nfs-server,会自动将rpcbind启动起来)
用rpcinfo -p
查看端口
软件包:nfs-utils
Kernel支持:nfs.ko
端口:2049
(nfsd), 其它端口由portmap(111)
分配
配置文件:/etc/exports,/etc/exports.d/*.exports
CentOS7不支持同一目录同时用nfs和samba共享
,因为使用锁机制不同
相关软件包:rpcbind(必须),tcp_wrappers
CentOS6
开始portmap进程由rpcbind代替
NFS服务主要进程:
rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
rpc.lockd 非必要,管理文件锁,避免同时写出错
rpc.statd 非必要,检查文件一致性,可修复文件
日志:/var/lib/nfs/
centos6启动nfs服务
service rpcbind start
service nfs start
centos7启动NFS服务
systemctl start nfs-server
enable 开机自启动
NFS配置文件
wildcards:主机名通配,例如*.magedu.com
,IP不可以
netgroups:NIS域的主机组,@group_name
anonymous:表示使用*通配所有客户端
每个条目指定目录导出到的哪些主机,及相关的权限和选项
• 默认选项:(ro,sync,root_squash,no_all_squash)
• ro,rw 只读和读写
• async 异步,数据变化后不立即写磁盘,性能高
• sync(1.0.0后为默认)同步,数据在请求时立即写入共享
• no_all_squash (默认)保留共享文件的UID和GID
• all_squash 所有远程用户(包括root)都变成nfsnobody全压榨
• root_squash (默认)远程root映射为nfsnobody,UID为65534,早期版本是4294967294 (nfsnobody)压榨
• no_root_squash 远程root映射成root用户全不压榨(不建议,不安全)
• anonuid
和anongid
指明匿名用户映射为特定用户UID和组GID
,而非nfsnobody,可配合all_squash使用
也就是全部压榨为这个UID
(很有意义
)
anonuid
和anongid
用于:把凭证资源的一致性