当前位置: 首页 > news >正文

Linux 配置NFS与autofs自动挂载

目录

配置NFS服务器

安装nfs软件包

配置共享目录

防火墙放行相关服务

配置NFS客户端

autofs自动挂载

配置autofs


配置NFS服务器

nfs主配置文件参数(/etc/exports)

共享目录  允许地址1访问(选项1,选项2)  循序地址2访问(选项1,选项2)……

允许地址的格式

子网、主机地址、指定域名、*(表示所有主机)

选项

ro                        共享目录只可读

rw                        共享目录可读可写

all_squash            将远程访问的用户以及所属用户组都映射为匿名用户和匿名用户组

no_all_squash       与all_quash相反

anonuid=xxx       将远程访问的用户都映射为匿名用户,并指定该匿名用户为本地用户

sync                     将数据同步写入到内存缓冲区与磁盘中(保证数据的一致性)

asyn                     先将数据保存在内存缓冲区,需要时再写入硬盘

secure                  限制客户端只可以从小于1024的TCP/IP端口连接FNS服务器(默认)

insecure               允许从大于1024的端口连接NFS服务器

安装nfs软件包

NFS服务所需的进程

rpc.nfsd         nfs的主要进程,负责管理客户端的登录,判别登入者ID

rpc.mountd   负责管理NFS的文件系统,通过读取NFS主要配置文件/etc/exports对客户端进行权限锁定

rpc.lockd        非必要进程,主要解决多个客户端同时写入的问题(必须在客户端和服务端都开启才有用,长与statd同时使用)

rpc.statd        非必要进程,用于检查文件的一致性,检查文件是否被摧毁(必须在客户端和服务端都开启才有效)

为了支持NFS,需要启用多个服务进程,每个进程都会占用一个端口来传输数据;其中除了nfsd使用固定的2049端口,其余的都随机使用小于1024的端口,用户如何知道这些端口,

此时就需要使用rpcbind服务进程来实现

rpcbind         管理ROC服务进程和端口之间的映射关系(NFS服务进程启用时,选取端口,向rpcbind注册映射消息;客户端请求NFS相关进程时,先请求rpcbind得到相应的端口,然后再通过端口与对应进程建立通信)

启动NFS服务

安装软件包

安装nfs-utils包:包含nfsd、mountd、lockd、statd等服务端的守护进程和客户端相关工具

安装rpcbind包:包含rpcbind进程

yum -y install nfs-utils

yum -y install rpcbind

注意:安装完nfs-utils后,rpcbind默认启动

启用相关服务

systemctl start nfs服务

systemctl start rpcbind

查看服务状态

systemctl status nfs服务

systemctl status rpcbind

设置开机自启动服务

systemctl enable nfs服务

systemctl enable rpcbind

配置共享目录

创建目录

mkdir -p /nfs1/share1

更改权限

chmod 777 /nfs1/share1

配置共享目录到nfs的主配置文件/etc/exports下

vim /etc/exports

/nfs1/share1 172.25.250.*(rw,sync,all_squash)

重新挂载(exportfs 管理NFS服务器共享的文件系统)

export -ar 重新加载NFS配置文件(或者重启nfs服务也可以)

       -a                        全部

       -r                        重新挂载某个目录

       -u 客户端:目录    卸载某个目录(并没有删除配置文件的内容)

       -v                        显示NFS服务器上的所有共享目录(显示详细信息)

检查共享目录是否设置正确(shownmount)

showmount -e     显示NFS服务器上所有的共享目录-显示简要信息

           -d    仅显示已经被NFS客户端加载的目录

防火墙放行相关服务

可以在文件/etc/sysconfig/nfs为每个服务进程设置固定端口,然后防火墙放行

也可以直接防火墙放行所有nfs服务

firewall-cmd --add-service=nfs  防火墙放行NFS服务


配置NFS客户端

安装nfs软件包

yum -y install nfs-utils

启用相关服务

systemctl start nfs服务

systemctl start rpcbind

查看服务状态

systemctl status nfs服务

systemctl status rpcbind

设置开机自启动服务

systemctl enable nfs服务

systemctl enable rpcbind

检查共享目录是否设置正确

showmount -e nfs服务器地址

挂载到NFS服务器的文件到本地

mkdir -p /media/nfs1        创建挂载点

临时挂载

mount -t nfs 服务器地址: /nfs1/share1 /media/nfs1   将服务器上的/nfs1/shar1挂载到本地/media/nfs1目录

永久挂载

服务器地址:/nfs1/share1  /media/nfs1 nfs rw,sync 0 0

sync 缓冲和磁盘一起写入,防止数据丢失


autofs自动挂载

在NFS客户端配置,取代vim /etc/fstab挂载

为什么需要autofs

由于网络的问题,NFS客户端与服务器的连接不会一直存在,当我们挂载了NFS服务器之后,任何一方脱机都可能造成另一方等待超时,以此通过autofs来解决此问题

autofs自动挂载原理

持续监听某个目录,然后当我们使用某个目录下的子目录时,会根据规则文件自动挂载

对于NFS来说:当客户端在使用NFS文件系统时,才让系统自动挂载;当NFS文件系统使用完毕后,让NFS自动卸载

配置autofs

将nfs服务器的/nfs1/share1挂载到/media/nfsclient

相对路径挂载方法

1、安装软件包

yum install -y autofs

2、启动相关服务

systemctl start autofs.service

systemctl enable autofs.service

3、配置autofs的主映射文件(/etc/auto.master)

/etc/auto.master  进行自动挂载时参考的主映射文件(根据此文件来设置自动挂载时的挂载点)

可以通过在/etc/default/autofs中设置MASTER_MAP_NAME变量来更改默认的主映射文件

文件格式

挂载点的主目录(/media)   挂载点对应的子配置文件(可以任意创建/etc/rule.auto)

4、配置挂载点主目录的子配置文件(/etc/rule.auto)

挂载点的子目录(/nfsclient) 挂载选项(-nfs,rw,sync)   要挂载设备(nfs服务器:/nfs1/share1)

注意使用autofs自动挂载,就不需要主动去创建挂载目录

5、重启autofs服务

systemctl restart autofs

绝对路径挂载方法

1、2、5步同相对路径方法

3、配置主映射文件

/-  /etc/rule.auto  /-表示使用绝对路径

4、配置子配置文件格式(vim /etc/rule.auto)

/media/nfsclient (-nfs,rw,syns) nfs服务器:/nfs1/share1

相关文章:

Linux 配置NFS与autofs自动挂载

目录 配置NFS服务器 安装nfs软件包 配置共享目录 防火墙放行相关服务 配置NFS客户端 autofs自动挂载 配置autofs 配置NFS服务器 nfs主配置文件参数(/etc/exports) 共享目录 允许地址1访问(选项1,选项2) 循序地…...

【编程入门】应用市场(Python版)

背景 前面已输出多个系列: 《十余种编程语言做个计算器》 《十余种编程语言写2048小游戏》 《17种编程语言10种排序算法》 《十余种编程语言写博客系统》 《十余种编程语言写云笔记》 《N种编程语言做个记事本》 目标 为编程初学者打造入门学习项目,使…...

异常信息记录入库

方案介绍 将异常信息放在日志里面,如果磁盘定期清理,会导致很久之前的日志丢失,因此考虑将日志中的异常信息存在表里,方便后期查看定位问题。 由于项目是基于SpringBoot构架的,所以采用AdviceControllerExceptionHand…...

Spring Batch 高级篇-分区步骤

目录 引言 概念 分区器 分区处理器 案例 转视频版 引言 接着上篇:Spring Batch 高级篇-并行步骤了解Spring Batch并行步骤后,接下来一起学习一下Spring Batch 高级功能-分区步骤 概念 分区:有划分,区分意思,在…...

ES数据迁移_snapshot(不需要安装其他软件)

参考文章: 三种常用的 Elasticsearch 数据迁移方案ES基于Snapshot(快照)的数据备份和还原CDH修改ElasticSearch配置文件不生效问题 目录1、更改老ES和新ES的config/elasticsearch.yml2、重启老ES,在老ES执行Postman中创建备份目录…...

【Vue3 第二十章】异步组件 代码分包 Suspense内置组件 顶层 await

异步组件 & 代码分包 & Suspense内置组件 & 顶层 await 一、概述 在大型项目中,我们可能需要拆分应用为更小的块,以减少主包的体积,并仅在需要时再从服务器加载相关组件。这时候就可以使用异步组件。 Vue 提供了 defineAsyncC…...

「媒体邀约」四川有哪些媒体,成都活动媒体邀约

传媒如春雨,润物细无声,四川省位于中国西南地区,是中国的一个省份。成都市是四川省的省会,成都市是中国西部地区的政治、经济、文化和交通中心,也是著名的旅游胜地。每年的文化交流活动很多,也有许多的大企…...

@Autowired和@Resource的区别

文章目录1. Autowired和Resource的区别2. 一个接口多个实现类的处理2.1 注入时候报错情况2.2 使用Primary注解处理2.3 使用Qualifer注解处理2.4 根据业务情况动态的决定注入哪个serviceImpl1. Autowired和Resource的区别 Aurowired是根据type来匹配;Resource可以根…...

Linux系列:glibc程序设计规范与内存管理思想

文章目录前言命名规范说明版式风格内存管理与智能指针关于UML前言 这是一个基于lightdm、glibc、gobject、gtk、qt、glibc、x11、wayland等多个高质量开源项目总结而来的规范。 glibc处于内核态与用户态的边界,承上启下,对用户的体验影响非常大。其在系…...

Redis 集群

文章目录一、集群简介二、Redis集群结构设计🍉2.1 数据存储设计🍉2.2 内部通信设计三、cluster 集群结构搭建🍓3-1 cluster配置 .conf🍓3-2 cluster 节点操作命令🍓3-3 redis-trib 命令🍓3-4 搭建 3主3从结…...

EF 框架的简介、发展历史;ORM框架概念

一、EF 框架简介EF 全称是 EntityFramework 。Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。ORM框架(Object Relational Mapping) 翻译过来就是对象关系映射。如果不用ORM框架,我们一般这样…...

注解原理剖析与实战

一、注解及其原理 1.注解的基本概念 注解,可以看作是对 一个类/方法的一个扩展的模版,每个类/方法按照注解类中的规则,来为类/方法注解不同的参数,在用到的地方可以得到不同的类/方法中注解的各种参数与值。 从JDK5开始&#xff…...

《STL源码剖析》理解之将类成员函数和for_each等算法结合

类成员函数可以通过函数适配器(function adapters)包装成一个仿函数(重载了operator()的类)&#xff0c;将其搭配于STL算法一起使用。#include <algorithm> #include <functional> #include <vector> #include <iostream>using namespace std;class In…...

如何构建应用标准化体系

标准化的过程实际上就是对运维对象的识别和建模过程。形成统一的对象模型后&#xff0c;各方在统一的认识下展开有效协作&#xff0c;然后针对不同的运维对象&#xff0c;再抽取出它们所对应的运维场景&#xff0c;接下来才是运维场景的自动化实现。 在标准化的过程中&#xf…...

【RabbitMQ笔记03】消息队列RabbitMQ七种模式之WorkQueues工作队列模式

这篇文章&#xff0c;主要介绍消息队列RabbitMQ七种模式之WorkQueues工作队列模式。 目录 一、工作队列模式 1.1、什么是Work Queues模式 1.2、工作队列模式的使用 &#xff08;1&#xff09;引入依赖 &#xff08;2&#xff09;编写生产者 &#xff08;3&#xff09;编写…...

认识html

1.html的特点先看一段简单的html代码<html><head></head><body>hello world</body> </html>如果将这段带有这段代码的.html文件拉进浏览器中,就会出现一个页面,内容就是hello world,如下图:由上面的代码,我们可以了解到一些html代码的特点…...

在外包公司熬了 3 年终于进了字节,竭尽全力....

其实两年前校招的时候就往字节投了一次简历&#xff0c;结果很明显凉了&#xff0c;随后这个理想就被暂时放下了&#xff0c;但是这个种子一直埋在心里这两年除了工作以外&#xff0c;也会坚持写博客&#xff0c;也因此结识了很多优秀的小伙伴&#xff0c;从他们身上学到了特别…...

绝对让你明明白白,脚把脚带你盯着 I2C 时序图将 I2C 程序给扣出来(基于STM32的模拟I2C)

目录前言一、关于STM32 I/O端口位的基本结构讲解二、模拟I2C编写前的需知道的知识1、I2C简介2、根据时序编写模拟I2C程序重要的两点Ⅰ、主机发送数据给从机时的时序控制Ⅱ、主机接收来自从机的数据时的时序控制Ⅲ、完整的I2C时序图&#xff08;按写程序的思想分割时序&#xff…...

2023年全国最新工会考试精选真题及答案5

百分百题库提供工会考试试题、工会考试预测题、工会考试真题、工会证考试题库等&#xff0c;提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 一、单选题 1.企业工会委员会实行&#xff08;&#xff09;&#xff0c;重要问题须经&#xff08;&#x…...

一文2000字手把手教你自动化测试Selenium+pytest+数据驱动

主流自动化框架 selenium &#xff1a;web端自动化框架 &#xff0c;&#xff08;行业里面最核心的框架&#xff09; appium &#xff1a;手机app端框架 requests &#xff1a;接口测试 selenium 工具类封装 selenium提供了很多方法供我们去完成网页元素的操作&#xff0c; …...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...