当前位置:   article > 正文

云计算学习之路——文件服务NFS_云做文件服务器

云做文件服务器

文件服务——NFS

一、NFS介绍

NFS(Network File System,网络文件系统),允许计算机之间通过网络来共享彼此的资源,NFS服务端可以让客户端将服务端共享的目录挂载到本地的文件系统中,此时客户端就可以读写位于NFS服务器上的共享目录下的文件,且两端可以实现实时同步(即服务端或客户端对共享目录下的内容进行增删时,两端将会同步)

二、原理

NFS服务本身是不提供数据传递的协议的,而是需要借助RPC(Remote Procedure Call,远程过程调用)来实现客户端与服务端的连接

因为NFS还有很多其他功能,这些功能会随机启动其他端口去传输数据,因此NFS对应的端口并不固定,这就导致客户端不知道服务端使用的是哪个端口,此时RPC工具将会解决这一问题,因为RPC的端口是固定的为111。

首先当NFS启动后,会随机使用一些端口,此时RPC将会记录NFS使用的端口信息,并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那么服务端的RPC就会将记录的NFS端口告知客户端的RPC,如此客户端就会获取NFS服务器端的端口信息,就会以实际端口进行数据的传输了。

三、NFS服务部署

服务端ip:192.168.58.143
客户端ip:192168.58.140

1、服务端
① 关闭防火墙和selinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

②安装nfs和rpc服务

[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# yum -y install rpcbind

③创建共享目录,并在目录下创建测试文件

[root@localhost ~]# mkdir /mnt/share_dir
[root@localhost ~]# echo 'This is a test file!!!' > /mnt/share_dir/test.txt

④修改配置文件并启动nfs和rpc服务

[root@localhost share_dir]# vim /etc/exports
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
在这里插入图片描述
nfs服务的配置文件的格式:
在这里插入图片描述
配置文件中括号里的参数:
ro: //只读权限
rw: //读写权限
sync: //同步方式存储数据,直接将数据保存到内存和磁盘
root_squash: // 对于使用分享目录的使用者如果是root用户,那么这个使用者的权限将被压缩成为匿名使用者,只读权限。
no_root_squash: //使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限,不限制对方用root用户使用

2、客户端
①关闭防火墙和selinux

[root@client1 ~]# systemctl stop firewalld
[root@client1 ~]# setenforce 0

②安装nfs和rpc服务并启动

[root@client1 ~]# yum -y install nfs-utils
[root@client1 ~]# yum -y install rpcbind
[root@client1 ~]# systemctl start nfs
[root@client1 ~]# systemctl start rpcbind

③创建挂载点并挂载

从客户端的角度来说,在安装并启动好NFS和RPC服务之后,第一个操作为mount,这里的mount是代表将远程NFS服务器共享出来的文件系统挂载到本地文件系统空间中,来实现资源的共享。

[root@client1 ~]# mkdir /mnt/nfs1
[root@client1 ~]# mount -t nfs 192.168.58.143:/mnt/share_dir /mnt/nfs1
在这里插入图片描述

④验证

客户端可以访问共享目录下的内容
在这里插入图片描述

⑤实时同步测试和权限测试
实时同步测试:

1、客户端在共享目录下创建文件或目录,服务端实时同步
在这里插入图片描述
在这里插入图片描述
2、服务端在共享目录下创建文件或目录,客户端实时同步
在这里插入图片描述
在这里插入图片描述

ro权限测试:

1、服务端修改配置文件,并重启服务
[root@localhost share_dir]# vim /etc/exports
[root@localhost share_dir]# systemctl restart nfs
在这里插入图片描述
2、客户端测试
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/770920
推荐阅读
相关标签
  

闽ICP备14008679号