一.NFS 概述
1. 概述
NFS 是一种基于 TCP/IP 传输的网络文件系统协定。通过应用 NFS 协定,客户机能够像拜访本地目录一样拜访近程服务器中的共享资源
NAS 存储: NFS 服务的实现依赖于 RPC (Remote Process Call,远端过程调用) 机制,以实现近程到本地的映射过程。
在 Centos 7 零碎中,须要装置 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享公布和拜访,后者用于 RPC 反对。
手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。
nfs 端口:2049
RPC 端口:111w
2. 特点
采纳 TCP/IP 传输网络文件
安全性低
简略易操作
适宜局域网环境
二.NFS 工作原理
NFS 服务器能够让 PC 将网络中的 NFS 服务器共享的目录挂载到本地端的文件系统中,而在本地端的零碎中来看,那个近程主机的目录就如同是本人的一个磁盘分区一样,在应用上相当便当;
2.1NFS 工作流程
1. 首先服务器端启动 RPC 服务,并开启 111 端口
2. 服务器端启动 NFS 服务,并向 RPC 注册端口信息
3. 客户端启动 RPC(portmap 服务),向服务端的 RPC(portmap) 服务申请服务端的 NFS 端口
4. 服务端的 RPC(portmap) 服务反馈 NFS 端口信息给客户端。
5. 客户端通过获取的 NFS 端口来建设和服务端的 NFS 连贯并进行数据的传输。
2.2 挂载原理
当咱们在 NFS 服务器设置好一个共享目录 /opt 后,其余的有权拜访 NFS 服务器的 NFS 客户端就能够将这个目录挂载到本人文件系统的某个挂载点,这个挂载点能够本人定义,如上图客户端 A 与客户端 B 挂载的目录就不雷同。并且挂载好后咱们在本地可能看到服务端 /opt 的所有数据。
三.NFS 服务部署
3.1 常用命令
罕用选项 形容
rw 容许读写
ro 只读
sync 同步写入
async 先写入缓冲区,必要时才写入磁盘,速度快,但会丢数据
subtree_check 若输入一个子目录,则 nfs 服务将查看其父目录权限
no_subtree_check 若输入一个字目录,不查看父目录,提高效率
no_root_squash 客户端以 root 登录时,赋予其本地 root 权限
oot_squash 客户端以 root 登录时,将其映射为匿名用户
all_squash 将所有用户映射为匿名用户
exportfs -v // 查看具体的 nfs 信息
exportfs -r // 重读配置文件
showmount -e // 查看本机公布的 NFS 共享目录
showmount -e +IP // 查看 IP 地址公布的 NFS 共享目录
mount -t nfs 192.168.48.6:/opt /mnt // 将 NFS 服务端 192.168.48.6 下的 /opt 挂载到 /mnt 下
rpcinfo -p localhost // 查看 rpc 注册的端口信息
3.2 服务器端配置
我应用的是两台 3a 服务器,带宽比拟高,yum 装置老快了。
1. 查看并装置软件
rpm -q rpcbind nfs-utils
yum install -y rpcbind nfs-utils
2. 创立共享目录
vim /etc/exports //NFS 的配置文件,默认文件内容为空(无任何共享)
/opt 192.168.48.0/24(rw,sync,no_root_squash)
// 设置 /opt 为共享目录,容许 192.168.48.0 网段的 IP 地址主机拜访
3. 启动服务
systemctl start rpcbind // 肯定要先开启 rpcbind 服务
systemctl start nfs // 如服务已启动,更改完配置信息后须要重启服务
查看服务端的共享目录及网段
查看服务端的 nfs 详细信息
3.3 客户端配置
1.1. 查看并装置软件
rpm -q rpcbind nfs-utils
yum install -y rpcbind nfs-utils
systemctl start rpcbind
systemctl start nfs
2. 将共享目录挂载到本地
3.4 服务测试
四. 总结
1.NFS 服务多用于局域网内
2. 搭建服务时肯定要先启动 rpc 后启动 nfs
3. 配置文件中的信息格式肯定要对,否则报错