NFS安装和简单配置说明
NFS安装和简单配置说明
NFS 安装和简单配置
1 NFS服务简介
摘抄自 Wiki NFS 简介 部分说明
网络文件系统(Network File System,缩写 NFS)是一种分布式文件系统,力求客户端主机可以访问服务器端文件,并且其过程与访问本地存储时一样,它由Sun微系统(已被甲骨文公司收购)开发,于1984年发布。
NFS 服务可以挂载远程主机的共享目录到本地,就像操作本地磁 盘一样,非常方便的操作远程文件。
它基于开放网络运算远程过程调用(ONC RPC)系统:一个开放、标准的 RFC 系统,任何人或组织都可以依据标准实现它。
2 NFS服务端
下面在 Centos7 中安装 NFS 服务。
根据官网说明 Chapter 8. Network File System (NFS) - Red Hat Customer Portal,CentOS 7.4 以后,支持 NFS v4.2 不需要 rpcbind 了,但是如果客户端只支持 NFC v3 则需要 rpcbind 这个服务。
2.1 安装 NFS 服务
|  |  | 
注意:只安装 nfs-utils 即可,rpcbind 属于它的依赖,也会安装上。
2.2 NFS 服务配置
小贴士:Centos7 nfs 服务文件
/usr/lib/systemd/system/nfs.service链接/usr/lib/systemd/system/nfs-server.service服务文件。注意: NFS 依赖 rpcbind 服务,nfs 服务默认端口 2049/(tcp/udp/sctp) , rpcbind 服务默认端口 111/(tcp/udp)
设置 NFS 服务开机自启
|  |  | 
启动 nfs 服务
|  |  | 
防火墙打开 nfs 服务
|  |  | 
2.3 NFS 服务端共享目录配置
NFS 共享目录配置文件 /etc/exports
添加共享目录配置
|  |  | 
- /data/:共享目录位置
- 192.168.0.0/24:允许使用此资源的客户端 IP 范围,- *表示所有即无客户端限制
- rw:权限设置,可读可写
- sync:数据同步写入磁盘
- root_squash:当 root 账号访问时映射为 NFS 服务端匿名账户(nobody),普通账户映射为普通账户
- no_root_squash: 允许远程 root 用户访问共享目录,拥有 root 权限(不推荐,不安全)
- no_all_squash: 保留客户端用户的 UID 和 GID
- all_squash:不管客户端使用什么账户访问,均映射为 NFS 服务器匿名账户(nobody),推荐
- subtree_check:服务端会验证客户端创建的文件所在挂载点是否已经变更
配置完成后重启 nfs 服务让配置生效或执行刷新配置命令。
|  |  | 
验证 nfs 服务配置是否生效
|  |  | 
下面客户端就可以使用 nfs 服务提供的共享目录。
3 NFS客户端
3.1 NFS 客户端安装
和 nfs 服务安装一致。
|  |  | 
3.2 NFS 客户端配置
nfs 客户端仅需使用 rpcbind 服务
注意:客户端不需要打开防火墙,因为客户端时发出请求方,网络能连接到服务端即可。客户端也不需要开启 NFS 服务,因为不共享目录。
3.3 客户端连接 NFS 服务
检测 nfs 服务端共享目录是否能用
|  |  | 
创建客户端挂载目录
|  |  | 
挂载 nfs 服务共享目录
|  |  | 
NFS 默认 UDP 协议挂载,为了提高 NFS 的稳定性,可以使用 TCP 协议挂载,那么客户端挂载命令可使用如下命令:
mount -o proto=tcp,nolock -t nfs 192.168.1.1:/data/share /data/share
自动挂载写入自启挂载配置文件 /etc/fstab
|  |  | 
