作者:金berends_941 | 来源:互联网 | 2023-09-05 15:27
1.nfs概念nfs是networkfilesystem(网络文件系统)。nfs客户端一般是应用服务器(比如web,负载均衡等),可以通过挂载的方式将nfs服务器端共享的目录挂
1.nfs概念
nfs是network file system(网络文件系统)。
nfs客户端一般是应用服务器(比如web,负载均衡等),可以通过挂载的方式将nfs服务器端共享的目录挂载到nfs客户端本地的目录下 。
- 主要功能:通过网络让不同的服务器之间可以共享文件或者目录。
- 优点:1.节省本地存储空间,将常用的数据存放在一台nfs服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用;2.用户不需要在网络中的每个机器上都建有home目录,home目录可以放在nfs服务器上且可以在网络上被访问使用。3.一些存储设备如软驱、cdrom和zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
2.nfs工作原理
- 启动rpc服务
- 启动nfs服务
- 客户端请求nfs服务
- rpc把端口和ip地址给客户端
3.nfs协议
nfs在文件传送过程中依赖与rpc(远程过程调用)协议。
nfs本身是没有提供信息传送的协议和功能的,但是能够用过网络进行图片,视频,附件等分享功能。
只要用到nfs的地方都需要启动rpc服务,不论是nfs的服务端还是客户端
4.nfs默认端口:tcp 2049二、实际操作
nfs服务端:192.168.1.2
nfs客户端:192.168.1.3
1.安装nfs服务器
[root@c74 ~]# yum install rpcbind nfs-utils -y
2.关闭防火墙和selinux
[root@c74 ~]# systenctl stop firewalld
[root@c74 ~]# setenforce 0
3.配置nfs服务端
- 创建nfs共享目录
[root@c74 ~]# mkdir /data1
[root@c74 ~]# chmod -rf 777 /data1
- nfs服务的主配置文件
[root@c74 ~]# vi /etc/exports
/data1 192.168.1.2(rw,sync,root_squash) #ip可以是网段也可以是客户端的ip地址。
#exports配置常用参数
#ro 只读
#rw 读写
#root_squash 当nfs客户端以root管理员访问时,映射为nfs服务器的匿名用户
#no_root_squash 当nfs客户端以root管理员访问时,映射为nfs服务器的root管理员
#all_squash 无论nfs客户端使用什么账户访问,均映射为nfs服务器的匿名用户
#sync 同时将数据写入到内存与硬盘中,保证不丢失数据
#async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
4.启动nfs服务
[root@c74 ~]# systemctl restart rpcbind && systemctl enable rpcbind
[root@c74 ~]# systemctl start nfs-server && systemctl enable nfs-server
5.客户端连接服务端
showmount,主要使用命令来查询共享信息。此处测试好在其它机器测试
[root@c66 ~]# showmount -e 192.168.1.3
[root@c66 ~]# mount -t nfs 192.168.1.3:/data1 /mnt
#如果想要开机挂载,请编辑 /etc/fstab文件
6.测试
- 服务端测试
在服务端的共享文件里新建目录、文件,在客户端查看是否同步1)在服务端共享目录里新建目录11和文件22.txt2)在客户端查看 - 客户端测试
在客户端的服务端的挂载目录里新建目录、文件,在服务端查看是否同步1)在客户端挂载目录里新建目录和文件2)在服务端查看注意:在服务端创建目录和文件与在客户端创建目录和文件它们的属主、属组不同