网络文件共享-nfs

什么是NFS?

        NFS(Network File System)​​ 是一种 ​网络文件共享协议,允许客户端计算机通过网络(如局域网或互联网)访问并操作远程服务器上的文件和目录,就像这些文件存储在本地的磁盘上一样。它最早由 Sun Microsystems 于 1984 年开发,现在是 Linux 和 Unix 系统中广泛使用的技术。


核心功能与特点

  • 透明访问

        用户无需关心文件实际存储在哪个服务器上,可直接通过挂载(mount)远程目录到本地来读写文件,支持文件锁定、权限管理等操作。

  • 客户-服务器架构

        服务端(Server)提供共享的文件资源,客户端(Client)通过网络请求访问这些资源。

  • 跨平台兼容性

        虽然最初为 Unix 设计,但现代 NFS 也支持 Windows、macOS 等系统(需额外工具)。

  • 高效传输

        使用基于 TCP/IP 的协议,适合高速网络环境。


典型应用场景

  • 文件共享:团队协作时共享文档、代码库或设计素材。
  • 集中存储:企业将数据集中存储在服务器,多台终端统一访问。
  • 负载均衡:将文件分布在多台服务器上,提升访问效率。
  • 备份与归档:远程备份服务器上的数据。

NFS 协议版本

  • NFSv1:早期版本,已废弃。
  • NFSv2:支持基本文件共享,但缺乏安全性(如加密)。
  • NFSv3:当前主流版本,优化了性能和功能(如大文件支持)。
  • NFSv4:最新版本,增强安全性(支持 Kerberos 认证)、状态管理(如断点续传)和更好的可扩展性。

优缺点

优点 缺点
文件共享简单高效 默认不加密传输,安全性依赖防火墙或 VPN
节省本地存储空间 服务器故障可能导致数据不可用
支持多用户协作 需要合理规划权限以避免冲突

操作(Linux)​

  • 安装 NFS 服务端

    sudo apt-get install nfs-kernel-server  # Debian/Ubuntu
    sudo yum install nfs-utils             # CentOS/RHEL/ROCKYLINUX
    dnf install nfs-utils                  # CentOS/RHEL/ROCKYLINUX
  • 配置共享目录

    sudo vim /etc/exports
    # 添加以下行(允许所有客户端访问 /shared 目录):
    /shared *(rw,sync,no_root_squash)
  • 将服务器上的 /shared 目录共享给 ​所有客户端​(*)。
  • 客户端可以 ​读写​(rw)该目录。
  • 数据写入时强制 ​同步到磁盘​(sync)。
  • 客户端的 root 用户拥有服务器端的 root 权限(no_root_squash)。
  • 重启服务

sudo systemctl restart nfs-kernel-server
  • 客户端挂载:

sudo mount -t nfs server_ip:/shared /mnt/nfs

你可能感兴趣的:(运维,运维,kubernetes)