目录
查看块设备信息
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
当你使用工具(如 fdisk
或 parted
)创建、删除或修改磁盘分区后,内核可能不会立即察觉到这些更改。此时,系统可能会显示旧的分区信息,或者无法正确访问新创建的分区。partprobe
的作用是向内核发送信号,通知它重新读取指定磁盘的分区表,使系统能够识别最新的分区信息。
手动更新分区表不需要重启的原理
Linux 内核在运行过程中会缓存磁盘分区的信息。当分区表发生变化时,内核需要重新读取以获取最新信息。partprobe
的工作原理如下:
-
通知内核:
partprobe
向内核发送信号,要求内核重新读取指定磁盘的分区表。这是一个非破坏性的操作,不涉及数据的读写。 -
重新读取分区表:当内核收到
partprobe
的信号后,它会重新扫描磁盘的分区表,并更新内存中的分区信息。这意味着系统会使用最新的分区布局。 -
不需要重启:在大多数情况下,
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.ext4
和 mkfs.xfs
的详细解释:
格式化为 ext4
-
命令:
mkfs.ext4 /dev/sdc1
这个命令会在
/dev/sdb1
分区上创建 ext4 文件系统。ext4 是 Linux 上常用的文件系统之一,具有高性能、稳定性和良好的兼容性。 -
常见用途:
- 用于格式化新的分区,创建文件系统以便存储数据。
- 重新格式化现有分区,以清除数据并重新创建文件系统。
- 用于根文件系统或数据分区。
-
注意事项:
- 格式化会删除分区上的所有数据,因此在执行此操作之前,确保备份重要数据。
- 格式化后,需要挂载分区才能访问和使用。
格式化为 xfs(centos7默认)
-
命令:
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 -o <属性>
属性:
rw 读写
ro 只读
noexec 不允许执行二进制文件
exec 允许执行二进制文件
auto mount -a 开机自动挂载
remount 在线重新挂载
挂载文件系统为只读:
mount -o ro /dev/sda1 /mnt
挂载文件系统并禁止执行文件:
mount -o noexec /dev/sdb1 /mnt
挂载文件系统并不更新访问时间:
mount -o noatime /dev/sdc1 /mnt
重新挂载文件系统以改变为读写模式:
mount -o remount,rw /mnt
查看挂载信息
要查看当前系统中所有已挂载的文件系统,可以使用:
mount
或者查看 /proc/mounts
文件,该文件包含所有已挂载的文件系统信息。
挂载外部存储
挂载外部存储设备(如 USB 驱动器)时,通常设备名称是动态的,可以通过 lsblk
或 fdisk -l
查看设备名称。例如,挂载一个 USB 驱动器:
mount /dev/sdb1 /mnt/usb
挂载网络共享
mount
也可以用于挂载网络共享,如 NFS 或 CIFS(SMB)共享。例如,挂载一个 NFS 共享:
mount -t nfs server:/path/to/share /mnt/nfs
注意事项
- 挂载点:确保指定的挂载点是一个空目录,以避免覆盖现有数据。
- 权限:挂载通常需要管理员权限,因此需要使用
sudo
或su
。 - 挂载持续性:要在重启后保留挂载,需要编辑
/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中配置挂载命令时,必须要重启才可生效,所以我们更推荐使用专业的配置文件去管理。