NFS简介:
NFS(Network File System)即网络文件系统,它允许网络中服务器之间通过TCP/IP网络共享资源,(让不同的机器,不同的系统实现文件共享。NFS客户端可以将NFS服务器共享的
目录挂载在本地的文件系统中,访问目录就如同访问自己本地目录一样。)
NFS的一个最大优点就是可以节省本地存储空间.
如图:
NFS客户端 NFS服务端
说明:
1.首先NFS服务器端开启rpcbind;
2.然后服务端开启NFS服务,这时NFS的各项功能都需要向RPC服务注册,这时rpc会通知portmap模块将可用的端口分配给statd,rquotad等;
3.然后NFS客户端RPC服务就会通过网络向NFS服务端的RPC服务的111端口发出NFS文件存取功能的询问请求。
4.NFS服务端的RPC服务找到对应的已注册的NFSdaemon端口后,通知NFS客户端的RPC服务。
5.此时NFS客户端就可获取到nfs服务端各个进程的正确端口,然后通过客户端rpc就直接与NFS服务器的rpc进行存取数据了(rpc知道了nfs的具体端口,就可以实现远程调用,即传输)。
NFS体系至少有两个主要部分:
一台NFS服务器和若干台客户机
环境准备:
A:192.168.190.130 作服务端
B:192.168.190.131 作客户端
在A服务端机器 安装nfs-utils和rpcbind包:
nfs-utils包提供了NFS服务器程序和相应的管理工具
rpc则是能够获得nfs服务器端的端口号等信息
1、服务安装
服务器和客户端都关闭防火墙,装好nfs服务组件:
# 关闭防火墙:
systemctl stop firewalld && systemctl disable firewalld
# 临时关闭selinux:
setenforce 0
# 永久关闭selinux:
sed -i ‘s/=enforcring/=disabled/’ /etc/selinux/config
2.安装nfs和rpc服务组件:
yum install -y nfs-utils rpcbind
如果安装失败,那么就查看这个
Yum repolist
mount /dev/cdrom /mnt/
yum install -y nfs-utils rpcbind
3. 检查是否启动了rpcbind服务并监听着 111端口:
netstat -tunlp | grep 111
如果没有111,就说明没有启动哦!
启动:systemctl enable rpcbind.service
4. 配置NFS服务的配置文件,参数配置: vi /etc/exports
(1) 创建这个目录:
/data/NFSdata 192.168.10.3/24(rw,sync)
说明:
/data/NFSdata #表示你要共享的目录
192.168.190.131/24 #表示所允许访问的客户端IP
(rw,sync) #rw:表示读写权限,sync:表示数据同步写入内存硬盘
(2) 编写vi /etc/exports
5.启动nfs服务
systemctl start nfs
6. 设置开机启动:
systemctl enable rpcbind.service
systemctl enable nfs-server.service
ps -ef | grep nfs
在B客户端机器 安装nfs-utils和rpcbind包:
mount /dev/cdrom /mnt/
yum clean all
yum install -y nfs-utils rpcbind
(1) 创建目录保存数据
(2) 设置开机启动
systemctl start rpcbind
systemctl enable rpcbind.service
注意:nfs不启动
- 用showmount搜索网络中可用的共享文件:
showmount -e 192.168.190.130
挂载:
mount -t nfs 192.168.190.130:/data/NFSdata /NFS
df -h
说明130上的export生效了,接着创建131主机上与/data/nfs 挂载(映射)的目录,并挂载:
测试
1.在服务端创建文件夹test mkdir test
2.查看客户端是否有同步的文件 ll
3.可以在客户端创建文件 touch 222.txt
解决在服务端给这个文件权限
再次操作 touch 222.txt
在服务端查看是否同步