在fstab文件中配置UUID方式自动挂载数据盘、swap、目录(**)

2024-03-25 17:04

本文主要是介绍在fstab文件中配置UUID方式自动挂载数据盘、swap、目录(**),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

linux如何挂在硬盘,自动挂载和手动挂载(详细说明)https://gitcode.csdn.net/65eedcea1a836825ed7a06f4.html

解决linux重启后磁盘挂载失效的问题  https://blog.csdn.net/sugarbliss/article/details/107033034

linux /etc/fstab 文件详细说明(整理版) https://blog.csdn.net/xiaolongwang2010/article/details/8657332

在fstab文件中配置UUID方式自动挂载数据盘中fstab配置详解说明  https://www.ctyun.cn/developer/article/456393921687621

mount挂载 fstab swap  https://www.cnblogs.com/liuzhiyun/p/11345281.html

--------------------------------------------------------------

linux:fstab 文件格式检查  https://blog.csdn.net/ken2232/article/details/136106660

--------------------------------------------------------------

关联参考:
mount --bind :目录挂载 (**)  https://blog.csdn.net/ken2232/article/details/136937678

--------------------------------------------------------------

多重挂载问题

fstab的挂载顺序问题  https://forum.ubuntu.com.cn/viewtopic.php?t=382618

The order of records in fstab is important because fsck(8), mount(8), and umount(8) sequentially iterate through fstab doing their thing. 

引用man,确实应该是按照fstab顺序挂载的。

刚才试了试,还是不行,只能挂载上某一个,可能和我需要多次挂载同一分区有关

帖子 由 Nile » 2012-07-30 14:53
解决了……
多重挂载时会多次fsck这个分区,而fsck只能检查未挂载的分区,所以就出问题了

解决方法:就是只将第一次挂载时的pass设为2,其它的设为0,这样就不会fsck已挂载分区了

<file system>   <dir>   <type>  <options>       <dump>  <pass>

<pass> fsck检查文件系统的优先级。

  • 0:表示不检查文件系统。

  • 1:如果需要检查,根目录(/)对应的文件系统设置为1。

  • 2:如果需要检查,非根目录对应的其他文件系统设置为2。

一般情况下,可以设置为0。

  https://blog.csdn.net/yu132563/article/details/50293019

    # <fs>            <mountpoint>    <type>        <opts>        <dump/pass>
     
    # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
     
    /dev/sda10        /boot            ext4        noauto,noatime    1 2
    /dev/sda6         /                ext4        noatime           0 1
    /dev/sda9         none             swap        sw                0 0
    /dev/cdrom        /mnt/cdrom       auto        noauto,ro         0 0

隐含了挂载的顺序 ?

<pass> 1 :首先挂载 /dev/sda6  “/”

<pass>2 :其次挂载  /dev/sda10  “/boot”

<pass>0 :其最后挂载:多个均为 0,此时,有时什么顺序呢?从上到下,还是反之?

What do the last two fields in fstab mean?  https://askubuntu.com/questions/9939/what-do-the-last-two-fields-in-fstab-mean

@chx101 see here: superuser.com/questions/247523/… -- short answer is that 'dump' seems to be rarely used anymore, so you would almost always expect this to be zero.

The second number is used by the more widely used fsck to check the filesystem, and if so in what order (root should be 1, rest should increment, or zero to skip checking the filesystem)

– pzkpfw

Mar 7, 2022 at 12:17

--------------------------------------------------------------

获取 UUID 的方法

1. ls -l /dev/disk/by-uuid

2. sudo blkid

3. df -h

4. 。。。。。。

  https://wiki.ubuntu.com.cn/UbuntuHelp:Fstab/zh

## fstab 文件

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p2 during installation
UUID=36b290a4-752c-4e3a-83ae-1ab7a68c3868 /               ext4    errors=remount-ro 0       1

#

第1列是设备名或者卷标
第2列是挂载点(也就是挂载目录)
第3列是所要挂载设备的文件系统或者文件系统类型
第4列是挂载选项,通常使用defaults就可以
第5列设置是否使用dump备份,置0为不备份,置1,2为备份,但2的备份重要性比1小
第6列设置是否开机的时候使用fsck检验所挂载的磁盘,置0为不检验,置1,2为检验,但置2盘比置1的盘晚检验。

说明:

当有多块磁盘时,/dev/sdb 这类的标识方法,伴随着硬盘与硬盘接口的交换,而改变。

而 UUID  https://zhuanlan.zhihu.com/p/438580928

UUID的组成

UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。

~$ man fstab

   The sixth field (fs_passno).
       This field is used by fsck(8) to determine the order in which filesystem checks are done at boot time.
       The root filesystem should be specified with a fs_passno of 1.

       Other filesystems should have a fs_passno of 2.

       Filesystems within a drive will be checked sequentially,

       but filesystems on different drives will be checked at the same time to utilize (利用;运用;使用;应用)parallelism(平行结构) available in the hardware.
       Defaults to zero (don’t check the filesystem) if not present.

非默认文件系统类型的挂载

https://gitcode.csdn.net/65eedcea1a836825ed7a06f4.html

    运行以下命令挂载硬盘:

sudo mount /dev/sdb1 /mnt/mydisk

其中 /dev/sdb1 是要挂载的设备,/mnt/mydisk 是挂载点。

    如果您的硬盘使用的是非默认文件系统类型,需要指定文件系统类型。例如,如果硬盘使用的是 ext4 文件系统:

sudo mount -t ext4 /dev/sdb1 /mnt/mydisk

在fstab文件中配置UUID方式自动挂载数据盘中fstab配置详解说明

  https://www.ctyun.cn/developer/article/456393921687621

在使用云硬盘的过程中,我们经常需要挂载数据盘,一种简单的方式是在fstab文件中配置UUID方式自动挂载数据盘。磁盘的UUID(Universally Unique Identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。

在Linux系统中,如果您需要在云主机系统启动时自动挂载磁盘,不能采用在/etc/fstab直接指定 /dev/vdb1的方法,因为云中设备的顺序编码在关闭或者开启云主机过程中可能发生改变,例如/dev/vdb5可能会变成/dev/vdb5。推荐使用UUID来配置自动挂载数据盘。

具体步骤为:

  • 查询磁盘分区信息。
  • 修改fstab文件。
  • 验证配置是否生效。

今天这篇文章基详细介绍FSTAB文件中所需配置的命令,您可根据您的需求按需调整参数配置:

32.png

/etc/fstab 包含以下字段,由空格或制表符分隔:

<file system>   <dir>   <type>  <options>       <dump>  <pass>
  • <文件系统> - 定义存储设备(即 /dev/sda1)。
  • <dir> - 告诉挂载命令应将<文件系统>挂载到的位置。
  • <type> - 定义要挂载的设备或分区的文件系统类型。支持许多不同的文件系统。一些例子是:ext2,ext3,reiserfs,xfs,jfs,smbfs,iso9660,vfat,ntfs,swap和auto。“auto”类型允许挂载命令尝试猜测使用的文件系统类型,这对于 CD 和 DVD 等可移动设备很有用。
  • <选项> - 为文件系统定义特定选项。某些选项仅与文件系统本身相关。一些更常见的选项是:
    • auto - 文件系统将在引导时自动挂载,或者在发出命令“mount -a”时自动挂载。
    • noauto - 文件系统仅在您告诉它时才挂载。
    • exec - 允许该分区上的执行二进制文件(默认)。
    • noexec - 不允许在文件系统上执行二进制文件。
    • ro - 以只读方式挂载文件系统。
    • RW - 挂载文件系统读写。
    • 同步 - I/O 应同步完成。
    • 异步 - I/O 应异步完成。
    • flush - FAT的特定选项,用于更频繁地刷新数据,从而使复制对话框或进度条保持运行状态,直到磁盘上有内容为止。
    • user - 允许任何用户挂载文件系统(意味着noexec,nosuid,nodev,除非被覆盖)。
    • nouser - 只允许 root 挂载文件系统(默认)。
    • 默认值 - 默认挂载设置(相当于 RW、SUID、DEV、EXEC、AUTO、NOUSER、ASYNC)。
    • SUID - 允许操作 SUID 和 SGID 位。它们主要用于允许计算机系统上的用户以临时提升的权限执行二进制可执行文件,以便执行特定任务。
    • Nosuid - 阻止 suid 和 sgid 位的操作。
    • NOATIME - 不要更新文件系统上的 inode 访问时间。可以帮助性能。
    • nodiratime - 不更新文件系统上的目录索引节点访问时间。可以帮助性能。如果您已启用 noatime,则无需启用此标志。
    • Relatime - 相对于修改或更改时间更新索引节点访问时间。仅当上一次访问时间早于当前修改或更改时间(类似于 noatime,但不会破坏 mutt 或其他需要知道自上次修改文件以来是否已被读取的应用程序)时,才会更新访问时间。可以帮助性能。
  • <dump> - 由 dump 实用程序用来决定何时进行备份。安装后,dump 会检查条目并使用编号来决定是否应备份文件系统。可能的条目为 0 和 1。
    如果为 0,转储将忽略文件系统,如果为 1,转储将进行备份。
    大多数用户不会安装转储,因此他们应该为 <dump> 条目输入 0。
  • <pass>fsck 读取 <pass> 编号并确定应按哪个顺序检查文件系统。可能的条目为 0、1 和 2。
    根文件系统应具有最高优先级 1,您要检查的所有其他文件系统应为 2。fsck 实用程序不会检查值为 <pass> 的文件系统。

在fstab文件中配置UUID方式自动挂载数据盘 (**)

  https://help.aliyun.com/zh/ecs/use-cases/configure-uuids-in-the-fstab-file-to-automatically-attach-data-disks

在Linux系统中,您可以通过在fstab文件中使用UUID(Universally Unique Identifier)方式标识文件系统,以确保即使云盘的挂载顺序发生变化仍然可以正确地自动挂载数据盘,从而解决挂载顺序变更导致ECS重启后无法正常运行的问题。本文介绍如何在fstab文件中配置UUID方式自动挂载数据盘的文件系统。

说明

fstab支持使用云盘分区名(例如/dev/vdb1)或UUID标识文件系统,两者的差异如下所示:

  • 在fstab中使用云盘分区名标识文件系统,如果云盘的挂载顺序变更,云盘分区可能不会被正确地挂载(mount)到原来的挂载点。这种情况下可能会影响您在ECS上运行的应用。

  • 在fstab中使用UUID标识文件系统,如果云盘的挂载顺序变更,云盘分区仍然可以正确地挂载(mount)到原来的挂载点。因此,本文建议使用UUID标识文件系统。

前提条件

挂载到实例的数据盘已经完成初始化。具体操作,请参见初始化小于等于2 TiB数据盘(Linux)或者初始化大于2 TiB数据盘。

操作步骤

本操作以实例的两块数据盘/dev/vdc(分区/dev/vdc1)和/dev/vdd(分区/dev/vdd1)为例,请您根据环境进行操作。

  1. 远程连接ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例。

  2. 运行以下命令,查看实例的云盘信息。

    sudo fdisk -lu

    运行结果如下所示。

    image.png

  3. 运行以下命令,查询数据盘的UUID信息。

    sudo blkid

    运行结果如下所示。

    image.png

  4. (条件必选)如果没有可用的挂载目录,运行以下命令,分别为数据盘分区创建挂载点。

    您也可以将目标数据盘挂载到已有目录下,无需创建新的挂载点,本示例以新建挂载点为例。

    • 创建/dev/vdc1分区的挂载点/test01:

      sudo mkdir /test01
    • 创建/dev/vdd1分区的挂载点/test02:

      sudo mkdir /test02
  5. 在fstab文件中添加数据盘分区的挂载信息。

    1. 运行以下命令,编辑fstab。

      sudo vi /etc/fstab
    2. i键进入编辑模式。

    3. 新增以下挂载信息。

      UUID=d18698d2-61ea-4992-a8a9-26ee214e****   /test01     ext4    defaults     0   0
      UUID=6c5b3eea-930f-477d-abc6-42aa413d****   /test02     xfs     defaults     0   0

      结果如下所示。

      image.png

      序号

      字段

      说明

      <file system>

      要挂载分区的文件系统。

      此处建议使用UUID,可以使用blkid命令查询分区文件系统的UUID。

      <dir>

      文件系统的挂载位置。

      您可以自己创建新的挂载位置,例如本文中创建的/test01和/test02。

      <type>

      要挂载分区的文件系统类型。

      您可以使用blkid命令查询分区的文件系统类型。

      <options>

      挂载时使用的参数,一般情况下使用defaults参数。如果需要使用多个参数,通过英文逗号(,)分隔,例如defaults,noatime

      • 对于<options>参数的更多说明,请参见fstab说明。

      • 选择不同的挂载参数可以满足您对文件系统的数据安全性以及性能的要求。更多信息,请参见使用mount命令挂载ext4文件系统。

      <dump>

      dump工具是否对这个文件系统进行备份。

      • 0:表示忽略。

      • 1:表示进行备份。

      一般情况下不使用dump工具,可以设置为0。

      <pass>

      fsck检查文件系统的优先级。

      • 0:表示不检查文件系统。

      • 1:如果需要检查,根目录(/)对应的文件系统设置为1。

      • 2:如果需要检查,非根目录对应的其他文件系统设置为2。

      一般情况下,可以设置为0。

    4. 修改完成后,按Esc键退出编辑模式。

    5. 输入:wq后,按Enter键保存并退出。

  6. 运行以下命令,查看fstab文件。

    cat /etc/fstab

    执行结果如下所示。

    image.png

  7. (条件必选)运行以下命令,挂载数据盘分区的文件系统。

    • 挂载/dev/vdc1:

      sudo mount /dev/vdc1 /test01
    • 挂载/dev/vdd1:

      sudo mount /dev/vdd1 /test02
  8. 运行以下命令,检查挂载结果。

    df -h

    执行结果如下所示。

    image.png

配置完成后,如果您后续重启ECS实例,系统将自动挂载数据盘。

linux如何挂在硬盘,自动挂载和手动挂载(详细说明)

请注意,在手动挂载后,如果系统重新启动,挂载将会丢失。如果您希望在每次启动时都自动挂载硬盘,请参考自动挂载部分的步骤,并将相关信息添加到。在Linux中,您可以使用自动挂载和手动挂载的方法来挂载硬盘。文件中添加一行,指定要挂载的设备、挂载点、文件系统类型以及其他选项。现在,硬盘已经手动挂载到指定的挂载点。创建一个用于挂载的目录。可以选择任意目录作为挂载点,例如。可以选择任意目录作为挂载点,例如。目

​编辑 连界优站  ·  2023-07-13 16:26:31 发布

在Linux中,您可以使用自动挂载和手动挂载的方法来挂载硬盘。下面我会详细说明这两种方法:

自动挂载:

  1. 确保您的硬盘已经正确连接到Linux系统,并且系统已经识别并分配了设备名称(如 /dev/sdb1)。

  2. 创建一个用于挂载的目录。可以选择任意目录作为挂载点,例如 /mnt/mydisk

  3. 打开终端,编辑 /etc/fstab 文件。使用 root 或具有管理员权限的用户进行操作。

  4. /etc/fstab 文件中添加一行,指定要挂载的设备、挂载点、文件系统类型以及其他选项。例如:

/dev/sdb1  /mnt/mydisk  ext4  defaults  0  0

这行表示将 /dev/sdb1 设备挂载到 /mnt/mydisk 目录,文件系统类型为 ext4,并使用默认的挂载选项。

  1. 保存并关闭 /etc/fstab 文件。

  2. 运行以下命令,使更改生效:

sudo mount -a

这将使 /etc/fstab 中定义的所有项都进行挂载。

现在,每当系统启动时,硬盘将自动挂载到指定的挂载点。

手动挂载:

  1. 打开终端。

  2. 创建一个用于挂载的目录。可以选择任意目录作为挂载点,例如 /mnt/mydisk

  3. 运行以下命令挂载硬盘:

sudo mount /dev/sdb1 /mnt/mydisk

其中 /dev/sdb1 是要挂载的设备,/mnt/mydisk 是挂载点。

  1. 如果您的硬盘使用的是非默认文件系统类型,需要指定文件系统类型。例如,如果硬盘使用的是 ext4 文件系统:
sudo mount -t ext4 /dev/sdb1 /mnt/mydisk

现在,硬盘已经手动挂载到指定的挂载点。如果您想要解除挂载,可以运行以下命令:

sudo umount /mnt/mydisk

请注意,在手动挂载后,如果系统重新启动,挂载将会丢失。如果您希望在每次启动时都自动挂载硬盘,请参考自动挂载部分的步骤,并将相关信息添加到 /etc/fstab 文件中。

 解决linux重启后磁盘挂载失效的问题

  https://blog.csdn.net/sugarbliss/article/details/107033034

用mount挂载分区之后重启就没有了,原因是因为这个挂载是临时的,而不是永久的。磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作,然而在linux操作系统中fstab正是负责这一配置的。在开机的时候linux操作系统会调用fstab配置文件,根据该配置文件挂载分区到操作系统的。这是重启后挂载的分区丢失的根本原因,所以我们只需要修改/etc/fstab文件就能解决这个问题。

一、用df -Th命令查看你要挂载的磁盘信息

第一列是你要挂载的设备,第二列是文件系统类型,最后一列是挂载点,这几个后面要用到;

二、vi /etc/fstab命令,进入后再添加一列

三、在修改/etc/fstab文件后,运行mount -a命令验证一下配置是否正确

 执行mount -a命令后,用df -h查看会发现磁盘已经挂载成功,说明输入没有错误。下次重启的时候系统就可以自动进行挂载了。完结撒花!

原文链接:https://blog.csdn.net/sugarbliss/article/details/107033034

这篇关于在fstab文件中配置UUID方式自动挂载数据盘、swap、目录(**)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/845657

相关文章

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二