NFS是最直接的单机存储扩展方式,通过挂载远程目录实现本地化读写;服务端需正确配置/etc/exports、启动nfs-server和rpcbind并放行防火墙;客户端安装对应工具、验证showmount连通性后,可用mount临时挂载或fstab自动挂载,推荐加_netdev和nofail选项保障系统启动稳定性。

把单机磁盘撑满后,最直接的扩展方式不是换更大硬盘,而是把另一台机器的存储“拉过来用”——NFS 就是干这个的。它不改变应用逻辑,只需挂载,就能让远程目录像本地目录一样读写。
服务端:共享目录得“说得清、开得通”
NFS 服务端的核心是两件事:声明共享路径、确保服务可达。
- 在 /etc/exports 中明确写出要共享的目录、允许访问的客户端网段(如
/data 192.168.1.0/24(rw,sync,no_root_squash)),权限参数要匹配实际需求 - 启动 nfs-server 和 rpcbind 服务(systemctl start nfs-server rpcbind),并设为开机自启
- 防火墙必须放行 nfs、rpc-bind、mountd 这三个服务(firewall-cmd --add-service=nfs --permanent && firewall-cmd --reload)
- 执行 showmount -e localhost 能列出共享项,才说明服务端配置已生效
客户端:能连上、认得清、挂得稳
客户端不需要运行 NFS 服务,但必须装对工具、通得过网络、看得见共享。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 安装 nfs-utils(RHEL/CentOS)或 nfs-common(Debian/Ubuntu)
- 用 ping 测试基础连通性,再用 showmount -e 192.168.1.100 验证 RPC 是否响应——失败时大概率是服务端没开、防火墙拦了,或网络路由不通
- 挂载前先创建空目录作为挂载点(如
mkdir -p /mnt/nfs-data) - 临时挂载命令示例:
mount -t nfs 192.168.1.100:/data /mnt/nfs-data -o rw,hard,intr,rsize=8192,wsize=8192
挂载策略:按需用、开机用、出错也不卡
临时挂载适合调试;长期使用推荐写入 /etc/fstab,但要注意几个关键选项:
- 加上 _netdev,告诉系统等网络就绪后再挂载
- 加上 nofail,避免 NFS 服务端宕机或离线导致系统无法启动
- 建议用 IP 地址而非主机名,规避 DNS 解析失败风险
- fstab 示例条目:
192.168.1.100:/data /mnt/nfs-data nfs defaults,_netdev,nofail 0 0
性能与安全:别只图方便
NFS 不是万能胶水,用得好要兼顾效率和边界。
- 读写性能受网络带宽和延迟影响明显,千兆局域网内表现良好,跨公网慎用
- 默认 root_squash 会把客户端 root 映射为 nobody,若需保留 root 权限,服务端 exports 中加 no_root_squash,但仅限可信内网
- 目录权限需匹配 NFS 映射用户(如 nobody:nogroup),否则出现 “Permission denied” 很常见
- 不建议在 NFS 上运行数据库或高并发日志写入类应用,文件锁和同步机制不如本地文件系统可靠


















