NFS
概念:
- 为了数据安全
- 防止丢失
个人:
1T 512G
企业:
- 存储柜
Network File System (NFS)
什么是 NFS?
NFS(Network File System)是⼀种⽤于在⽹络上共享⽂件系统的协议。它允许在不同的计算机和操作系统
之间共享⽂件和⽬录,使远程计算机可以像本地⽂件系统⼀样访问和操作⽂件。
NFS 最初由 Sun Microsystems 开发,并成为⼀种标准的⽹络⽂件系统协议。它基于客户端-服务器模型,其
中 NFS 服务器导出⼀个或多个⽬录作为共享,⽽ NFS 客户端可以挂载这些共享⽬录并在本地访问它们。
通过 NFS,客户端可以透明地访问远程⽂件系统,就像它们是本地⽂件⼀样。这使得多台计算机可以共享⽂
件,⽽⽆需在每台计算机上复制⽂件副本。NFS ⽀持在⽹络上实现⽂件的读取、写⼊和执⾏操作,还⽀持⽂
件和⽬录的权限控制。
NFS 在许多场景中⾮常有⽤,特别是在⼤型⽹络环境或集群中,可以提供⾼效的⽂件共享和协作。它被⼴泛
⽤于 UNIX 和类 UNIX 操作系统(如 Linux)之间的⽂件共享,以及在混合操作系统环境中实现⽂件共享的需
求。
总结⽽⾔,NFS 是⼀种⽤于在⽹络上共享⽂件系统的协议,它允许远程计算机通过⽹络访问和操作共享的⽂
件和⽬录。
NFS 的优势和⽤途
- 共享⽂件和资源:NFS 允许在⽹络上共享⽂件和⽬录,使多个计算机可以访问相同的数据。这样可以避
免在每台计算机上维护⽂件的多个副本,提⾼了资源利⽤率和数据⼀致性。
- 透明性和易⽤性:通过 NFS,远程⽂件系统可以在本地⽂件系统中透明地挂载,使得远程⽂件对⽤户和
应⽤程序来说就像本地⽂件⼀样。这种透明性使得⽤户可以轻松地访问和管理远程⽂件,⽽不需要关注
底层的⽹络细节。
- 跨平台兼容性:NFS 是⼀种跨平台的⽂件共享协议,可以在不同的操作系统之间实现⽂件共享。它⼴泛
⽀持 UNIX 和类 UNIX 系统,如 Linux、Solaris 和 macOS,使得不同操作系统的计算机可以⽅便地共享
⽂件和资源。
- ⾼性能和效率:NFS 通过优化⽹络传输和数据缓存,提供⾼效的⽂件访问和传输。它可以通过异步传
输、数据压缩和缓存机制等技术来提⾼性能,减少⽹络带宽占⽤和延迟。
- 灵活的权限和安全控制:NFS ⽀持对共享⽂件和⽬录进⾏细粒度的权限和访问控制。管理员可以设置⽂
件的读取、写⼊和执⾏权限,以及使⽤访问控制列表(ACL)来定义更复杂的访问策略,确保数据的安
全性和保密性。
- 扩展性和可靠性:NFS 具有良好的可扩展性,可以⽀持⼤规模的⽂件共享和访问。它可以在集群和分布
式环境中使⽤,提供⾼可⽤性和容错性,以确保⽂件系统的可靠运⾏。
基于这些优势,NFS 在以下场景中被⼴泛应⽤:
-
共享⽂件和⽬录,⽅便团队协作和数据共享。 -
在集群和分布式系统中实现共享存储,提供⾼可⽤性和容错性。 -
在虚拟化环境中共享存储,使虚拟机可以访问共享的数据。 -
提供⽹络安装和更新操作系统,简化系统管理和部署过程。
部署NFS
- 配置源
- 安装NFS
[abbott@bogon ~]$ dnf -y install nfs-utils.x86_64
- 启动服务
[abbott@nfs-server ~]$ sudo systemctl start nfs-server rpcbind
abbott@nfs-server ~]$ sudo systemctl enable --now nfs-server rpcbind
- 配置
/etc/exports 默认配置文件为空
- 语法
共享文件的路径 客户端地址(权限)
/ master(rw) trusty(rw,no_root_squash)
/foo 2001:db8:9:e54::/64(rwx) 192.0.2.0/24(rw)
/foo 192.168.107.10(rw)
- 权限
- 指定网段
[abbott@nfs-server nfs-test]$ cat /etc/exports
/nfs-test 192.168.107.0/24(rw)
指定客户端地址
[abbott@nfs-server html-projet]$ cat /etc/exports
/nfs-test 192.168.107.0/24(rw)
/nfs-test/html-projet 192.168.18.11(ro)
/nfs-test/html-projet 192.168.18.12(ro)
[abbott@nfs-server html-projet]$
- 客户端
-
Linux client
[abbott@nfs-client ~]$ sudo dnf -y install nfs-util- 查找NFS服务器共享的列表
[abbott@nfs-client ~]$ sudo showmount -e 192.168.107.167 Export list for 192.168.107.167: /nfs-test 192.168.107.0/24- 挂载使用(临时)
[abbott@nfs-client ~]$ mkdir /nfs [abbott@nfs-client ~]$ sudo mount.nfs 192.168.107.167:/nfs-test /nfs/- 验证(查看磁盘的命令)
[abbott@nfs-client ~]$ df -h Filesystem Size Used Avail Use% Mounted on 192.168.107.167:/nfs-test 17G 1.9G 16G 12% /nfs - Windows 客户端