Linux 磁盘管理:分区、格式化、挂载与 LVM 实战
在 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 磁盘sdb、sdc:
bash
运行
# 清理磁盘旧分区(可选)
wipefs -a /dev/sdb
wipefs -a /dev/sdc
# 创建PV
pvcreate /dev/sdb /dev/sdc
# 查看PV
pvs
步骤 2:创建卷组 VG
将sdb、sdc合并为名为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
五、总结:磁盘管理核心工具与指令
| 操作场景 | 工具 / 指令 |
|---|---|
| 查看磁盘 / 分区信息 | lsblk、fdisk -l、df -hT |
| 分区工具 | fdisk(MBR)、gdisk(GPT) |
| 格式化 | mkfs -t xfs/ext4 |
| 挂载 / 卸载 | mount、umount、/etc/fstab |
| LVM 管理 | pvcreate、vgcreate、lvcreate |
| LVM 扩容 | lvextend、xfs_growfs |
更多推荐




所有评论(0)