在Linux中,你可以使用两种不同的方法来管理存储空间:直接格式化分区并挂载到路径,以及使用LVM(逻辑卷管理)技术创建逻辑卷然后挂载。

  1. 直接格式化分区和挂载:(本篇)

    • 区别:直接格式化分区是指在物理磁盘上创建一个分区,然后对该分区执行文件系统格式化,并将其挂载到文件系统中的特定路径。这种方法是最基本的磁盘管理方式,没有额外的逻辑层。
    • 好处:直接格式化分区的好处包括简单、直接,不需要额外的管理工具。这种方法适用于简单的存储需求,特别是当你只有一个磁盘且不需要对其进行复杂的管理时。
  2. 使用LVM技术创建逻辑卷然后挂载

    ​ —— 根路径扩容操作: 点击前往

    对于VG卷组和LV逻辑卷操作看这两篇文章

    ​ —— VG卷组操作:点击前往

    ​ —— 逻辑卷操作:点击前往

    • 区别:LVM是一种高级的磁盘管理技术,它将物理卷(Physical Volumes)组合成卷组(Volume Group),然后从卷组中划分出逻辑卷(Logical Volumes)。逻辑卷可以动态调整大小,可以将多个物理卷合并为一个逻辑卷,还可以创建快照等强大功能。
    • 好处:使用LVM技术创建逻辑卷的好处包括:
      • 灵活性:逻辑卷的大小可以根据需要进行调整,无需重新分区或重新格式化。
      • 可靠性:LVM提供了冗余和故障恢复机制,如镜像和RAID等。
      • 管理简便:通过LVM,你可以使用一组统一的命令来管理多个磁盘,并且可以对逻辑卷进行高级操作,如快照、迁移和扩展等。

总之,使用LVM技术创建逻辑卷提供了更高级、更灵活的磁盘管理功能,尤其适用于需要动态调整大小、实施冗余和故障恢复等复杂存储需求的场景。而直接格式化分区和挂载则更简单直接,适用于较为简单的存储需求。具体选择哪种方案应根据你的需求和实际情况来决定。


磁盘挂载

查看磁盘

1
fdisk -l
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[root@localhost ~]# fdisk -l

磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b3ade

设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 209715199 103808000 8e Linux LVM

磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-root:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-home:50.5 GB, 50457477120 字节,98549760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

区分磁盘

​ 【1】固定知识点:*/sda 结尾的磁盘为系统盘,例如:/dev/sda .

​ 【2】/dev/mapper/centos-root ;/dev/mapper/centos-swap;/dev/mapper/centos-home:都是系统盘的分区具体情况通过lsblk查看,如图:

​ 【3】剩下的就是外加的硬盘了,找到新加的磁盘的名称,这里演示示例为:/dev/sdb

创建分区

注意:每个磁盘只能创建4个分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

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

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

命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):

​ 这里创建主分区把所有空间都放到这个主分区中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-83886079,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079):
将使用默认值 83886079
分区 1 已设置为 Linux 类型,大小设为 40 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

​ 同步完成后,可通过 fdisk -l 查看创建好的/dev/sdb1分区

1
2
[root@localhost ~]# fdisk -l | grep /dev/sdb1
/dev/sdb1 2048 83886079 41942016 83 Linux

格式化

参考

文件系统区别:https://dongshao.blog.csdn.net/article/details/86694903

​ 使用mkfs 来进行格式化:mkfs -t 文件系统 /dev/sdb1 和mkfs.文件系统 /dev/sdb1 是一样的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[root@localhost ~]# mkfs.ext [Tab] # Tab键显示可以格式化的系统
mkfs.ext2 mkfs.ext3 mkfs.ext4
[root@localhost ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2621440 inodes, 10485504 blocks
524275 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2157969408
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@localhost ~]#

挂载

​ 对于没有使用lvm技术,创建VG卷组的都可以通mount进行挂载,扩展:查看卷组命令:vgdisplay -v

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost ~]# mount /dev/sdb1 /usr/local/
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 47G 0 lvm /home
sdb 8:16 0 40G 0 disk
└─sdb1 8:17 0 40G 0 part /usr/local
sr0 11:0 1 1024M 0 rom
[root@localhost ~]#

这就挂载上了,下面再**/etc/fstab**文件中设置开机自动挂载

介绍

在Linux系统中,/etc/fstab文件包含了系统启动时需要挂载的文件系统的信息。每行通常包括了五个部分,它们的意思分别是:

  1. 设备名(Device) 这一列指定了需要挂载的设备的名称或者UUID(Universally Unique Identifier)。例如,/dev/sda1 或者 UUID=123e4567-e89b-12d3-a456-426655440000。这个字段告诉系统应该挂载哪个设备。
  2. 挂载点(Mount Point) 挂载点指定了将设备挂载到文件系统中的哪个目录。例如,/mnt/data 或者 /home。
  3. 文件系统类型(Filesystem Type) 这一列指定了要挂载的文件系统类型,比如ext4、ntfs、vfat等。
  4. 选项(Options) 这个字段包含了一系列以逗号分隔的选项,比如读写权限(rw)、只读(ro)、允许用户挂载(user)等。
  5. 是否需要备份(Dump)和文件系统检查顺序(Fsck) 这两个字段通常用于指定备份工具是否备份该文件系统以及文件系统检查的顺序。大多数情况下,你可以将这两个字段设置为0。

示例:

1
echo /dev/sdb1 /usr/local/ ext4 defaults 0 0 >> /etc/fstab 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost ~]# echo /dev/sdb1 /usr/local/ ext4 defaults 0 0 >> /etc/fstab 
[root@localhost ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sun Apr 10 21:36:45 2022
#
# 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=1926ca57-34fb-4223-9c10-a21cd2d4b6ee /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb1 /usr/local/ ext4 defaults 0 0

这里就设置完成,每次开机后都会自动挂载。

取消挂载

步骤:

​ [1] umount 设备名 挂载路径

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@localhost ~]# umount /dev/sdb1 /usr/local
umount: /usr/local:未挂载
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 47G 0 lvm /home
sdb 8:16 0 40G 0 disk
└─sdb1 8:17 0 40G 0 part
sr0 11:0 1 1024M 0 rom
[root@localhost ~]#

​ [2] 在/etc/fstab 中删除自动挂载配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost ~]# sed -i '\,/dev/sdb1 /usr/local/ ext4 defaults 0 0,d' /etc/fstab 
[root@localhost ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sun Apr 10 21:36:45 2022
#
# 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=1926ca57-34fb-4223-9c10-a21cd2d4b6ee /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
[root@localhost ~]#

后面就可以对磁盘做任意操作了,不会影响系统。