深入解析NFS:从理论基础到实战部署

1. NFS理论基础

1.1. NFS服务介绍
1.1.1. 什么是NFS

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件

1.1.2. NFS的文件传输

NFS这个服务器的端口开在2049,但由于文件系统非常复杂。因此NFS还有其他的程序去启动额外的端口,这些额外的用来传输数据的端口是随机选择的,是小于1024的端口;既然是随机的那么客户端又是如何知道NFS服务器端到底使用的是哪个端口呢?这时就需要通过远程过程调用(Remote Procedure Call,RPC)协议来实现了.RPC服务(portmap 或rpcbind服务)

1.1.3. 什么是RPC服务

RPC(Remote Procedure Call)即远程过程调用。RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的port上去

1.2. NFS的通讯原理

由于NFS启用的功能相当多,所以对应的端口不固定,需要RPC来统一管理NFS端口,PRC最主要的功能就是指定每个NFS功能所对应的port number,并且通知客户端,让客户端可以连接到正常端口上去

1.2.1. RPC又是如何知道每个NFS功能的端口

首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口,RPC就会记录下这些端口,并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那么服务器端的RPC就会将之前记录的NFS端口信息告知客户端。如此客户端就会获取NFS服务器端的端口信息,就会以实际端口进行数据的传输了。

1.2.2. 什么是portmap?

功能:主要是把RPC程序号转化为Internet的端口号


内容解释:

1)首先服务器端启动RPC服务,并开启111端口

2)服务器端启动NFS服务,并向RPC注册端口信息

3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口

4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端

1.3. NFS的优点和缺点
1.3.1. 优点

a.节省本地存储空间将常用的数据存放在一台服务器可以通过网络访问

b.简单容易上手

c.方便部署非常快速,维护十分简单

1.3.2. 缺点

a.局限性容易发生单点故障,及server机宕机了所有客户端都不能访问

b.在高并发下NFS效率/性能有限

c.客户端没用用户认证机制,且数据是通过明文传送,安全性一般(一般建议在局域网内使用)

d.NFS的数据是明文的,对数据完整性不做验证

e.多台机器挂载NFS服务器时,连接管理维护麻烦

实验一:
NFS-Server:
[root@localhost ~]# yum -y install nfs*
[root@localhost ~]# systemctl restart nfs-idmapd.service 
[root@localhost ~]# systemctl restart nfs-server.service 
[root@localhost ~]# systemctl status nfs-server.service 
[root@localhost ~]# mkdir -p /test
[root@localhost ~]# chmod 777 /test
[root@localhost ~]# echo "/test *(rw,sync,no_root_squash)" >> /etc/exports
[root@localhost ~]# exportfs -r
[root@localhost ~]# showmount -e
Export list for localhost.localdomain:
/test *

NFS-Client:
[root@localhost ~]# yum -y install nfs*
[root@localhost ~]# showmount -e 192.168.5.4
Export list for 192.168.5.4:
/test *
[root@localhost ~]# mkdir -p /mount	//创建挂载点
[root@localhost ~]# mount -t nfs 192.168.5.4:/test /mount		//挂载点
[root@localhost ~]# df -Th					//检查系统磁盘使用情况及挂载
文件系统          类型      容量  已用  可用 已用% 挂载点
devtmpfs          devtmpfs  4.0M     0  4.0M    0% /dev
tmpfs             tmpfs     369M     0  369M    0% /dev/shm
tmpfs             tmpfs     148M  3.9M  144M    3% /run
/dev/sda3         xfs        17G   13G  4.8G   72% /
/dev/sda1         xfs       960M  256M  705M   27% /boot
tmpfs             tmpfs      74M     0   74M    0% /run/user/0
/dev/loop0        iso9660    11G   11G     0  100% /mnt
192.168.5.4:/test nfs4       17G   13G  4.8G   72% /mount
[root@localhost ~]# cd /mount/
[root@localhost mount]# ls
[root@localhost mount]# touch 1.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值