热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

LinuxNFS机制工作原理及实例解析

这篇文章主要介绍了LinuxNFS机制工作原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

什么是NFS?

network file system 网络文件系统

通过网络存储和组织文件的一种方法或机制。

为什么要用NFS?

前端所有的应用服务器接收到用户上传的图片、文件、视频,都会统一放到后端的存储上。

共享存储的好处:方便数据的查找与取出,缺点:存储服务器压力大,坏了丢失全部数据。

NFS工作原理

NFS功能,有很多服务,每个服务都有自己的端口,并且经常变换。

客户端查找这些端口,就需要一个中间人---RPC服务(默认端口号111)。

工作流程:

1.启动RPC服务

2.启动NFS服务(同时向RPC服务注册启动的端口)

3.客户端向RPC请求NFS服务

4.RPC返回端口到客户端

5.客户端用返回的端口地址向NFS请求传输数据。

安装NFS服务

安装:yum install nfs-utils rpcbind

查看:rpm -qa nfs-utils rpcbind

开启服务并设置开机自启:systemctl start rpcbind.service  systemctl enable rpcbind.service

systemctl start nfs  systemctl enable nfs

配置NFS

nfs配置文件 /etc/exports

执行命令man exports 找到其中的:

配置文件的格式:

要共享的目录  访问的主机(权限)

①要共享的目录:存取数据的目录

②访问的主机:单个主机:172.16.1.7或主机名  网段:172.16.1.0/24或172.16.1.*

③权限:rw 可读  ro 只读  sync 写到远端磁盘(慢,安全)  async 异步写到远端缓冲区(快,不安全)

    root_squash  anOnuid=匿名用户的UID  anOngid=匿名用户的GID

    all_squash 无论客户端是什么用户,到服务端都当做nfsnobody

[root@nfs01 ~]# vim /etc/exports

注:一个目录可同时给多个主机共享,如上图test。注意小括号和前面的字符中间没有空格。

创建目录:[root@nfs01 ~]# mkdir -p /data

nfs的默认用户是nfsnobody,所以要对目录进行授权:[root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data

重启NFS:[root@nfs01 ~]# systemctl reload nfs 或者 exportfs -r (平滑重启)

检查:

打开web01虚拟机,安装rpc和nfs服务(原则上客户端只安装rpc即可,我们这里是为了测试showmount命令)

挂载共享目录,并创建文件测试

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
  • NFS文件共享系统
    1、概述:NFS(NetworkFileSystem)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 一面自我介绍对象相等的判断,equals方法实现。可以简单描述挫折,并说明自己如何克服,最终有哪些收获。职业规划表明自己决心,首先自己不准备继续求学了,必须招工作了。希望去哪 ... [详细]
  • Linux 服务器修改用户名
    Linux服务器修改用户名1、编辑名称vimetchostname2、保存编辑并退出wq3、重 ... [详细]
  • 项目需要将音视频文件上传服务器,考虑并发要求高,通过七牛来实现。直接上代码usingQiniu.IO;usingQiniu.IO.Resumable;usingQiniu.RPC; ... [详细]
  • 对于一般的扩展包,我们一般直接pipinstallxxx即可安装,但是unrar直接安装后,发现并不能通过Python程序实现解压的功能& ... [详细]
author-avatar
多米音乐_54101533
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有