文件服务器层 NFS 部署 — RPC 原理、export 配置、高可用方案

概述

Day32 是 NFS 的实操部署篇,深入 RPC 通信机制(服务注册与寻址、版本协商、传输协议选择)、NFS 共享导出配置(export 选项详解:rw/ro、sync/async、wdelay/no_wdelay、subtree_check)、服务端与客户端配置示例、以及基于 Keepalived + Rsync 的 NFS 高可用方案。

核心内容

RPC(Remote Procedure Call)

  • 进程:rpc.statd(状态监控)、rpc.mountd(挂载认证)、rpc.nfsd(NFS 服务本身)、rpcbind(端口映射)
  • 通信流程:客户端请求 → rpcbind(查端口)→ NFS 服务端 → 本地文件系统

export 核心选项

  • rw/ro:读写/只读
  • sync/async:sync 更安全但慢,async 性能高但有丢数据风险
  • wdelay/no_wdelay:多写合并 vs 立即写入
  • subtree_check/no_subtree_check:跨子目录检查 vs 跳过
  • root_squash/all_squash:root 降级为普通用户 / 所有用户降级

客户端挂载

  • mount -t nfs server:/share /local/mount
  • /etc/fstab 配置自动挂载
  • netstat -r 查看 NFS 连接状态

NFS 高可用方案

  • Keepalived:虚拟 IP(VIP)漂移,故障自动切换
  • Rsync:主备数据同步(rsync -avz
  • 脑裂风险:使用 nfs-paxos 或第三方仲裁

关联