Linux -- 进阶 自动挂载服务 ( autofs ) 介绍及安装 主配置文件分析

news2024/11/27 13:47:29

背景引入 : 

针对于 挂载 , 大家有没有思考过一个问题,如果我们需要挂载的文件或访问的远程数据甚至只是挂载一些设备,如果太多的话,数量很大的话,那 光每次挂载 敲的 mount 命令,都得敲很多遍啊, 会不会觉得很麻烦~?  

那有的同学就会说,你一次性挂载完不就行了,

那还有个问题就是,你挂载的这些东西,你能保证每时每刻都在用嘛 ??? 

你这个设备或文件挂载完后,有可能用完之后,就不需要了,甚至有可能就用这一次,以后的长时间里都不会用呢 ??  

那是不是就占用空间,浪费资源了 ???

所以,就提出一个需求 

===>>> 

        就是 当批量的设备或文件需要挂载时,我们形成自动化的挂载,即需要时就挂载,不需要时

        自己就自动卸掉了,即按需挂载 ~!!!

        那什么叫不需要呢 ?? 

        ===>>> 

                就是说,不访问挂载目录,只要退出挂载目录它就自动卸掉了,只要使用 cd  命令进这

                个 共享目录了,它自己就又自动挂载上了;  

                既按需使用同时也节省资源 ~!!!!!!!

                

        那怎么实现这个 需求呢 ?? 

        ===>>> 

                       这就引入 我们今天要讲的点 ----  自动挂载服务 ( Autofs ) 

产生原因 : 

                

     在一般 NFS 文件系统的使用过程中,如果客户端要使用服务端所提供的文件系统,可以

         在 /etc/fstab 中设置开机时自动挂载,也可以在登录系统后手动利用 mount 命令来挂载

         ( 但是,手动就伴随着 系统重启就会失效 。)

    #   由于网络的问题,NFS 服务器与客户端的连接不会一直存在,当我们挂载了 NFS 服务器之

         后,任何一方脱机都可能造成另一方等待超时,如果在资源挂载后长期不使用,也会造成

         服务器硬件资源的浪费。 

    #   为了解决这一问题,就提出下列想法 : 

         *  当客户端在有使用 NFS 文件系统的需求时才让系统自动挂载 

         *  当 NFS 文件系统使用完毕后 ( autofs 默认自动卸载时间为 300秒 即5 分钟 ),让NFS自

             动卸载。 

          ( 这 300秒 的意义就是, 举个例子,其实有的时候,使用完之后,立刻就卸掉好像也不太

               好,所以我们就设置了这个延迟时间,这个时间过了之后,就会自动卸载掉。  )

     #   autofs 自动挂载服务可以帮我们解决这一问题,该服务是运行在客户端的一种 Linux 系统守

         护进程,在用户需要使用该文件系统时才会去动态挂载,从而节约了网络资源和服务器的硬

         件资源。

         ( Autofs 它是一个软件,它就可以帮我们解决上面的需求,可以实现 按需挂载; 

           所以,它能实现我们的需求有一个很大的原因就是, Autofs 是有一个守护进程的,而且它

           是肯定会有个守护进程的,不然它怎么知道你需要的时候就可以立即给你挂载呢 ?? 

           这个守护进程 一直在监听 所有的共享目录,只要你 cd 命令进到这个共享目录里,它立刻

           就会给你挂载上,一直常驻内存,被动的监听着用户的访问,按照需要实现动态挂载~!)

           那它也是个软件,所以,我们先安装下 

安装

 服务端 : 

[root@server ~]# yum install autofs -y  # 服务端  Autofs安装 

  客户端 

[root@node1 ~]# yum install autofs -y   # 客户端 安装

    #  我们在 客户端  服务端 都装了 Autofs ; 

        其实,一般情况下,服务端是不需要装 Autofs 的,但是将来服务端也要用客户端的相关数

        据,不也就可以用了,不一定 Autofs 是专门用于自动化挂载远程服务的,它也可以自动化挂

        载本地 ( 比如自动化挂载本地光盘~~ ) 

        所以,就干脆 客户端 ,服务端 都安装上 ~!! 

        但是,注意,要是只使用远程的共享目录的话,那就只需要给 客户端 安装就好( 谁访问就给

        谁装嘛~!)

  定位到 客户端   : 

[root@node1 ~]# vim /etc/auto.master 

  

 #    /etc/auto.master   即是 Autofs 的主配置文件  ( 38 行,大部分都是注释  ) 

 #   上示主配置文件里的内容 最重要的就是 我们做标记的那个 (  /misc     /etc/auto.misc  ) 

       表示的含义就是  : 

                *   指明  要挂载的目录是哪个 ( /misc ) 

                *   它的配置文件的路径是什么  ( /etc/auto.misc ) 

       

       比如,现在有 100 多个设备需要挂载, 那按道理走,是不是就得在主配置文件里,把这100多

       个设备全写在里面,那这个主配置文件是不是肯定也就 多了 100 多行, 那这个配置文件就显

       得很臃肿 ( 人家本身也就 38 行,一下又多了 100 多行 ) 所以,就会显得比较臃肿~!!

        那么,为了不让配置文件不臃肿,将来检索文件效率高一点,所以,就不需要把 这 100 多个

        设备的挂载命令写到 这个配置文件里 ,  

       

        那怎么办呐 ? 

         ===>>> 

                    就是把 需要挂载的设备 独立的形成一个 子配置文件 ~!! 

                    以 上示 为例  (  /misc       /etc/auto.misc  )   

                    /misc          ===>>>>              就是 挂载的父目录  

                    /etc/auto.misc     ===>>>>    被挂载设备的子配置文件    

                   

                   为什么说 /misc  是父目录呢  ?? 

                   ===>>>

                              因为 自动挂载 有一个要求 就是  , 有一个父目录 是最好的 ~!!!

                              比如,要挂载的目录为 test  ,那它前面 就必须得 有一级 ,

                              那一级的父目录 就得写到 主配置文件里,你的被挂载的设备的相关目录就得写

                              到子配置文件里 ~!!!

       

       注  :  

                        *     父目录不需要 建立,你只需要在主配置文件里起个名字即可

                               它是自动建立的~!!!

主配置文件分析 : 

  

        #  配置文件路径  : /etc/auto.master 

        #  作用  :  

                   处于 生产环境中的 Linux 服务器,一般会同时管理许多设备的挂载操作。 如果把这些

                   设备挂载信息都写入到autofs 服务的主配置文件中,无疑会让主配置文件臃肿不堪,

                   不利于服务执行效率,也不利于日后修改里面的配置内容,则需要将挂载的设备形成

                   独立配置的子文件,主配置文件只存储配置挂载设置的文件名。

        #  /etc/auto.master  文件内容格式  :   挂载目录         子配置文件 

            *     挂载目录  :  不需要实现存在,因为 autofs 会主动建立该目录 

            *     子配置文件 : 文件名可自定义 

            *      示例  :   /nfs                 /etc/auto.nfs  

                    (  也不一定必须按照 auto. XXX  , 格式命名,  不需要这样 ~!!) 

子配置文件分析  :

        #     子配置文件由自己创建,内容格式 : 

               *   本地挂载目录     [ -挂载参数 ]      服务器地址 : 目录 

                    示例  :  testmnt         192.168.1.1:/data

               *   挂载参数 : 

       参数                                 功能 
      fg/bg当执行挂载时,该挂载行为会在前台( fg ) 还是后台( bg ) 执行,若在前台执行,则 mount 会持续尝试多次挂载,直到成功或 time out  为止;  若为后台执行,则mount 会在后台持续多次进行 mount ,而不会影响到前台的程序运行。 

                soft/hard      

hard 表示当 两者之间的任何一台主机脱机,则 RPC 会持续的呼叫,直到对方恢复连接为止。 

soft 则表示 RPC 会在 time out 后重复呼叫,而非持续呼叫

       intr当使用上面提到的 hard 方式挂载时,若加上 intr 这个参数,则当 RPC 持续呼叫时,该次的呼叫是可以被中断的
           rsize/wsize

读出( rsize ) 与 写入( wsize ) 的区块大小。 

这个设置值可以影响客户端与服务器 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/780223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flask 文件上传,删除上传的文件

目录结构 app.py from flask import Flask, request, render_template, redirect, url_for import osapp Flask(__name__) BASE_DIR os.getcwd() UPLOAD_FOLDER os.path.join(BASE_DIR, testfile)app.route(/) def home():files os.listdir(UPLOAD_FOLDER)return render_t…

如何对maven项目进行打jar包,出现不能打包的情况

若没有正确执行相应的操作,就会出现模块依赖无法找到的情况 Could not find artifact xxx:caro2o-system:pom:3.8.5 in public (https://maven.aliyun.com/repository/public)正确的打包操作 1.将现有的包清空 2.重新下载包 3.为确保数据正确,再次进行打包操作 4.观察控制…

【Python】基于Python和Qt的海康威视相机开发

文章目录 0 前期教程1 前言2 例程解析3 图像获取4 其他问题与解决办法5 使用到的python包 0 前期教程 【项目实践】海康威视工业相机SDK开发小白版入门教程(VS2015OpenCV4.5.1) 1 前言 此前写了一篇基于C开发海康威视相机的博客,貌似看的人…

设计模式结构型——享元模式

目录 什么是享元模式 享元模式的实现 享元模式的特点 什么是享元模式 享元模式(Flyweight Pattern)是一种结构型设计模式,享元模式中的“享元”指被共享的单元,享元模式通过复用对象,以达到节省内存的目的。要求能够…

[数学建模] [2019年A 模拟练习][层次分析法、熵值法、多目标优化、主成分分析法] 4. 深圳居民健康水平评估与测控模型研究

1、前言 2019年“深圳杯”数学建模挑战赛A题 原题,这个是当时学校内部校赛所作,为了拿到参加国赛名额,也权当是做一个简单的练手。 本次练习属于综合评判类,常用的方法无非 层次分析法、熵值法、多目标优化、主成分分析法 等&am…

简单了解内存泄漏(C++)

文章目录 定义举例内存泄漏的危害内存泄漏的种类如何避免内存泄漏 定义 内存泄漏是指在程序运行过程中,申请的内存空间没有被正确释放或回收,导致这些内存无法再次使用的情况。简而言之,内存泄漏就是程序中已经分配的内存没有被及时释放&…

APP抓包-代理转发绕过反代理+Xposed绕过证书校验

某牛牛安卓app防抓包 夜神模拟器打开牛牛,出现网络连接失败等情况。明明网络一切正常,为什么会这样呢? 因为牛牛设置了反代理,而我开启了代理 burp也无任何牛牛的数据包产生 关闭代理之后牛牛就正常了,可恶的牛牛啊&am…

Localizing Moments in Video with Natural Language论文笔记

0.文献地址 2017 Localizing Moments in Video with Natural Language 1.摘要 提出了Moment Context Network(MCN)有效地定位视频中的自然语言查询又提出了唯一识别对应时刻的文本描述的数据集DiDeMo 2.引言 作者提出了问题如果查询特定的时间段&am…

算法竞赛备赛之经典数据结构训练提升,暑期集训营培训

1.链表与邻接表:树与图的存储 我们将结构体和指针结合来实现链表 struct Node {int val;Node * next; }; ​ new Node;//这样创建结点是相当慢的 我们算法主要是用数组来模拟链表,这样效率会高一些。 数组模拟单链表 邻接表:存储图和树 实…

Spring Cloud【实现用户鉴权(什么是JWT、JWT原理、用户微服务、JWT工具类、用户服务实现JWT鉴权)】(八)

目录 Gateway解决如何允许跨域 服务网关Gateway实现用户鉴权_什么是JWT 服务网关Gateway实现用户鉴权_JWT原理 服务网关Gateway实现用户鉴权_用户微服务 服务网关Gateway实现用户鉴权_JWT工具类 服务网关Gateway实现用户鉴权_用户服务实现JWT鉴权 Gateway解决如何允许跨域…

5分钟开发一个AI论文抓取和ChatGPT提炼应用

5分钟开发一个AI论文抓取和ChatGPT提炼应用 第一步 点击“即刻开始” -选择模板 python -修改标题 “AIPaper”,项目标识“AIPaper”,点击“创建项目” 第二步 在编程区域右侧AI区域,输入框输入以下内容: 请根据下面的内容&…

4.3 Bootstrap CSS编码规范

文章目录 Bootstrap CSS编码规范语法声明顺序不要使用 import媒体查询(Media query)的位置带前缀的属性单行规则声明简写形式的属性声明Less 和 Sass 中的嵌套注释class 命名选择器代码组织编辑器配置 Bootstrap CSS编码规范 语法 用两个空格来代替制表…

Autosar通信入门系列04-聊聊CAN通信的Basic-CAN与Full-CAN

本文框架 1. 概述2. 基本内容2.1 什么是Basic-CAN与Full-CAN?2.2 既生瑜何生亮? 3. 不同报文类型如何选择Basic-CAN与Full-CAN? 1. 概述 在CAN通信学习时我们经常会遇到或者听同事聊到Basic-CAN与Full-CAN,单从字面上很难理解两个…

计讯物联工业路由器基于5G LAN技术成为工业互联网发展的“加速器”

随着5G的成熟发展,其易部署、低时延、高可靠、大带宽、广连接的特性助力传统工业智能数字化转型,解决了传统工业的布线繁琐、通信环境复杂易造成干扰、对时延与稳定性更加敏感、移动通信的网络需求、海量设备互联等难题。然而,5G在工业制造领…

软件测试基础 - 自动化测试技术

目录 前言: 什么是自动化测试? 自动化测试的优势: 自动化测试的劣势: 适合实施测试自动化的项目: 推行自动化测试的阻力: 软件研发生命周期各个阶段的自动化测试技术 前言: 软件测试是一…

还在手动维护Yapi?

因前后端人员通过接口定义字段,返回值等对接时非常苦恼,没有一个很好的平台维护,后端每次迭代都要写开发文档,需求变化,多系统联调等,给前后端联调造成阻塞。 1、后端开发文档编写规范 1)文档…

DataWhale AI夏令营——机器学习

DataWhale AI夏令营——机器学习 学习记录一1. 异常值分析2. 单变量箱线图可视化3. 特征重要性分析 学习记录一 锂电池电池生产参数调控及生产温度预测挑战赛 已配置环境,跑通baseline,并在此基础上对数据进行了简单的分析。 1. 异常值分析 对训练集…

Python知识使用目录体系

Python知识使用目录体系 前记:开始以Get No.方式进行记录,知识体系的建立 Get No. No1: IDEA(Java主要编辑器)中添加Python插件;(就在此总目录中写,属于纪念开始) 附加:另外一个pycharm工具使用python工…

pyqt5中的控件

字体部分 学习如何加载本地字体a.tff import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton from PyQt5.QtGui import QFont, QFontDatabaseclass MyWindow(QWidget):def __init__(self):super().__init__()self.button Noneself.label None…

【Java开发】 Mybatis-Plus 06:通用枚举功能

枚举类是开发时绕不开的话题, Mybatis-Plus 也提供了简便的枚举功能,快学起来吧~ 目录 1 版本区别 2 通用枚举功能实现 2.1 创建枚举类 2.2 实体类新增枚举字段 3 枚举字段测试 3.1 新增 ① 后台指定枚举 ② 前后端交互 3.2 查询 3.3 修改 ①…