Ubuntu-22.04使用systemd.mount挂载本地磁盘
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、systemd.mount是什么?
- 二、使用步骤
- 1.增加mount文件
- 2.测试mount文件
- 三、补充说明
- 总结
前言
挂载磁盘方式我们都知道很多人喜欢在/etc/fstab里面挂载磁盘,使用起来可以说是很方便,但有时候会出问题,比如说挂载的磁盘故障了会导致操作系统进入紧急模式。如果说你的服务器放在很远的机房里那我奉劝你一定要慎重,因为我遇到过这种问题。
使用systemd.mount哪怕出现问题也不会导致系统进入紧急模式。你只需进入系统之后排查问题即可。
一、systemd.mount是什么?
A unit configuration file whose name ends in “.mount” encodes information about a file system mount point controlled and supervised by systemd.
简而言之就是一组以.mount结尾的文件,描述的是关于磁盘和挂载点的信息,由systemd负责管理。
二、使用步骤
systemd是系统自带的,不需要额外安装软件。
1.增加mount文件
保存在/lib/systemd/system/目录下即可,需要sudo权限才能存放。这里举一个例子:如果我的磁盘是/dev/sda1,挂载点是/mnt/mount1,那么按照下面写就行了:
sudo vim /lib/systemd/system/mnt-mount1.mount
注意,文件名不是乱写的,如果你的挂载点是/mnt/mount1那就写成mnt-mount1.mount,否则无法正常挂载!
[Unit]
Description = Mount sda1 disk[Mount]
What = /dev/sda1
Where = /mnt/mount1
Type = ext4
Options = defaults[Install]
WantedBy = multi-user.target
建议不要直接使用/dev/sda1这样的字眼,最好使用UUID挂载,因为每次内核启动/sda*的顺序不是固定的。
[Unit]
Description = Mount sda1 disk[Mount]
What = UUID=<磁盘的UIID,通过sudo blkid确认,必须是格式化后的磁盘才有UUID>
Where = /mnt/mount1
Type = ext4
Options = defaults[Install]
WantedBy = multi-user.target
其中:
[Unit]: 必写的条目,和你写.service文件一样包含了比如Before、After等选项。详细移步:systemd.unit
[Mount]: 必写的条目,所有挂载条目都汇总在这个下面
What:要挂载的磁盘
Where:挂载点,一般是文件夹
Type:文件系统类型,这里是ext4,是什么就写什么比如ntfs,cifs等
Options:就是挂载参数,如果你不太了解或者没有特殊需求就填defaults类似你在/etc/fstab里写的一样
[Install]:分配到哪个target下面,也是必须写的,不能省略。
除此之外还有其他参数可选:
SloppyOptions:值是布尔类型,上面的Options条目里写的参数容忍度比较高,哪怕是不支持的参数也不会导致失败,顶多不起效果。和mount命令的-s选项一个意思,默认是off,即参数必须对否则挂载失败。这里建议不要改动,因为万一阴差阳错弄了一个不需要的参数,起到反作用,除非你确实需要。
LazyUnmount:值是布尔类型,在执行umount操作时将文件系统和文件系统层次结构分离,同时清除所有的对文件系统的引用,如果这些引用没被占用的话。和mount命令的-l参数是一个意思,默认是是off。
ReadWriteOnly:值是布尔类型,如果是false的话指定被挂载为rw(read-write)的文件系统如果失败了就会尝试挂载为ro(read-only)。如果为true的话,定被挂载为rw(read-write)的文件系统如果失败了就会立即返回失败不会考虑挂载为ro,和mount的-w命令是一个意思,默认值是off。
ForceUnmount:值是布尔类型,如果为true的话当执行umount指令的时候会立即强制umount。举个例子,如果你挂在了NFS,远程的服务器不响应了,单单执行umount你是不能umount的,只有强制umount才行。和mount的参数-f是一个意思,默认是off。
DirectoryMode:值是布尔类型,如果你要挂载的文件夹不存在就会自动创建一个并给与0755权限,如果不打开这个功能就会失败。
TimeoutSec:顾名思义,挂载超时时间(单位是秒),如果等待了这个时间还没有挂载成功,所有和本次挂载相关的命令都会被强制执行SIGTERM,然后再下一个TimeoutSec对它们执行SIGKILL。如果填0就是一直等待结束,可以填"5min 20s"这样的格式。
注:关于Options,不同的文件系统参数是不一样的,你可以到官方查一下,或者直接用defaults。
2.测试mount文件
测试起来也简单:
如果你修改了systemd的配置文件需要先加载配置:
sudo systemctl daemon-reload
挂载:
sudo systemctl start mnt-mount1.mount
卸载:
sudo systemctl stop mnt-mount1.mount
开机启动:
sudo systemctl enable mnt-mount1.mount
和.service的使用差别不大,这里不赘述了。
三、补充说明
关于Before和After刚才没说,哪怕你啥也不写,感觉好像啥也没写,其实不是这样,因为系统会给你默认添加一些值。比如:
Before=umount.target remote-fs.target multi-user.target
After=network-online.target -.mount network.target systemd-journald.socket system.slice remote-fs-pre.target
上面描述的基本是关于本地文件系统的加载,还有远程文件系统的加载,以后再说。
总结
1、写在/etc/fstab里面的可以配置开机自检,虽然开机自检很慢。配在mount里的没看到,貌似是没有。
2、写在/etc/fstab里的条目一旦出问题会导致系统进入紧急模式,如果是无人值守的就糟糕了,所以孰优孰劣请自行体验。
相关文章:
Ubuntu-22.04使用systemd.mount挂载本地磁盘
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、systemd.mount是什么?二、使用步骤1.增加mount文件2.测试mount文件 三、补充说明总结 前言 挂载磁盘方式我们都知道很多人喜欢在/etc/fstab里面…...
【Qt】界面定制艺术:光标(cursor)、字体(font)、提示(toolTip)、焦点(focusPolicy)与样式表(styleSheet)的深度探索
文章目录 前言:1. cursor: 设置按钮的光标2. front:设置字体3. toolTip: 鼠标悬停提示4. focusPolicy:设置控件获取到焦点的策略5. styleSheet : 样式表总结: 前言: 在现代软件开发中,用户界面(UI)的设计和…...
Python GraphQL服务器实现库之tartiflette使用详解
概要 Tartiflette是一个为Python编写的GraphQL服务器实现,它建立在现代异步编程库如asyncio之上,提供了高性能的GraphQL执行环境。Tartiflette专注于提供最佳的开发者体验,支持最新的GraphQL特性。 安装 安装Tartiflette相对简单,但需要依赖于一些系统级的库。 首先,需…...
面试官:请介绍类加载过程,什么是双亲委派模型?
🚀类加载过程是指在 Java 程序运行时,将类的字节码文件加载到内存中并转换为 Class 对象的过程。Java 类加载器负责加载类,其主要任务是在运行时查找和装载类文件,以生成对应的 Class 对象。 Java的类加载过程一般可以分为以下几个…...
mysql 细分
索引选择性 索引列的唯一值数量 / 表中的总行数 mysql如何优化-CSDN博客 批量问题 批处理默认是逐条发送 SQL 到数据库的,没有充分利用数据库提供的原生批处理能力,需要额外的配置来启用真正的批处理支持,如使用ExecutorType.BATCH 自定…...
数据驱动实战二
目标 掌握数据驱动的开发流程掌握如何读取JSON数据文件巩固PO模式 1. 案例 对TPshop网站的登录模块进行单元测试 1.1 实现步骤 编写测试用例采用PO模式的分层思想对页面进行封装编写测试脚本定义数据文件,实现参数化 1.2 用例设计 1.3 数据文件 {"login…...
解决参考文献自动生成标号,换行时自动缩进
问题如下图所示,红色方框部分应该填充内容,但自动生成标号时不会填充: 解决方案: 1. 选中内容: 2. 找到布局-段落: 3. 选择“无”,即可。...
网络安全专业岗位详解+自学学习路线图
很多网安专业同学一到毕业就开始迷茫,不知道自己能去做哪些行业?其实网络安全岗位还是蛮多的,下面我会介绍一些网络安全岗位,大家可以根据自身能力与喜好决定放哪个方向发展。 渗透测试/Web安全工程师 主要是模拟黑客攻击&#…...
mybatisPlus一个事务中切换数据源概述
概述 在多数据源的配置下,业务中经常遇到在一个被本地事务包裹的save/edi方法中需要查询另一个数据源的数据; 直接查询会提示table不存在,这是因为一个事务和一个mysql连接是绑定的,mysql的连接背后包含了数据库信息,…...
如何在Android手机上恢复已删除的视频?
有时,由于不同的原因,可能会发生意外的数据丢失灾难。 那么如何在Android手机内存或没有计算机的情况下恢复已删除的视频呢?本文将给你一个答案。 如何在Android上恢复已删除的视频? 不要惊慌!您可以在Android手机上恢…...
【项目实战】使用Github pages、Hexo如何10分钟内快速生成个人博客网站
文章目录 一.准备工作1.安装git2.安装node安装 cnpm 3.使用 GitHub 创建仓库,并配置 GitHub Pages0.Github Pages是什么1. 在 GitHub 上创建一个新仓库2. 创建您的静态网站3. 启用 GitHub Pages4. 等待构建完成5. 访问您的网站 二. Hexo1.什么是Hexo2.安装Hexo1. 安…...
大数据中服役新数据节点和退役旧节点步骤(hive,hadoop)
1- 节点上线操作 当要新上线数据节点的时候 ,需要把数据节点的名字追加在 dfs.hosts (1)关闭新增节点的防火墙 (2)在 NameNode 节点的 hosts 文件中加入新增数据节点的 hostname (3)在每个新…...
数论:不定方程的引入
研究的对象:不定方程 文章目录 研究的对象:不定方程不定方程引入:裴蜀定理证明:欧几里得算法证明:充分性证明:必要性证明: 战术总结: 不定方程引入: 不定方程࿰…...
数据中心法
数据中心法是实现词法分析器的结构化方法。通过设计主表和子表分开存储状态转移信息,实现词法分析器的控制逻辑和数据结构分离。 主要解决了状态爆炸、难以维护和复杂性的问题。 状态爆炸是指当状态和转移较多时,单一使用一个表来存储所有的信息的话会导…...
pdffactory pro8.0虚拟打印机(附注册码)
PdfFactory pro是一款非常受欢迎的PDF虚拟打印机,可以帮助用户将你的其他文档保存为PDF格式。请为用户提供打印/发送/加密等多种实用功能,以及一套完善的PDF打印方案。 使用说明 下载pdfFactory Pro压缩包,解压后,双击exe文件&am…...
处理用户输入
目录 一、传递参数 1.1 读取参数 1.2 读取脚本名 二、跟踪参数 三、移动参数 四、处理选项 4.1 查找选项 4.1.1 处理简单选项 4.1.2 分离参数和选项 4.1.3 处理含值的选项 五、选项标准化 5.1 使用 getopt 命令 5.1.1 命令格式 5.1.2 在脚本中使用getopt 5.2 使用…...
在装有centOS7的虚拟机上进行MySQL的安装部署
1.MySQL数据库介绍 1.开源的,跨平台的,社区版免费 2.支持多种存储引擎 3.支持多种主从复制 MySQL版本:5.6 5.7 8.0 https://www.mysql.com MySQL官网 2.安装MySQL5.7 1.配置MySQL仓库 2.安装MySQL服务端软件 3.启动MySQL服务 s…...
【vivado】debug相关时钟及其约束关系
一、前言 在xilinx fpga的degug过程中,经常出现由于时钟不对而导致的观测波形失败,要想能够解决这些问题需要了解其debug的组成环境以及之间的数据流。本文主要介绍debug过程中需要的时钟及各时钟之间的关系。 二、debug相关时钟 Vivado 硬件管理器使…...
什么是HTTP/2?
HTTP/2(原名HTTP 2.0)即超文本传输协议第二版,使用于万维网。HTTP/2主要基于SPDY协议,通过对HTTP头字段进行数据压缩、对数据传输采用多路复用和增加服务端推送等举措,来减少网络延迟,提高客户端的页面加载…...
【ChatGPT with Date】使用 ChatGPT 时显示消息时间的插件
文章目录 1. 介绍2. 使用方法2.1 安装 Tampermonkey2.2 安装脚本2.3 使用 3. 详细文档指引4. 反馈5. 未来计划6. 开源协议X. Changelog 1. 介绍 有时我们希望看到 ChatGPT 的消息时间,但 ChatGPT 并没有显示消息时间的功能。 本项目通过 Tampermonkey 开发…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
