Linux 磁盘管理完整指南:从 Disk 到 Mount

Linux 磁盘管理完整指南:从 Disk 到 Mount

Linux 磁盘管理完整指南:从 Disk 到 Mount

在 Linux 中,一块磁盘从“未使用”到“可用存储”,必须经历一套标准抽象层级:

Disk → GPT → Partition(s) → Filesystem → Mount

理解这条链路,是掌握 Linux 存储管理的核心。


一、核心概念解释(必须理解)

1. Disk(物理磁盘)

Disk 是最底层的物理设备,例如:

  • /dev/sda
  • /dev/sdb

特点:

  • 只是“原始存储空间”
  • 没有结构
  • 无法直接存文件(现代系统不推荐)

2. GPT(分区表)

GPT(GUID Partition Table)是磁盘的“目录结构”。

作用:

  • 记录磁盘如何被划分
  • 管理多个分区
  • 支持大容量磁盘(>2TB)

特点:

  • 写在磁盘最前端
  • 不存数据,只存“分区规划”

3. Partition(分区)

Partition 是 GPT 定义出来的“逻辑区域”。

例如:

/dev/sdb1 /dev/sdb2

作用:

  • 将一块磁盘划分为多个独立区域
  • 每个分区可以独立格式化和使用

4. Filesystem(文件系统,例如 ext4)

文件系统决定“数据如何存储”。

ext4 的作用:

  • 管理文件和目录
  • 负责 inode / block 分配
  • 提供日志(防崩溃恢复)

没有文件系统的分区:

  • 不能存文件
  • Linux 无法正常使用

5. Mount(挂载)

Linux 没有盘符概念,只有目录树。

Mount 的作用:

👉 把磁盘映射到某个目录

例如:

/dev/sdb1 → /data

之后访问:

cd/data

二、标准流程(单分区场景)

这是最常见的生产标准:

Disk → GPT → 1 Partition → ext4 → Mount

Step 1:查看磁盘

lsblk

或:

fdisk-l

Step 2:清空旧结构(可选)

wipefs-a/dev/sdX

或:

parted/dev/sdX mklabel gpt

Step 3:创建 GPT

parted/dev/sdX mklabel gpt

Step 4:创建单分区(100%空间)

parted/dev/sdX mkpart primary ext40%100%

生成:

/dev/sdX1

Step 5:格式化文件系统

mkfs.ext4 /dev/sdX1

Step 6:挂载使用

mkdir-p/data/diskmount/dev/sdX1 /data/disk

Step 7:开机自动挂载

blkid /dev/sdX1

编辑:

/etc/fstab

写入:

UUID=xxxx /data/disk ext4 defaults 0 2

三、多个分区的情况(重点)

很多人误以为“一块盘只能一个用途”,但 Linux 支持多分区共存


1. 多分区结构示例

/dev/sdb ├── sdb1 → /data ├── sdb2 → /backup ├── sdb3 → /logs

2. 多分区适用场景

适合:

  • 不同数据隔离(日志 / 数据 / 备份)
  • 权限隔离
  • IO 性能分区管理
  • 老旧系统或传统架构

3. 创建多个分区的流程

Step 1:创建 GPT

parted/dev/sdX mklabel gpt

Step 2:创建多个分区

例如三分区:

parted/dev/sdX mkpart primary ext40%30%parted/dev/sdX mkpart primary ext430%70%parted/dev/sdX mkpart primary ext470%100%

Step 3:检查分区

lsblk

结果:

/dev/sdX1 /dev/sdX2 /dev/sdX3

Step 4:分别格式化

mkfs.ext4 /dev/sdX1 mkfs.ext4 /dev/sdX2 mkfs.ext4 /dev/sdX3

Step 5:分别挂载

mount/dev/sdX1 /datamount/dev/sdX2 /backupmount/dev/sdX3 /logs

4. 多分区 vs 单分区(重要对比)

方式优点缺点
单分区简单、空间利用率高隔离性差
多分区数据隔离清晰空间不可动态共享

四、最佳实践(生产建议)

推荐方案(现代系统)

👉单分区 + LVM 或 ZFS

原因:

  • 避免空间浪费
  • 可动态扩容
  • 管理更灵活

不推荐

  • 一块盘切太多小分区(浪费管理成本)
  • 未规划直接 mkfs on disk(非标准)

五、总结(核心理解)

整个 Linux 磁盘模型可以理解为:

Disk(硬件) ↓ GPT(结构规划) ↓ Partition(逻辑切块) ↓ Filesystem(数据组织方式) ↓ Mount(接入系统)

六、一句话理解本质

👉 Linux 磁盘管理的本质是:

把“原始硬件”逐层抽象成“可挂载的目录结构”