在 Linux 系统中,磁盘管理是运维的核心技能之一。本文将从分区类型、格式化、挂载的基础概念入手,结合实战操作,再延伸到 LVM 动态扩容技术,帮你彻底搞懂 Linux 磁盘管理逻辑。

一、磁盘基础:先搞懂这几个核心概念

1. 磁盘标识规则

通过lsblk命令可以查看系统磁盘信息,比如:

bash

运行

[root@localhost opt]# 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    2G  0 part [SWAP]
└─sda3   8:3    0   17G  0 part /
  • sd:表示磁盘类型(SCSI/SATA 盘);
  • a:第一块磁盘(b 是第二块,以此类推);
  • 1~3:磁盘的第 1~3 个分区。

2. 分区类型:主分区、扩展分区、逻辑分区

磁盘分区有 3 种类型,需结合MBR/GPT 分区表理解:

  • MBR 分区表:最多支持 4 个主分区,或 3 主 + 1 扩展(扩展分区内可分多个逻辑分区),单分区最大 2TB;
  • GPT 分区表:无主 / 扩展限制,单分区最大 18EB,支持大磁盘。
分区类型 特点 用途
主分区 最多 4 个(MBR),可直接格式化挂载 系统盘、常用数据盘
扩展分区 仅 1 个(MBR),不能直接用,需分逻辑分区 突破 4 个分区限制
逻辑分区 基于扩展分区创建,数量无限制(GPT 无此概念) 多分区场景

3. 格式化:给分区 “装系统”

格式化的核心是将分区转换为指定文件系统(如 xfs、ext4),让系统能识别和管理分区中的数据。常用命令:

bash

运行

# 格式化为xfs类型
mkfs -t xfs /dev/sdb1
# 简写形式
mkfs.xfs /dev/sdb2

4. 挂载:让分区 “可用”

挂载是将磁盘分区关联到系统目录,使目录成为分区的访问入口。

  • 设备文件:分区对应的文件(如/dev/sdb1);
  • 挂载点:系统中的空目录(如/data)。

二、磁盘使用流程:从新增到验证

完整的磁盘使用流程分 5 步:新增磁盘→分区→格式化→挂载→验证

步骤 1:新增磁盘(硬件层)

在虚拟机 / 服务器中添加新磁盘(如 20G 的sdb)。

步骤 2:磁盘分区(fdisk 工具)

fdisk(MBR)或gdisk(GPT)工具分区,以sdb为例:

bash

运行

# 进入fdisk交互模式
fdisk /dev/sdb

交互指令:

  • p:查看分区表;
  • n:新建分区;
  • d:删除分区;
  • w:保存并退出。

步骤 3:分区格式化

将新建的sdb1格式化为 xfs:

bash

运行

mkfs -t xfs /dev/sdb1

步骤 4:挂载分区

先创建挂载点目录,再挂载:

bash

运行

# 创建挂载点
mkdir /data
# 临时挂载(重启失效)
mount /dev/sdb1 /data

步骤 5:验证挂载

用以下命令确认:

bash

运行

# 查看分区信息
lsblk
# 查看磁盘使用情况(含文件系统)
df -hT
# 查看分区详细信息
fdisk -l

三、挂载持久化:永久挂载配置

临时挂载会随重启失效,需通过/etc/fstab配置永久挂载

编辑 fstab 文件

bash

运行

vim /etc/fstab

添加以下内容(格式:设备文件 挂载点 文件系统 选项 0 0):

plaintext

/dev/sdb1  /data   xfs  defaults  0  0

生效配置

无需重启,执行以下命令刷新:

bash

运行

mount -a

解挂载

需要卸载分区时,用umount

bash

运行

# 方式1:指定设备文件
umount /dev/sdb1
# 方式2:指定挂载点
umount /data

四、磁盘扩容:LVM 逻辑卷管理

当磁盘空间不足时,**LVM(逻辑卷管理)** 可以实现动态扩容 / 缩容,核心是将磁盘抽象为 “逻辑卷”。

LVM 核心概念

  • 物理卷(PV):将磁盘 / 分区封装为 LVM 的 “存储单元”;
  • 卷组(VG):将多个 PV 合并为一个 “存储池”;
  • 逻辑卷(LV):从 VG 中划分的 “可用分区”,可直接格式化挂载。

LVM 实战:创建并扩容逻辑卷

步骤 1:准备磁盘并创建 PV

假设新增 2 块 20G 磁盘sdbsdc

bash

运行

# 清理磁盘旧分区(可选)
wipefs -a /dev/sdb
wipefs -a /dev/sdc
# 创建PV
pvcreate /dev/sdb /dev/sdc
# 查看PV
pvs
步骤 2:创建卷组 VG

sdbsdc合并为名为datavg的 VG:

bash

运行

vgcreate datavg /dev/sdb /dev/sdc
# 查看VG
vgs
步骤 3:创建逻辑卷 LV

datavg中划分 30G 的 LV,命名为datalv

bash

运行

lvcreate -L 30G -n datalv datavg
# 查看LV
lvs
步骤 4:格式化并挂载 LV

bash

运行

# 格式化LV
mkfs.xfs /dev/datavg/datalv
# 挂载到/data
mount /dev/datavg/datalv /data
步骤 5:LV 扩容(动态扩展)

datalv扩容 10G(无需卸载):

bash

运行

# 扩容LV
lvextend -L +10G /dev/datavg/datalv
# 刷新文件系统(xfs用xfs_growfs,ext4用resize2fs)
xfs_growfs /data
步骤 6:LV 缩容(谨慎操作)

缩容会清空数据,需先卸载、备份:

bash

运行

# 卸载LV
umount /data
# 缩容LV
lvreduce -L -5G /dev/datavg/datalv
# 重新格式化(数据会丢失!)
mkfs.xfs /dev/datavg/datalv -f
# 重新挂载
mount /dev/datavg/datalv /data

五、总结:磁盘管理核心工具与指令

操作场景 工具 / 指令
查看磁盘 / 分区信息 lsblkfdisk -ldf -hT
分区工具 fdisk(MBR)、gdisk(GPT)
格式化 mkfs -t xfs/ext4
挂载 / 卸载 mountumount/etc/fstab
LVM 管理 pvcreatevgcreatelvcreate
LVM 扩容 lvextendxfs_growfs
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐