Linux开机自动挂载文件系统的几种方式

这篇具有很好参考价值的文章主要介绍了Linux开机自动挂载文件系统的几种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一. 前言

在Digitalocean上,给主机添加硬盘时,为了免去分区、格式化、挂载等麻烦,可以选择让运营商帮忙自动完成以上操作。

查看文档可知,运营商在添加硬盘时,在挂载阶段自动执行了以下脚本:

1). 创建挂载目录。

mkdir -p /mnt/volume

2). 挂载硬盘(临时挂载,主机重启后失效)。

mount -o discard,defaults /dev/disk/by-id/scsi-0DO_Volume_volume /mnt/volume

3). 修改/etc/fstab,使得挂载持久化,主机重启后将自动挂载硬盘。

echo /dev/disk/by-id/scsi-0DO_Volume_volume /mnt/volume ext4 defaults,nofail,discard 0 0 | sudo tee -a /etc/fstab

随后,当计划按照需要将修改挂载目录/mnt/volume修改为/mnt/data时,只需要创建新的挂载目录,修改/etc/fstab的相关内容即可:

/dev/disk/by-id/scsi-0DO_Volume_volume /mnt/data ext4 defaults,nofail,discard 0 0

非常方便。

几年前确实可以这样操作,然而,这次实际操作时发现,/etc/fstab文件中并不存在对应的挂载配置。

难道运营商没有做持久化挂载,但重启主机发现,挂载是持久化的。当强行在/etc/fstab文件中添加挂载配置:

/dev/disk/by-id/scsi-0DO_Volume_volume /mnt/data ext4 defaults,nofail,discard 0 0

重启主机后会发现,硬盘同时被挂载到了两个目录:

/mnt/volume

/mnt/data

这就说明:

1). 官方文档关于自动挂载硬盘的说明已经过期。

2). Linux还有其它自动挂载硬盘的方式。

二. Linux开机自动挂载硬盘的几种方式

1. /etc/fstab配置硬盘自动挂载。

/etc/fstab管理硬盘的自动挂载的是最常规的方式,本文不再赘述。

2. 开发初始化脚本挂载硬盘。

/etc/rc.local文件本质上是一个shell脚本文件,可用于添加开机启动命令,系统启动时将按顺序执行其中的命令。

因此,可直接将mount命令:

mount -o discard,defaults /dev/disk/by-id/scsi-0DO_Volume_volume /mnt/volume

写入/etc/rc.local,从而实现硬盘的开机自动挂载。

3. 使用Systemd自动挂载硬盘。

Linux systemd,不仅可以用来关闭与开启服务,也提供处理挂载和自动挂载文件系统的新方式,即以一项服务的方式了管理文件系统的挂载。

Systemd扩展了fstab文件的定义方式,合理使用Systemd提供的挂载选项,可以完美地解决以前使用/etc/fstab时一些痛点。

1). systemd.mount可以让那些要求在网络可用时的文件系统在网络已经可用的情况下才去挂载,还可以定义等待网络可用的超时时间,从而避免在开机过程中长时间卡住。

2). systemd可以让某个挂载项自动开始挂载和自动卸载,而不是在开机时挂载后永久挂载在后台。

3). systemd可以让系统跳过失败的挂载,避免系统因硬盘挂载问题而启动失败,无法进入系统(只能进入临时修复系统)。

当前Digitalocean提供的硬盘自动挂载服务正是使用了Systemd的挂载方式。查看/etc/systemd/system目录即可看到一个名为mnt-volume.mount的文件:

/etc/systemd/system/mnt-volume.mount

该文件定义了一个挂载项:

[Unit]

Description=Mount DO Volume volume



[Mount]

What=/dev/disk/by-uuid/d946870c-ef31-48ee-a9f1-446acaa56f46

Where=/mnt/volume

Options=defaults,nofail,discard,noatime

Type=ext4



[Install]

WantedBy = multi-user.target

通过这种挂载方式,我们可以像管理一项服务一样来管理挂载:

systemctl status mnt-volume.mount
systemctl enable mnt-volume.mount
systemctl disable mnt-volume.mount
systemctl start mnt-volume.mount
systemctl stop mnt-volume.mount

Systemd的文件挂载选项非常丰富,具体情况本文不再赘述。

4. 通过AutoFs服务来管理硬盘挂载。

AutoFs服务程序与mount命令的不同之处在于它是一种守护进程,只有检测到用户试图访问一个尚未挂载的文件系统时才自动的检测并挂载该文件系统。

Autofs非常方便,主要有两点:

1). 设置开机不一定要挂载的目录,当用户访问对应文件系统的时候才实现自动挂载。

2). 用户不使用自动挂载的目录一段的时间之后,文件系统会被自动卸载(默认时间为5分钟)。

AutoFs属于第三方软件,需要额外安装:

yum install -y autofs

AutoFs的具体使用方法本文同样不进行具体说明。文章来源地址https://www.toymoban.com/news/detail-485847.html

到了这里,关于Linux开机自动挂载文件系统的几种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在Linux系统中执行.sh文件的几种方法

    cd到.sh文件所在的目录,然后执行./xxx.sh 【前提:该./sh文件要有可执行的权限,chmod u+x xxx.sh】 在.sh文件路径下直接使用sh加.sh文件名即可 【是否有可执行权限都可以】 注意事项:**用“./”加文件名.sh执行时,必须给.sh文件加x执行权限 ./home/test/shell/hello.sh,可以这样运行是

    2024年02月12日
    浏览(34)
  • 玩机搞机---修改系统固件不开机 安卓13去除系统app签名验证的几种方法

        谷歌在安卓13中对系统应用添加了一层校验验证,你如果修改了系统app.那么原有的签名加载后过不去验证,会导致进不去系统卡第一屏或者进入系统后修改的app错误等等故障。 Android 13增加了新的apk签名校验机制,现在开机中它会对所有系统分区(可能包括system、system_

    2024年02月12日
    浏览(42)
  • CentOS - NFS实现共享文件夹及开机自动挂载功能

    1、NFS通过RPC远程控制调用实现文件共享功能 (原理) 2、由于NFS是两台或者多个服务器共享,必有一台是需要安装NFS服务的也称之为服务端,其余的服务器(客户端)只安装RPS远程调用就可以实现共享功能(认清谁是服务端,谁是客户端) 安装流程如下: 注意:这里需要检查

    2024年02月07日
    浏览(31)
  • 27. Ubuntu 20.04 开机自动挂载文件/etc/fstab

    不同于热插拔的设备,对于硬盘可能需要长期挂载在系统下,所以如果每次开机都去手动mount是非常痛苦的,当然Ubuntu系统的GNOME桌面自带的gvfsd也会帮你自动挂载,但是指向的路径却是按照uuid命名的,这是极其痛苦的,所以希望开机就可以自动挂载硬盘到指定路径。 系统开

    2024年02月06日
    浏览(47)
  • Java读取文件的几种方式

    1. 使用流读取文件 2. 使用JDK1.7提供的NIO读取文件(适用于小文件) 3. 使用JDK1.7提供的NIO读取文件(适用于大文件) 4. 使用JDK1.4提供的NIO读取文件(适用于超大文件) 5. 使用cmmons-io依赖提供的FileUtils工具类读取文件 添加依赖: 6. 使用cmmons-io依赖提供的IOtils工具类读取文件 添加依赖:

    2024年02月16日
    浏览(39)
  • java 读取文件的几种方式

    在 Java 中有几种常用的方式来读取文件: 使用 FileInputStream 类以字节的方式读取文件。 使用 BufferedReader 在字符输入流上包装一个缓冲区,以行为单位读取文件。 使用 Scanner 类以分隔符为标志读取文件。 使用 Files 类的 readAllLines 方法一次性读取所有行。 使用 ObjectInputStream 反

    2024年02月14日
    浏览(33)
  • Linux 安装软件的几种方式

    哈喽大家好,我是咸鱼 相信小伙伴们都知道在 Linux 中,安装软件一般有三种方式 yum 安装 rpm 安装 源码编译安装 咸鱼平时三种安装方式都会用,但是具体原理和区别却没有去深入了解过 结果上周部门刚来的新人问我这几种安装方式的时候,一下子把我问懵了 那么今天咸鱼将

    2024年02月14日
    浏览(35)
  • Qt 播放音频文件的几种方式

    : Qt 、 QSound 、 QSoundEffect 、 QMediaPlayer 、 multimedia 这篇文章至少拖了有一两个月了,这不阳了,在家实在是难受的要死,无心处理工作的事情,那就写写博客吧,因为项目中需要用到播放音频的功能,CV了部分代码,这里就简单的扯扯我对 QSound 、 QSoundEffect 和 QMediaP

    2024年02月11日
    浏览(31)
  • Linux:开机自动挂载磁盘出错 两种解决办法 /etc/fstab

     假如在/etc/fstab文件中有一个错误的语句  但是我们假装不知道,直接给他重启  开机自动进入到一个这样的界面 在这我们直接输入root的密码  进入到root下 直接 vi /etc/fstab    先将错误的删除掉,等正常开机了再去做挂载 然后重启     正常进入系统 如果我们在刚刚做了开

    2024年02月10日
    浏览(32)
  • 前端下载文件的几种方式使用Blob下载文件

    前端下载文件的几种方式 使用Blob下载文件 在前端下载文件是个很通用的需求,一般后端会提供下载的方式有两种: 1.直接返回文件的 网络地址 (一般用在静态文件上,比如图片以及各种音视频资源等) 2.返回 文件流 (一般用在动态文件上,比如根据前端选择,导出不同的

    2024年02月05日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包