nfs

发布时间 2023-09-11 15:43:50作者: 要快乐不要emo

nfs

网络文件系统
简介:通过rpc调用,使用rpcbind作为注册中心来实现对远程文件系统的调用
原理:使用tcp/ip协议进行通信,在服务端通过rpcbind来作为注册中心,c向其请求s的地址,进行网络通信

1、安装

yum -y install nfs-utils # 自动解决依赖关系
systemctl enable --now nfs-server

2、配置

/etc/exports
/etc/exports.d/*.exports
主要是管理共享规则,包括IP规则和文件权限
vim /etc/exports
# 格式
# dir(要共享的目录)  IP|网段(共享权限) IP|网段(共享权限) 。。。 可以写多个匹配规则
# 指定共享出去的文件远程连接后的文件使用权限
默认选项:(ro,sync,root_squash,no_all_squash)
ro,rw 只读和读写
async 异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性低
sync(1.0.0后为默认)同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高
root_squash (默认)远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody
no_root_squash 远程root映射成NFS服务器的root用户
all_squash 所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody
no_all_squash (默认)保留共享文件的UID和GID
# * anonuid和anongid 指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用

3、查看

# 查看共享的文件
客户端: showmonut -e 远程主机ip
服务端: exportfs -v
# 管理要共享的文件系统 通常配置完之后要对共享出去的文件目录做手动配置
exportfs
-v #查看本机所有NFS共享
-r #重读配置文件,并共享目录
-a #输出本机所有共享
-au #停止本机所有共享
# 管理rpcbind中注册地址
rpcinfo
常用选项:
 -p [hostname] # 查看注册的rpc程序
 -s [hostname] # 查看rpc注册程序

4、使用

# 挂载
	手动: mount ip:/path /local_path
	/etc/fstab:  172.16.0.1:/public   /mnt/nfs   nfs   defaults,_netdev  0  0  (指定为网络设备,文件系统为nfs)