前言
本篇将简述的内容:Linux系统下的NFS存储
一、概述
NFS(Network File System)是一种网络文件系统协议,它允许在不同的计算机之间共享文件和目录。NFS存储是基于NFS协议的一种存储解决方案,它允许多个计算机通过网络访问和共享存储资源。
NFS存储的工作原理是将存储资源(如硬盘、文件夹)挂载到NFS服务器上,并通过NFS协议将这些资源共享给其他计算机。其他计算机可以通过NFS客户端连接到NFS服务器,并像访问本地文件一样访问和操作共享的存储资源。
nfs默认端口:2049/tcp
RPC(Remote Procedure Call,远程过程调用)是一种通信协议,用于在分布式系统中的不同计算机之间进行通信和调用远程服务。它允许一个计算机程序调用另一个计算机上的子程序或服务,就像调用本地程序一样,而不需要了解底层网络细节。管理nfs端口
rpc默认端口:111/tcp
二、应用场景
用于集群架构中的数据存储
网站的静态文件(图片,文本、视频、音频)
用于局域网
1. 文件共享:
NFS可以用于在局域网或广域网上共享文件,使多个用户可以同时访问和编辑文件。这在办公环境中特别有用,可以提高团队协作效率。
2.数据备份:
NFS可以用于将数据备份到远程服务器或存储设备上。通过将数据存储在远程位置,可以提高数据的安全性和可靠性。
3.虚拟化存储:
NFS可以作为虚拟化环境中的存储解决方案。虚拟机可以通过NFS挂载共享存储,实现虚拟机之间的数据共享和迁移。
4.多媒体存储:
NFS可以用于存储和共享大型多媒体文件,如音频、视频和图像。这在媒体制作和广播行业中非常常见。
5.高性能计算:
NFS可以用于在集群环境中共享文件和数据。这对于需要在多个计算节点之间共享数据的科学计算和工程应用非常重要。
三、安装
配置基础环境后,安装软件包
yum install -y nfs-utils
yum install -y rpcbind
四、启动服务
先启动nfs服务
systemctl start nfs
再启动rpcbind服务
systemctl start rpcbind
如果报错,把这两个服务停掉,然后按照顺序启动
五、配置文件
1.nfs的主配置文件
/etc/nfs.conf
有默认模版,需要的自行添加
2.存储配置文件
/etc/exports
配置文件内容
vim /etc/exports
rw 指定共享目录具备可读写权限
ro 指定只读
sync 立即同步
async 异步同步 数据存储信息–>内存中–>写入磁盘,容易造成数据丢失
no_root_squash root用户不需要转换身份
all_squash 将所有用户的操作文件全部映射为指定的用户nobody
no_all_squash 所有用户操作文件是什么用户就保留什么用户权限,不转换用户身份
root_squash 指定root用户需要转换身份
anonuid 用于指定用户身份映射到的用户的uid
anongid 用于指定用户组身份映射到的用户组的gid
示例
/share 192.168.115.0/24(rw,sync,no_root_squash)
查看nfs服务器的共享目录,验证是否共享
showmount -e 1
六、客户端访问
查看nfs服务器的共享目录
showmount -e 192.168.115.128(nfs服务器IP)
挂载:
1、手动挂载
mount 192.168.115.128:/share /mnt
2、自动挂载
vim /etc/fstab
192.168.115.128:/share /mnt nfs4 defaults,_netdev 0 0
mount -a
总结
NFS是一种强大的分布式文件系统协议,通过网络共享文件和目录,提供了透明性、共享性、可扩展性、性能和安全性等优势。它在分布式系统中的文件共享和协作方面发挥着重要作用,但也需要注意其限制和挑战,以确保系统的性能和可靠性。