nfs – 网络存储
架构介绍
NFS概述
网络文件系统(Network File System,NFS),一种使用于分散式文件系统的协议,由Sum公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。 NFS基于RPC(Remote Procedure Call Protocol远程过程调用协议)实现。NFS是TCP/IP协议集所提供的一种子协议,该协议可以实现LINUX/UNIX主机之间的文件共享,磁盘空间共享。它只用于Linux和Unix内核的操作系统进行共享。使用NFS网络文件系统,可以将服务器的硬盘挂载到本地,就像操作本地计算机的硬盘一样。 NFS传输数据时使用的端口是一个随机端口。 RPC,远程过程调用。它的功能是指定每个NFS功能对应的端口号,当NFS服务器启动时会随机启用数个端口号,并主动向RPC注册,这样RPC就知道每个端口号对应的功能了,RPC使用111号端口来监听客户机的请求并回应正确的端口号。
启动NFS之前要先启动RPC,否则NFS无法向RPC注册,当RPC重新启动后,原来注册的端口数据会丢失,这时,它管理的所有程序都必须重新向RPC注册。
参考:
https://qizhanming.com/blog/2018/08/08/how-to-install-nfs-on-centos-7
NFS提供的服务
1)在目录(directory)中查找文件 2)列出目录中的文件 3)管理目录 4)取得各文件的属性(file attribute) 5)文件的读/写
NFS部署
环境准备
系统 centos7
关闭服务 selinux、firewalld
nfs-server节点 nfs1
nfs-agent节点(支持window) nfs2、nfs3、nfs4、nfs5
一、NFS-server
• yum安装nfs安装包
yum install nfs-utils -y
• 设置NFS开机启动
systemctl enable nfs
systemctl enable rpcbind
• 启动NFS服务
systemctl start rpcbind
systemctl start nfs
• 配置NFS服务
创建共享目录
mkdir /data
chmod 755 /data
添加配置到/etc/exports文件
/data/ *(rw,sync,no_root_squash,no_all_squash)
• 重启NFS服务
systemctl restart nfs
• 检查nfs1下nfs-server共享目录
showmount -e nfs1
二、NFS-agent
• yum安装nfs安装包
yum install nfs-utils -y
• 设置rpcbind开机启动
systemctl enable rpcbind
• 启动rpcbind服务
systemctl start rpcbind
• 请求测试nfs1上的nfs-server共享目录
showmount -e nfs1
• 配置nfs-agent服务
创建共享目录
mkdir /data
将/data目录挂载到nfs-server的/data上
mount -t nfs nfs1:/data /data
agent端检查是否挂载成功
mount
• 设置开机自动挂载
添加一行配置到/etc/fstab文件
nfs1:/data /data nfs defaults 0 0
修改完想要即可生效,需要重新加载systemctl
systemctl daemon-reload