一、NFS简介
NFS(Network File System 网络文件服务)
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发
NFS服务可以将远程Linux系统上的文件共享资源挂载到本地主机的目录上,从而使得本地主机(Linux客户端)基于TCP/IP协议,像使用本地主机上的资源那样读写远程Linux系统上的共享文件
特点:
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
优点:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率
配置文件:
/etc/exports
二、搭建过程
1.关闭防火墙和selinux并下载软件包
systemctl stop firewalld#关闭防火墙和selinux setenforce 0 yum install nfs-utils.x86_64 rpcbind -y #安装软件包
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制, 以完成远程到本地的映射过程。在CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持
手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs
服务器端192.168.109.131
2.在服务器上建立用于NFS文件共享的目录,并设置足够的权限确保其他人也有写入权限
3.NFS服务程序的配置文件为/etc/exports,默认情况下里面没有任何内容。
我们可以按照“共享目录的路径 允许访问的NFS客户端(共享权限参数)”的格式来定义
NFS服务程序配置文件的参数
参数 | 作用 |
ro | 只读 |
rw | 读写 |
root_squash | 当NFS客户端以root访问时,映射为NFS服务器的匿名用户 |
no_root_quash | 当NFS客户端以root访问时,映射为NFS服务器的root用户 |
all_squash | 无论NFS客户端使用什么身份登录,都映射为NFS服务器的匿名用户 |
sync | 同时将数据写入到内存与硬盘中,保证不丢失数据 |
async | 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 |
支持通配符
showmount命令中的可用参数和作用
参数 | 作用 |
-e | 显示NFS服务器的共享列表 |
-a | 显示本机挂载的文件资源的情况 |
-v | 显示版本号 |
客户端192.168.109.132
systemctl stop firewalld#关闭防火墙和selinux setenforce 0 yum install nfs-utils.x86_64 rpcbind -y #安装软件包
将NFS服务器挂载到本地
在客户端的挂载点创建文件,服务器端也可以看到,此前我们给了这个目录权限