Please enable Javascript to view the contents

Linux 网络文件系统 NFS 入门使用案列

 ·  🕒 2 分钟  ·  ✍️ 加文 · 👀... 阅读

NFS (Network File System) 网络文件系统

可以让不同的客户端挂载使用同一个共享目录,将其作为共享存储使用; 常用于互联网中小型网站集群架构后端的数据共享
RPC 管理服务端的 NFS 端口分配,客户端需要传数据,那客户端会先跟服务端的 RPC 请求服务器的端口,得到端口后再建立连接,再传输数据

  1. 首先服务器端启动RPC服务,并开启111端口
  2. 启动NFS服务,并向RPC注册端口信息
  3. 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
  4. 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
  5. 客户端通过获取的 NFS 端口来建立和服务端的NFS连接并进行数据的传输。

不能基于不同的用户做对应的访问权限控制 ??

环境介绍

192.168.31.32 nfs 服务端
192.168.31.31 nfs 客户端

服务端

1、服务端安装

# 安装
yum install nfs-utils

# 启动 rpcbind 及 nfs
systemctl start rpcbind && systemctl start nfs

# 防火墙开启对应服务
firewall-cmd --zone=public --permanent --add-service={rpc-bind,mountd,nfs}
firewall-cmd --reload

# 配置共享目录
mkdir /data &&  chmod 755 /data
vim /etc/exports
/data/     192.168.31.0/24(rw,sync,no_root_squash,no_all_squash)

# 使共享目录生效
systemctl restart nfs

showmount -e localhost   # 查看本地的共享目录

2、共享目录配置选项
/data/ 共享目录
192.168.31.0/24 客户端IP范围
rw 权限, 可读写; ro 可读
sync 数据同步写入到NFS server的硬盘后才返回, 数据安全、性能降低
async 优先将数据保存到内存,硬盘有空档时再写入硬盘,效率更高,但可能造成数据丢失
no_root_squash 如何理解 ??

客户端

Linux 端

# 安装
yum install nfs-utils

# 启动
systemctl start rpcbind

# 创建挂载点/data 及 手动挂载
mkdir /data
mount -t nfs 192.168.31.32:/data /data

mount  # 查看挂载情况
df -h

# 自动挂载
vim /etc/fstab
192.168.31.32:/data     /data          nfs     defaults        0 0

systemctl daemon-reload

Win7 端

# 安装 nfs 服务
开始 --> 控制面板 --> 程序和功能 --> 左上侧打开或关闭windows功能 --> NFS 服务 --> 确定

# win cmd 查看 nfs server 共享目录
showmount -e 192.168.31.32

# windows cmd 手动挂载到本地 I盘 
mount 192.168.31.32:/data I:
> I: 现已成功连接到 192.168.31.32:/data
> 命令已成功完成

该方式挂载后win7 重启后是否需要重新挂载, 待测试 ??

参考

https://qizhanming.com/blog/2018/08/08/how-to-install-nfs-on-centos-7
https://www.cnblogs.com/hanshanxiaoheshang/p/9236951.html


加文
作者: 加文
运维工程师
版权声明:自由转载-非商用-非衍生-转载请注明出处!


目录