前言
NFS(Network File System)是一种网络文件系统协议,允许在不同计算机系统之间共享文件和目录。它允许远程计算机通过网络访问和操作共享的文件,就像它们本地存在一样。NFS通常用于在UNIX或类UNIX系统之间共享文件和目录。它基于客户端-服务器模型,其中一个或多个服务器提供文件共享,而客户端通过网络连接到服务器来访问和使用这些共享文件。NFS提供了一种透明的访问方式,使得远程文件就像本地文件一样进行读写、修改和执行操作。
一、概述
1、network filesystem
2、tcp/ip协议传输
3、rpc
远程过程调用
管理nfs端口
111 端口号
4、 nfs 2049
netstat -anptl
二、应用场景
用于集群架构中的数据存储
网站的静态文件(图片,文本、视频、音频)
用于局域网
三、安装
yum install -y rpcbind
yum install -y rpcbind
yum install -y nfs-utils
yum install -y nfs-utils
四、启动服务
1、先启动nfs服务
2、再启动rpcbind服务
如果报错,把这两个服务停掉,然后按照顺序启动
关闭防火墙 ,改为宽容模式
systemctl stop firewalld.service
setenforce 0
一般系统上都有这个服务只要是重启一下就OK了
systemctl restart nfs
systemctl restart rpcbind
vim /etc/exports 配置文件
vim /etc/exports
五、目录结构
1、/etc/nfs.conf
vim /etc/nfs.conf
nfs的主配置文件
2、/etc/exports
vim /etc/exports
存储配置文件
2.1语法
dirPath IP/Prefix(argument1,argument2...)
2.2参数
rw:指定共享目录具备可读写权限
ro:指定只读
sync:立即同步
async:异步同步 数据存储信息-->内存中-->写入磁盘,容易造成数据丢失
all_squash: 将所有用户的操作文件全部映射为指定的用户nobody
no_all_squash: 所有用户操作文件是什么用户就保留什么用户权限,不转换用户身份
root_squash: 指定root用户需要转换身份
no_root_squash: root用户不需要转换身份
anonuid:用于指定用户身份映射到的用户的uid
anongid:用于指定用户组身份映射到的用户组的gid
六、命令解析
1、exportfs
exportfs
共享存储管理命令
2、showmount
-e:显示nfs共享目录
showmount -e 192.168.28.1
七、配置
vim /etc/exports
vim /etc/exports
/share 192.168.115.0/24(rw,sync,no_root_squash)
八、客户端访问
1、查看nfs服务器的共享目录
showmount -e 192.168.115.128(nfs服务器IP)
创建个共享目录进去
服务器看一眼
2、挂载
手动挂载
mount 192.168.115.128:/share /mnt
自动挂载
vim /etc/fstab
192.168.115.128:/share /mnt nfs4 defaults,_netdev 0 0
mount -a
九、实验
实验一
1、3台主机:1台服务器,2台客户端
服务器:拥有zhangsan、lisi两个用户
客户端1:拥有zhangsan用户
客户端2:拥有lisi用户
要求:实现用户家目录共享
服务器端设置共享文件
vim /etc/exports
创建用户zhangsan和lisi
查看nfs服务器的共享目录重新启动一下服务
systemctl restart nfs
showmount -e 192.1668.28.1
去第一台客户机查看一下创建用户
useradd zhangsan
systemctl restart nfs
showmount -e 192.1668.28.1
mount 192.168.28.1:/home/zhangsan /home/zhangsan
cd /home/zhangsan/
touch 1
回主机查看一下
回到客户机2 创建lisi用户
回服务器
实验二
2、3台主机:1台服务器,2台客户端
服务器:将/test目录共享
客户端1、客户端2:在/mnt目录下实现资源共享
服务器设置
回客户端1
回客户端三
看服务器和客户机l
服务器