Liunx磁盘管理(中)

news2024/11/18 23:51:12

 Liunx磁盘管理(上)-CSDN博客

目录

查看块设备信息

lsblk(list block devices)

fdisk

gdisk 

parted

blkid

 df(disk free)

虚拟机添加硬盘

步骤:

磁盘分区

MBR格式创建分区

使用方法

替代工具

GPT分区格式 

主要功能

使用方法

更新磁盘分区 

为什么使用 partprobe

手动更新分区表不需要重启的原理

使用注意事项

MBR格式与GPT格式的相互转换

主要概念

使用 parted 转换分区表格式

注意事项

 安装文件系统(格式化)

格式化为 ext4

格式化为 xfs

扩展(了解)

临时挂载mount

  

常见用法

挂载分区

挂载文件系统

临时挂载

查看挂载信息

挂载外部存储

挂载网络共享

注意事项

挂载后操作 

强制卸载

取消特定挂载点和取消挂载特定分区有什么区别 

取消挂载特定挂载点

取消挂载特定分区

区别与注意事项

总结

自动挂载 

方法一 —— /etc/fstab

方法二 ——/etc/rc.d/rc.local

 总结:


查看块设备信息

lsblk(list block devices)

是用于查看块设备信息的最常用命令之一。它提供了硬盘、分区、文件系统等的详细信息,并以易于阅读的格式显示。

常用参数:

#显示所有分区和设备,显示系统中的所有块设备,包括那些没有分区的设备。
lsblk -a

显示文件系统信息,显示系统中的所有块设备,包括那些没有分区的设备。
lsblk -f

列出特定设备,列出特定设备(如 /dev/sda)的详细信息。
lsblk /dev/sda


[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0   10G  0 part /mnt/dir1
├─sdb2            8:18   0    1K  0 part 
└─sdb5            8:21   0    3G  0 part 
sr0              11:0    1 1024M  0 rom  

NAME       列是设备名称
MAJ:MIN    是主/次设备号
RM         表示是否为可移动设备
SIZE       是设备大小
RO         是是否为只读设备
TYPE       表示设备类型
MOUNTPOINT 是设备或分区的挂载点

fdisk

主要用于管理MBR分区表,但也可以用来查看块设备和分区信息。 

#列出特定块设备上的所有分区。
fdisk -l /dev/sdX

gdisk 

用于列出指定磁盘的分区表信息

gdisk -l /dev/sdc

parted

是一个功能强大的分区工具,支持GPT和MBR分区表。它也可以用来查看块设备的详细信息。 

#显示指定设备的分区信息。 
parted /dev/sdb print

blkid

命令用于显示块设备的UUID、LABEL、文件系统类型等信息。

#列出所有块设备的详细信息,包括UUID、文件系统类型等。
blkid

 df(disk free)

命令用于查看磁盘空间使用情况,可以显示挂载点、可用空间等信息。

df -h

 查看分区列表

cat /proc/partitions

虚拟机添加硬盘

步骤:

首先关闭虚拟机,选中要改变的虚拟机右键打开设置

 

这是就添加完成啦,打开虚拟机使用lsblk命令即可看到。 

磁盘分区

MBR格式创建分区

fdisk 是一个用于创建、删除、修改和查看磁盘分区的命令行工具,通常用于 Linux 和其他类 Unix 系统中。它可以处理传统的 MBR 分区表,并允许用户管理磁盘的分区布局。

使用方法

  • 查看磁盘分区:使用 fdisk -l 查看所有磁盘的分区信息。
  • 选择特定磁盘:启动 fdisk 后,可以选择要操作的磁盘。例如:sudo fdisk /dev/sda
  • 查看帮助:输入m即可看到命令操作对应字母。
  • 创建新分区:在 fdisk 中,可以使用命令n创建新的主分区、扩展分区或逻辑分区。
  • 删除分区:可以选择d要删除的分区,然后确认删除操作。
  • 保存更改:在 fdisk 中,必须使用 w命令来写入更改,否则所有操作都不会生效。
[root@localhost ~]# fdisk  /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x88f2f422 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m       
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

命令(输入 m 获取帮助):n
Partition type:                           
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e                                      #创建扩展分区
Command (m for help): n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l                                      #创建逻辑分区
Adding logical partition 5 
First sector (208896-20971519, default 208896): 
Using default value 208896
Last sector, +sectors or +size{K,M,G} (208896-20971519, default 20971519): +5G #指定大小
Partition 5 of type Linux and of size 5 GiB is set
Command (m for help): w                                     #保存退出

替代工具

  • parted:是另一个功能强大的分区工具,支持 GPT 和 MBR,并具有更多高级功能。
  • gparted:基于图形界面的分区工具,适合那些更喜欢可视化界面的人。

GPT分区格式 

gdisk 是一种用于管理 GPT(GUID Partition Table)分区表的命令行工具。它类似于 fdisk,但专为处理 GPT 分区表设计。GPT 分区表是一种现代的分区格式,比传统的 MBR(Master Boot Record)更强大和灵活,支持更大的磁盘和更多的分区。

主要功能

  • 查看 GPT 分区表:gdisk 可以显示磁盘的 GPT 分区布局,包括分区类型、大小、UUID 等。
  • 创建和删除分区:可以使用 gdisk 创建新的分区、删除现有分区,或调整分区大小。
  • 转换 MBR 到 GPT:gdisk 可以将 MBR 分区表转换为 GPT,前提是没有冲突的分区。
  • 备份和恢复 GPT:gdisk 允许备份 GPT 分区表并在需要时恢复。

使用方法

需要下载对应的包

yum install -y gdisk
  • 选择磁盘:启动 gdisk 后,你需要指定要操作的磁盘。例如,sudo gdisk /dev/sdc 用于选择第一个磁盘。
  • 查看分区表:输入 p 可以查看 GPT 分区表的详细信息。
  • 创建新分区:使用 n 命令创建新分区,可以指定起始和结束位置,或者指定大小。
  • 删除分区:使用 d 命令删除指定的分区。
  • 保存更改:与 fdisk 类似,使用 w 命令来保存更改。如果没有保存,所有更改将不会生效。
[root@localhost ~]# gdisk /dev/sdc
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************


Command (? for help): ?
b	back up GPT data to a file
c	change a partition's name
d	delete a partition
i	show detailed information on a partition
l	list known partition types
n	add a new partition
o	create a new empty GUID partition table (GPT)
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

Command (? for help): n                  #创建分区
Partition number (2-128, default 2):     #回车使用默认,这里是从第2个标号
First sector (34-41943006, default = 10487808) or {+-}size{KMGTP}:   #使用默认值也可自定义
Last sector (10487808-41943006, default = 41943006) or {+-}size{KMGTP}:  #这也用啦默认值, 
                                                             #也可以自定义大小,例如+100M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):   #直接回车
Changed type of partition to 'Linux filesystem'

Command (? for help): p                  #分区
Disk /dev/sdc: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 46394B2A-87B9-454D-AA7F-1C15BDAC5C1F
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048        10487807   5.0 GiB     8300  Linux filesystem
   2        10487808        41943006   15.0 GiB    8300  Linux filesystem

Command (? for help): w     #保存退出

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
 
Do you want to proceed? (Y/N): y      #这里问是否覆盖,选择是
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.
[root@localhost ~]# 

更新磁盘分区 

上述两种格式的命令管理分区,在修改完需要更新磁盘分区表。

使用命令更新磁盘分区表,手动让内核更新分区表。不需要重启

[root@localhost ~]# partprobe /dev/sdc

partprobe是一个用于通知内核重新读取磁盘分区表的工具,通常在对分区进行更改后使用,以避免需要重启系统。在 Linux 环境中,磁盘分区的操作可能需要在内核中同步更新,以确保操作系统能够正确识别新的分区布局。

为什么使用 partprobe

当你使用工具(如 fdiskparted)创建、删除或修改磁盘分区后,内核可能不会立即察觉到这些更改。此时,系统可能会显示旧的分区信息,或者无法正确访问新创建的分区。partprobe 的作用是向内核发送信号,通知它重新读取指定磁盘的分区表,使系统能够识别最新的分区信息。

手动更新分区表不需要重启的原理

Linux 内核在运行过程中会缓存磁盘分区的信息。当分区表发生变化时,内核需要重新读取以获取最新信息。partprobe 的工作原理如下:

  1. 通知内核partprobe 向内核发送信号,要求内核重新读取指定磁盘的分区表。这是一个非破坏性的操作,不涉及数据的读写。

  2. 重新读取分区表:当内核收到 partprobe 的信号后,它会重新扫描磁盘的分区表,并更新内存中的分区信息。这意味着系统会使用最新的分区布局。

  3. 不需要重启:在大多数情况下,partprobe 可以在不重启系统的情况下更新分区表。这对服务器和生产环境非常有用,因为可以避免停机时间。

使用注意事项

虽然 partprobe 通常可以安全地更新分区表,但在某些情况下,可能会遇到问题:

  • 挂载的分区:如果分区正在使用(例如已挂载),可能无法立即更新。在这种情况下,建议先卸载分区,再运行 partprobe
  • 有进程正在使用分区:如果有进程正在访问某个分区,可能需要终止这些进程,然后再运行 partprobe

partprobe 提供了一种快速而有效的方法来更新分区表,而无需重启系统。这让 Linux 系统在分区操作后可以立即反映最新的更改,而不影响正在运行的进程或服务。

当然如果在更新分区后没有使用 partprobe 命令,选择重启也可以。重启系统会强制内核重新读取所有磁盘的分区表,并且确保所有更改生效。但是这在生产环境不适合,此方法只能学习使用。

MBR格式与GPT格式的相互转换

在 Linux 中,parted 是一种用于管理磁盘分区的命令行工具,它支持多种分区表格式,包括 GPT(GUID Partition Table)和 MBR(Master Boot Record)。parted -s 命令用于静默执行命令,不提示用户确认,因此非常适合自动化脚本。

通过使用 mklabel 命令,可以创建新的分区表。这会清除磁盘上的现有分区表并创建新的分区表。这意味着在转换分区表格式时,所有现有分区和数据都会被删除,因此在执行此操作之前,务必备份所有重要数据。

主要概念

  • GPT:一种现代分区表格式,支持更大的磁盘(超过 2 TB)和更多的分区(最多 128 个主分区)。GPT 还提供冗余和错误校正功能。
  • MBR:传统分区表格式,支持最大 2 TB 的磁盘和最多 4 个主分区。如果需要更多分区,必须使用扩展分区和逻辑分区。

使用 parted 转换分区表格式

要将磁盘从 MBR 转换为 GPT,或者从 GPT 转换为 MBR,parted 提供了简单的命令行方式。以下是关于这些命令的解释:

  • 将 MBR 转换为 GPT

    parted -s /dev/sdc mklabel gpt

    这个命令会将 /dev/sdc 的分区表格式转换为 GPT。如果 /dev/sdc 上有现有的分区表和数据,它们将被清除。

  • 将 GPT 转换为 MBR

    parted -s /dev/sdc mklabel msdos

    这个命令将 /dev/sdc 转换为 MBR 格式。同样,这会删除所有现有分区和数据。

注意事项

  • 备份数据:在转换分区表之前,确保备份所有重要数据,因为这会删除所有现有分区和数据。
  • 确定磁盘路径:确保你在转换之前指定了正确的磁盘路径,以避免误操作。
  • 重建分区:转换分区表格式后,你需要重新创建分区并重新安装文件系统
  • 系统兼容性:在将系统磁盘转换为 GPT 或 MBR 时,确保你的系统和引导方式兼容。

 安装文件系统(格式化)

在前面我们新加的硬盘,选择啦合适的一个磁盘格式进行分区应用,并将分区信息在内容中同步更新,下面就要对分区进行安装文件系统。

mkfs 是一个命令行工具,用于在指定的分区或卷上创建文件系统。它有多种变体,支持不同的文件系统,如 ext4、xfs、vfat、ntfs 等。在 Linux 系统中,格式化分区通常用于在创建或重新创建分区后,为其指定合适的文件系统。以下是关于 mkfs.ext4mkfs.xfs 的详细解释:

格式化为 ext4

  • 命令

    mkfs.ext4 /dev/sdc1

    这个命令会在 /dev/sdb1 分区上创建 ext4 文件系统。ext4 是 Linux 上常用的文件系统之一,具有高性能、稳定性和良好的兼容性。

  • 常见用途

    • 用于格式化新的分区,创建文件系统以便存储数据。
    • 重新格式化现有分区,以清除数据并重新创建文件系统。
    • 用于根文件系统或数据分区。
  • 注意事项

    • 格式化会删除分区上的所有数据,因此在执行此操作之前,确保备份重要数据。
    • 格式化后,需要挂载分区才能访问和使用。

格式化为 xfs

  • 命令

    mkfs.xfs /dev/sdc2

    这个命令会在 /dev/sdc2 分区上创建 xfs 文件系统。xfs 是一种高性能文件系统,适用于大规模存储和高吞吐量应用。

  • 常见用途

    • 用于高性能需求的应用,例如数据库、大文件存储等。
    • 适用于服务器和数据中心环境。
    • 提供在线扩展等功能。
  • 注意事项

    • 和 ext4 一样,格式化会删除分区上的所有数据。确保在格式化前备份数据。
    • xfs 不支持在线缩小,因此在规划分区时要小心。

扩展(了解)

ext4 文件系统
ext4 是 Linux 上最常用的文件系统之一,适用于大多数用途,包括根文件系统和数据分区。创建 ext4 文件系统的示例:
mkfs.ext4 /dev/sda1

xfs 文件系统
xfs 是一种高性能文件系统,通常用于服务器和大规模存储应用。创建 xfs 文件系统的示例:
mkfs.xfs /dev/sdb1

ext3 文件系统
ext3 是 ext4 的前身,带有日志功能,但性能和功能不如 ext4。创建 ext3 文件系统的示例:
mkfs.ext3 /dev/sdc1

Btrfs 文件系统
Btrfs 是一种高级文件系统,支持快照、压缩、子卷等高级功能。创建 Btrfs 文件系统的示例:
mkfs.btrfs /dev/sdd1

FAT32 文件系统
FAT32 是一种老式的文件系统,兼容性高,常用于外部存储设备。创建 FAT32 文件系统的示例:
mkfs.vfat -F 32 /dev/sde1

exFAT 文件系统
exFAT 是微软开发的文件系统,适用于外部存储设备和跨平台环境。创建 exFAT 文件系统的示例:
mkfs.exfat /dev/sdf1

NTFS 文件系统
NTFS 是 Windows 的默认文件系统,在 Linux 上也可以使用,但可能需要额外的驱动程序。创建 NTFS 文件系统的示例:
mkfs.ntfs /dev/sdg1

ISO 9660 文件系统
ISO 9660 是用于光盘的文件系统,通常用于创建光盘映像。创建 ISO 9660 文件系统的示例:
mkisofs -o image.iso /path/to/folder

临时挂载mount

  

mount 是 Linux 和其他 Unix 类系统中用于挂载文件系统的命令。挂载是指将一个文件系统连接到现有的文件系统树上,使其可供访问。在 Linux 中,所有文件和目录都在一个单一的目录树中,因此挂载允许你将磁盘分区、外部存储设备、网络共享等连接到特定的挂载点,以便访问其中的文件和目录。

常见用法

以下是 mount 命令的常见用法及示例:

挂载分区

要挂载磁盘分区,需要指定分区和挂载点。例如,挂载 /dev/sdc1 到 /mnt/dire1

mount /dev/sdc1 /mnt/dire1

挂载后,所有文件和目录都可以通过 /mnt/dire1 访问。

挂载文件系统

你可以指定文件系统类型,虽然大多数情况下,mount 会自动检测。例如,挂载 ext4 文件系统:

mount -t ext4 /dev/sda1 /mnt/mydisk
临时挂载

使用mount挂载通常在系统重启后不会持久化,除非你在 /etc/fstab 中进行配置。这种挂载适用于临时使用的存储设备。

查看挂载信息

要查看当前系统中所有已挂载的文件系统,可以使用:

mount

或者查看 /proc/mounts 文件,该文件包含所有已挂载的文件系统信息。

挂载外部存储

挂载外部存储设备(如 USB 驱动器)时,通常设备名称是动态的,可以通过 lsblkfdisk -l 查看设备名称。例如,挂载一个 USB 驱动器:

mount /dev/sdb1 /mnt/usb
挂载网络共享

mount 也可以用于挂载网络共享,如 NFS 或 CIFS(SMB)共享。例如,挂载一个 NFS 共享:

mount -t nfs server:/path/to/share /mnt/nfs

注意事项

  • 挂载点:确保指定的挂载点是一个空目录,以避免覆盖现有数据。
  • 权限:挂载通常需要管理员权限,因此需要使用 sudosu
  • 挂载持续性:要在重启后保留挂载,需要编辑 /etc/fstab 文件。

挂载后操作 

一旦挂载完成,你可以在挂载点执行任何文件操作,如创建、读取、修改、删除文件和目录。

要卸载分区或设备,可以使用 umount 命令:

umount /mnt/mydisk
强制卸载

如果挂载的分区正在使用,正常的 umount 可能失败。在这种情况下,你可以使用 -l-f 选项:

  • -l(lazy):延迟卸载,直到分区不再被使用。适用于长时间无法卸载的情况。
  • -f(force):强制卸载。应该谨慎使用,可能导致数据损坏。
umount -l /mnt/mydisk # 延迟卸载

取消特定挂载点和取消挂载特定分区有什么区别 

取消特定挂载点和取消特定分区的操作本质上是相似的,都是通过 umount 命令解除文件系统与挂载点之间的关联。然而,两者之间的区别在于操作的目标以及操作后可能的影响。

取消挂载特定挂载点

取消挂载特定挂载点意味着你指定一个挂载点来解除其与分区的关联。

  • 命令
    umount /mnt/my_mount_point
  • 作用:这个命令会取消 /mnt/my_mount_point 上的挂载。如果有多个分区挂载到这个挂载点,所有分区都会被取消挂载。这通常用于解挂特定目录上的所有文件系统。
取消挂载特定分区

取消挂载特定分区意味着你指定一个分区来解除其与挂载点的关联。

  • 命令
    umount /dev/sdb1
  • 作用:这个命令会取消 /dev/sdb1 的挂载,无论它被挂载到哪个挂载点。如果同一个分区被多次挂载,这个命令可能只会取消其中一个挂载。
区别与注意事项
  • 针对对象:取消挂载特定挂载点是针对挂载点的操作,而取消挂载特定分区是针对分区的操作。
  • 取消结果:取消挂载特定挂载点会解除所有与该挂载点相关的挂载;而取消挂载特定分区只会解除特定分区的挂载,无论它挂载在哪个挂载点上。
  • 多次挂载:如果同一个分区被挂载到多个挂载点,取消挂载特定分区可能需要多次操作,确保所有挂载都被解除;而取消挂载特定挂载点通常只需要一次操作。
  • 确保安全:在取消挂载之前,确保没有进程正在使用该挂载点或分区,否则可能会导致错误或数据丢失。
总结

两者的主要区别在于操作的目标:一个针对挂载点,另一个针对分区。选择哪种方式取决于你的目标。如果你希望解除特定挂载点的所有关联,使用挂载点;如果希望解除特定分区的挂载,使用分区作为目标。

自动挂载 

在使用mount挂载时,只是临时挂载使用,挂载的效果只持续到系统重启。重启后,这些挂载的文件系统或分区将会被卸载,也就是说它们不再处于挂载状态。这意味着,如果希望挂载在系统重启后仍然保持有效,就需要采取其他措施。

如下图,可以看到重启后MOUNTPOINT这列的目录信息已经没有啦。挂载的目录里还存在对应的文件夹。

方法一 —— /etc/fstab

/etc/fstab 是一个重要配置文件,用于定义文件系统的挂载和交换空间的配置。在系统启动时,/etc/fstab 会被读取,按照配置文件中的设置挂载文件系统、启用交换空间等。这个文件是确保系统正常启动和文件系统正确挂载的关键部分。

/etc/fstab 文件的示例:

# 文件系统         挂载点       文件系统类型    挂载选项     转储  检查
/dev/sda1          /            ext4          defaults      1     1
UUID=xxxx-xxxx     /home        ext4          defaults      0     2
/dev/sdb1          /mnt/backup  ntfs          defaults      0     0

[root@localhost ~]# lsblk -f
NAME            FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda                                                                                
├─sda1          xfs                         fffa4c7e-08bd-4884-bc0c-bfb9687e97d7   /boot
└─sda2          LVM2_member                 4wm0hN-R1oK-oZMf-yqui-clNU-9CFn-2bRWFs 
  ├─centos-root xfs                         408aebe7-55d2-4135-8482-7dee657d5f94   /
  └─centos-swap swap                        c2913040-eb2a-4b86-b6da-8e7affe87bfc   [SWAP]
sdb                                                                                
├─sdb1          ext4                        522c00e2-daff-4af8-8f0d-12dff383a1aa   /mnt/dir1
├─sdb2                                                                             
└─sdb5          ext4                        fed97c01-89bd-4402-bbf4-051e01f7f7b9   
sdc                                                                                
├─sdc1          ext4                        4ff8527c-09f3-4cb2-8738-e014c5667dce   
└─sdc2          xfs                         01e80b67-e911-41f5-9cc2-7377473e0a0f   
sr0             iso9660     CentOS 7 x86_64 2020-11-03-14-55-29-00     
[root@localhost ~]# vim /etc/fstab



#
# /etc/fstab
# Created by anaconda on Tue Apr 30 23:31:50 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=fffa4c7e-08bd-4884-bc0c-bfb9687e97d7 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sdc1               /mnt/dire1              ext4    defaults        0 0
                                                                                   

参数解释:
第1列:挂载设备
(1)/dev/sdc1
(2)UUID=设备的uuid   rhel6/7的默认写法   同一台机器内唯一的一个设备标识
第2列:挂载点  /mnt/dire1
第3列:文件系统类型ext4
第4列:文件系统属性	defaults 
第5列:是否对文件系统进行磁带备份:0 不备份
第6列:是否检查文件系统:0 不检查

配置好文件后需要使用如下命令检查尝试挂载 /etc/fstab 中定义的所有文件系统

mount -a

 正确的话没有任何反应,错误则会有提示弹出,现在使用lsblk命令即可看到挂载信息。

方法二 ——/etc/rc.d/rc.local

[root@localhost ~]# lsblk -f
NAME            FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda                                                                                
├─sda1          xfs                         fffa4c7e-08bd-4884-bc0c-bfb9687e97d7   /boot
└─sda2          LVM2_member                 4wm0hN-R1oK-oZMf-yqui-clNU-9CFn-2bRWFs 
  ├─centos-root xfs                         408aebe7-55d2-4135-8482-7dee657d5f94   /
  └─centos-swap swap                        c2913040-eb2a-4b86-b6da-8e7affe87bfc   [SWAP]
sdb                                                                                
├─sdb1          ext4                        522c00e2-daff-4af8-8f0d-12dff383a1aa   /mnt/dir1
├─sdb2                                                                             
└─sdb5          ext4                        fed97c01-89bd-4402-bbf4-051e01f7f7b9   
sdc                                                                                
├─sdc1          ext4                        4ff8527c-09f3-4cb2-8738-e014c5667dce   /mnt/dire1
└─sdc2          xfs                         01e80b67-e911-41f5-9cc2-7377473e0a0f   
sr0             iso9660     CentOS 7 x86_64 2020-11-03-14-55-29-00                 
[root@localhost ~]# vim /etc/rc.d/rc.local

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local        #这个本身就有,不用管
#这个可有可无,这个利用文件是每次开启必须加载的原理来记录开启时间,并写入到日志里
date >> /tmp/host_start.txt
mount /dev/sdc2 /mnt/dire2         #挂载命令
~                       



[root@localhost ~]# chmod +x /etc/rc.d/rc.local #添加执行权限
[root@localhost ~]# reboot      #重启系统                             

 总结:

 可以看到,上面我是用方法一的配置文件配置sdc1区,使用方法二配置sdc2区,在重启后就已经生效

WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Wed May  1 00:03:45 2024 from 192.168.226.1
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0   10G  0 part 
├─sdb2            8:18   0    1K  0 part 
└─sdb5            8:21   0    3G  0 part 
sdc               8:32   0   20G  0 disk 
├─sdc1            8:33   0    5G  0 part /mnt/dire1
└─sdc2            8:34   0   15G  0 part /mnt/dire2
sr0              11:0    1  973M  0 rom  
[root@localhost ~]# 

/etc/fstab 中配置挂载点时,配置的更改可以立即生效,而无需重启系统。要使更改生效,可以使用 mount -a 命令,该命令会尝试挂载 /etc/fstab 中定义的所有文件系统。

在/etc/rc.d/rc.local中配置挂载命令时,必须要重启才可生效,所以我们更推荐使用专业的配置文件去管理。

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

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

相关文章

mysq重连次数过多错误和Public Key Retrieval错误解决记录

文章目录 问题记录和解决方法Public key问题解决many connection errors问题解决 问题记录和解决方法 本次出现错误是:在重启服务器,启动seata应用druid连接mysql作为存储源时出现。主要出现了两个错误:第一个问题,通常采用修改连…

STM32G474 CMAKE VSCODE FREERTOS 导入

一. 文件准备 1. 首先下载 freertos FreeRTOS - Free RTOS Source Code Downloads, the official FreeRTOS zip file release download 2. 移动 FreeRTOS-Kenel 到 moto_control 文件夹下。 3. 将 FreeRTOSConfig.h 放到 /Core/Inc 下面 4. 由于 FreeRTOSConfig.h 中使用了…

我们的手机是如何连接上网的?骨干网又是什么?

什么是骨干网(Backbone Network) 几台计算机连接起来,互相可以看到其他人的文件,这叫局域网。整个城市的计算机都连接起来,就是城域网。把城市之间连接起来的网就叫骨干网。 这些骨干网是国家批准的可以直接和国外连…

【netty系列-03】深入理解NIO的基本原理和底层实现(详解)

Netty系列整体栏目 内容链接地址【一】深入理解网络通信基本原理和tcp/ip协议https://zhenghuisheng.blog.csdn.net/article/details/136359640【二】深入理解Socket本质和BIOhttps://zhenghuisheng.blog.csdn.net/article/details/136549478【三】深入理解NIO的基本原理和底层…

如何构建用于从收据中提取信息的生成式人工智能工具

原文地址:how-to-build-a-generative-ai-tool-for-information-extraction-from-receipts 使用 LangChain 和 OpenAI 工具从 Google Drive 中存储的收据图像中提取结构化信息 2024 年 4 月 10 日 纸质收据有各种样式和格式,是自动信息提取的一个有趣目…

bpmn-js推荐几款常用的插件

bpmn-js整体框架库的风格是以组件的方式进行实现的,这样的结构也更加便于我们更好的对其进行功能扩展,以及客制化功能实现。其实bpmn.io已经为我们实现了较多场景的组件的实现,了解对应组件的功能更能便于我们区分是否需要自己实现,降低重复造轮子的行为,提高开发效率,本…

All In ai,Oracle 23C没了,等来了Oracle 23ai

今年一月份的Blog介绍Oracle命名规则的时候,说到Oracle的命名是紧紧跟随时代浪潮的前言科技的,在文章的最后还大胆预测也许Oracle的下一个版本就叫25A了,结果Oracle根本等不及,把原来已经海量宣传的Oracle 23C直接改名为23ai&…

《苍穹外卖》前端课程知识点记录

一、VUE基础知识 基于脚手架创建前端工程 1. 环境要求 安装node.js:Node.js安装与配置(详细步骤)_nodejs安装及环境配置-CSDN博客查看node和npm的版本号 安装Vue CLI:Vue.js安装与创建默认项目(详细步骤)…

分布式websocket IM即时通讯聊天开源项目如何启动

前言 自己之前分享了分布式websocket的视频有同学去fork项目了,自己启动一下更方便理解项目嘛。然后把项目启动需要的东西全部梳理出来。支持群聊单聊,表情包以及发送图片。 支持消息可靠,消息防重,消息有序。同时基础架构有分布式权限&…

【牛客网】值周

原题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 差分。 因为l<100000000,所以数组开1e8。 唯一需要注意的点就是前面给b[0]单独赋值为1&#xff08;因为如果在循环中给b[0]赋值&…

【进程间通信】管道和命名管道

文章目录 进程间通信的目的管道匿名管道管道的读写规则 命名管道命名管道和匿名管道区别 进程间通信的目的 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程资源共享&#xff1a;多个进程之间共享同样的资源。通知事件&#xff1a;一个进程需要向另一个或一组进程…

构建智能化商旅服务:酒店中台云服务架构设计与实践

随着商旅行业的不断发展和智能化趋势的兴起&#xff0c;酒店中台云服务成为了提升服务质量和效率的关键。本文将探讨酒店商旅中台云服务的架构设计与实现&#xff0c;介绍其关键特点和最佳实践&#xff0c;助力商旅行业迈向智能化未来。 1. **需求分析与场景设计&#xff1a;*…

私域运营的崛起:企业第三极销售渠道的战略思考与定制开发AI智能名片B2B2C商城小程序

在数字化营销的新时代&#xff0c;私域运营如同璀璨新星&#xff0c;已然崛起为企业不可或缺的第三极销售渠道。那么&#xff0c;如何善用这一新兴领域的价值&#xff0c;使之为企业带来持续增长和竞争力&#xff0c;已成为众多企业需要从战略层面深入思考的问题。而在这一过程…

力扣hot100:101. 对称二叉树(双指针以不同方式递归)

LeetCode&#xff1a;101. 对称二叉树 看了第一个样例&#xff0c;很容易直接层序遍历看每一层的前后是否相同。但接下来这个样例告诉你&#xff0c;不能这样做。 层序遍历 仔细思考会发现&#xff0c;层序遍历不能看本结点&#xff0c;但是可以看儿子结点是否对称&#xf…

【b站vue教程】1 宏观视角下的浏览器——前端大厂面试必刷:前后端必学的网络安全浏览器工作原理:从入门到精通全套【附带所有源码】

课程地址&#xff1a;【前端大厂面试必刷&#xff1a;前后端必学的网络安全浏览器工作原理&#xff1a;从入门到精通全套【附带所有源码】】 https://www.bilibili.com/video/BV1UL41157hP/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 1、宏…

计算机毕业设计springboot基于vue电商抢购限时秒杀系统ch0h8

技术栈 ide工具&#xff1a;IDEA 或者eclipse 编程语言: java 数据库: mysql5.7以上版本 可选框架&#xff1a;ssmspringboot都有的 前端&#xff1a;vue.jsElementUI 详细技术&#xff1a;springbootSSMvueMYSQLMAVEN 数据库工具&#xff1a;Navicat/SQLyog都可以 开发工具 Ec…

树莓派-服务自启配置方式测试

测试脚本&#xff1a; 一、 向rc.local文件添加启动代码(未找到&#xff0c;不测试) 修改/etc/rc.local文件&#xff0c;在文件中exit 0之前添加代码在启动时都会被执行&#xff0c;如&#xff1a;su pi -c “exec /home/pi/testboot.sh” 其中&#xff1a;su pi表示切换至pi…

设计模式之前端控制器模式

想象一下&#xff0c;你的Java Web应用是个交响乐团&#xff0c;每个功能模块是乐手&#xff0c;而用户请求就像是一首首待演绎的曲目。在这场音乐盛宴中&#xff0c;谁来保证演出的流畅与协调&#xff1f;答案就是——前端控制器模式&#xff01;它如同乐队的指挥&#xff0c;…

ORAN C平面优化

使用section扩展6的C平面优化 在时域和频域中&#xff0c;都可以使用section扩展6进行非连续PRB分配。Section扩展6有两个位掩码&#xff1a;symbolMask和rbgMask。使用symbolMask可以选择一个slot内任意的symbol子集。使用rbgMask可以选择startPrbc和&#xff08;startPrbc …

【Linux】搭建私有yum仓库(类阿里云)

在搭建本地yum仓库并配置国内镜像阿里云源中了解yum源 yum &#xff1a; Yellow dog Updater&#xff0c;Modified&#xff0c;是一种基于rpm包的自动升级和软件包管理工具。yum能从指定的服务器自动下载rpm包并安装&#xff0c;自动计算出程序之间的依赖关系和软件安装的步骤&…