NFS简介
NFS(Network File System 网络文件服务),是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。(远端过程调用:自己没有这种功能,调用别人的功能) NFS 也是 NAS 存储 设备必然支持的一种协议,以完成远程到本地的映射过程。
在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。
NFS的特点:
- 采用TCP/IP传输网络文件
- 安全性低
- 简单易操作
- 适合局域网环境
NFS原理
NFS优势:
节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。
NFS软件介绍
软件包 (包括服务器端和客户端):
- nfs-utils (nfs端口号 2049/tcp)
- rpcbind (RPC端口号 111/tcp)
相关软件包(可不安装):tcp_wappers
NFS服务主要进程:
- rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
- rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
- rpc.lockd 非必要,管理文件锁,避免同时写出错
- rpc.statd 非必要,检查文件一致性,可修复文件
配置文件
配置文件位置:/etc/exports
配置文件格式:
/dir 主机1(参数1,参数2) 主机2(参数1,参数2)…
#分享的目录(绝对路径) 共享给谁(允许哪些主机访问)
#示例:
/share *
#表示将/share目录共享给任何主机 ,代表任意(注意此时未给权限)
(内网中可以用)
/share 192.168.72.0/24
#表示将/share目录共享给192.168.72.0网段内的任意主机
exportfs 命令可用于管理 nfs
exportfs -v : 查看本机所有nfs共享目录,及其详细信息
exportfs -r : 重新读取配置文件,重新加载配置
showmount -e : 查看本机发布的NFS共享目录
showmount -e 192.168.72.10 : 查看服务器192.168.72.10提供的共享目录
NFS共享存储服务的操作步骤
实验环境:
服务端:192.168.72.10
客户端:192.168.72.129
1、服务端设置:
2、客户端设置:
总结
-
启动服务后,可以使用 “ss -ntuap | grep 111” 命令查看端口是否已开启,以便确认服务是否正常启动了。
-
使用mount命令只是临时挂载,如果想要将NFS共享目录永久挂载到本地,需要修改配置文件/etc/fstab。挂载参数为:defaults,_netdev。文章来源:https://www.toymoban.com/news/detail-454604.html
文章来源地址https://www.toymoban.com/news/detail-454604.html
- 但如果在本机配置文件/etc/fstab中写入了永久挂载,之后服务端取消了对本机的NFS共享,那么本机重启时会出现 “CRTL-D” 报错,此时需要进入但用户模式,编辑/etc/fstab,将NFS共享目录的挂载信息删除。
- 强制卸载 NFS:umount -lf 挂载设备/挂载点
- 如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。
到了这里,关于Linux网络服务之NFS(文件共享服务)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!