RHCE(NFS介绍)

25 篇文章 0 订阅

一、介绍

网络文件系统,英文Network File System(NFS),是一种基于TCP传输协议的文件共享习通。
NFS的CS体系中的服务端启用协议将文件共享到网络上,然后允许本地NFS客户端通过网络挂载服务端共享的文件。

1、来源
2、特点
	1、方便
	2、资源占用少
	3、使用率高

输出 export

二、NFS原理

在这里插入图片描述
当NFS服务器设置好一个共享目录,且设置好授权ip以及权限后,有访问权的客户机就可以将此目录挂载到自己某个挂载点。

既然NFS的客户及服务器是基于TCP会话建立访问的,那么两者能够互访的前提是知道互相的IP和程序的端口号。
对于IP,服务器是设置对某一IP网段授权的;客户机是设置挂载某个网络目录的。所以他们IP互知。
对于端口号。NFS的端口号大概位于2049,但是因为文件系统非常复杂,往往的情况是端口号不固定(2049+的形式),以及NFS需要启动额外的端口,这些端口是1024以下的随机端口。那么客户机如何知道服务器的端口号呢?答案是:通过rpcbind实现。

三、NFS工作机制

在这里插入图片描述

1)首先服务器端启动RPC服务,并开启111端口
2)服务器端启动NFS服务,并向RPC注册端口信息
3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

在这里插入图片描述
:rpc重启后,nfs的注册信息会丢失,因此需要重启nfs完成注册。

四、部署

1.安装:
	yum install nfs-utils -y
2.启动:
	systemctl status rpcbind.server 确保rpc启动
	systemctl start nfs 启动nfs
	systemctl enable nfs 确保开机启动
3.验证:
	systeam is-active nfs
4.配置共享文件
	vim /etc/exports
5.共享格式: 共享目录绝对路径 授权的ip或网段(权限1,权限2)
权限用途
ro只读
rw读写访问
sync客户端写入数据同步到服务器后才会返回
no_root_squash客户端root用户具有完全的权限
root_squashroot用户权限被映射成服务端上的普通用户nobody
anonuid指定匿名用户的UID
anongid指定匿名用户的GID
1、进程
	rpc.nfsd	NFS守护进程    remote   Procedure  call
	rpc.mountd	管理文件系统和权限
	portmap,rpcbind	端口映射
	uid,gid
	
	
2、常用目录和文件
	/etc/exports
	/usr/sbin/exportfs
	/usr/sbin/showmount
	/var/lib/nfs/*tab
		etab	记录NFS分享出来的目录的完整权限设定值
		xtab	记录曾经链接到此NFS主机的相关客户端数据
		
		
3、配置文件
	vim /etc/exports
	格式
	输出目录	客户端 选项	[访问权限,用户映射,其他] 
	
	/haha       192.168.153.0/24(rw)
	
	输出目录:	需要共享的目录路径
	客户端:		服务的用户对象
	选项:		共享的权限,紧跟客户端列
	
	
4、客户端
	指定ip地址的主机:192.168.171.144
	指定子网中的所有主机:192.168.171.0/24, 192.168.171.0/255.255.255.0
	指定域名的主机:www.baidu.com
	指定域中的所有主机:*.baidu.com
	所有主机:*
	
	
5、选项
	访问权限选项:
		ro	只读
		rw	读写
		
	用户映射选项:
		all_squash		将所有用户和组映射为匿名用户和组
		no_all_squash	对普通用户不映射(默认设置)
		root_squash		将root用户和组映射为匿名用户和组(默认设置)
		no_root_squash	对root用户和组不映射
		anonuid=xxx		将用户映射为服务器上的指定UID
		anongid=xxx		将用户组映射为服务器上的指定GID
		
	其他选项:
		secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
		insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
		sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
		async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
		wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
		no_wdelay:若有写操作则立即执行,应与sync配合使用;
		subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
		no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
		
	#配置完成后,重启服务
	systemctl restart nfs-server.service 
			
	#用以下命令来查看共享的nfs
	showmount -e 192.168.254.138
			
	#在客户端上进行挂载使用
	mount 192.168.254.136:/test /mnt		
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值