NFS文件服务器

TOC

了解NFS服务

什么是NFS服务?

NFS全名是Network File System,又叫网络文件系统,是由Sun Microsystems在1984年提出的一种分布式文件系统协议,允许客户端通过网络挂载服务器上的目录,并像访问本地文件一样操作远程文件。

NFS的特点和应用场景

特点

  • 跨平台(Linux/Unix 常见,Windows 也支持通过插件/工具)。
  • 高效共享:一个目录可被多个客户端同时挂载。
  • 简单:使用TCP/UDP的2049端口。
  • 依赖 RPC 服务(portmap/rpcbind)。

应用场景:

  • 集群共享目录(如 Web 集群共享代码目录、存储集群共享数据)。
  • 虚拟化环境共享 ISO 或配置文件。
  • 研发团队共享公共资源。

NFS服务搭建

服务端安装

CentOS系统安装

yum -y install nfs-utils

Ubuntu系统安装

apt -y install nfs-kernel-server

简单使用NFS

创建共享目录并授权

mkdir -p /data/nfs_share
chmod -R 777 /data/nfs_share

编辑配置文件:/etc/exports

/data/nfs_share  192.168.1.0/24(rw,sync,no_root_squash,no_all_squash)

NFS服务管理

# 启动samba服务
systemctl start nfs-server
# 设置自启动samba服务
systemctl enable nfs-server
# 查看samba服务状态
systemctl status nfs-server

客户端安装

CentOS系统安装

yum -y install nfs-utils

Ubuntu系统安装

apt -y install nfs-common

测试阶段

使用客户端工具进行挂载

mount -t nfs 192.168.1.100:/data/nfs_share /mnt

持久挂载写入/etc/fstab文件

# /etc/fstab
192.168.1.100:/data/nfs_share   /mnt   nfs   defaults   0 0

配置参数详解

配置格式,如下所示:

共享目录  允许地址(权限列表使用','号隔开)

允许地址可以是IP地址,也可以是网段(比如:192.168.1.0/24),还可以是*表示全部允许。
参数解释:

  • rw:读写权限。
  • ro:只读。
  • sync:同步写入磁盘(安全)。
  • async:异步写入,性能高但可能丢数据。
  • no_root_squash:客户端的 root 用户在共享目录也有 root 权限。
  • root_squash:客户端的 root 用户映射为匿名用户(安全推荐)。
  • all_squash:所有用户映射为匿名用户。
  • anonuid, anongid:指定匿名用户的UID/GID。