Linux 系统磁盘管理详解

Linux 系统磁盘管理详解

在 Linux 系统中,磁盘管理是每个运维工程师必须掌握的基础技能。无论是服务器扩容、分区调整,还是日常维护,都离不开对磁盘的理解与操作。本文将带你从零开始了解 Linux 的磁盘管理机制,并提供实用操作指南,帮助你更好地应对实际工作中的磁盘问题。

博客:

https://linuxcloudops.com/linux-%e7%a3%81%e7%9b%98%e7%ae%a1%e7%90%86%e6%95%99%e7%a8%8b%ef%bc%9alvm-%e6%89%a9%e5%ae%b9%e3%80%81%e5%88%86%e5%8c%ba%e3%80%81%e6%8c%82%e8%bd%bd%e5%ae%9e%e6%88%98%e6%8c%87%e5%8d%97/


🧭 目录

  1. 什么是磁盘管理

  2. 磁盘设备命名规则

  3. 查看磁盘使用情况

  4. 基本分区工具:fdisk 与 parted

  5. 文件系统与挂载

  6. 逻辑卷管理(LVM)

  7. 常见磁盘问题排查

  8. 总结与建议


1️⃣ 什么是磁盘管理?

在 Linux 中,磁盘管理是指对物理硬盘、虚拟磁盘、RAID 设备等存储介质进行识别、分区、格式化、挂载、扩容等一系列操作的过程。

核心任务包括:

  • 查看磁盘空间使用情况

  • 分区与格式化新磁盘

  • 挂载磁盘到指定目录

  • 扩容已有磁盘或分区

  • 使用 LVM 实现灵活的磁盘管理


2️⃣ 磁盘设备命名规则

Linux 系统中,磁盘设备通常以 /dev 下的文件形式存在,命名方式如下:

类型命名示例描述
IDE 硬盘/dev/hda, /dev/hdb旧式接口,现已较少见
SATA/SCSI/SAS 硬盘/dev/sda, /dev/sdb最常见的硬盘命名
NVMe 固态硬盘/dev/nvme0n1, /dev/nvme0n2高速固态硬盘接口
虚拟机磁盘/dev/vda, /dev/xvda如阿里云、腾讯云使用的虚拟磁盘

例如:

/dev/sda # 第一块 SATA 硬盘 /dev/sda1 # 第一块 SATA 硬盘的第一个分区


3️⃣ 查看磁盘使用情况

以下是一些常用的查看磁盘信息的命令:

✅ 查看磁盘容量使用情况:

df -h

输出示例:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G   15G   5G   75% /

✅ 查看当前系统磁盘及分区信息:

lsblk

输出示例:

NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda       8:0    0   50G  0 disk 
├─sda1    8:1    0   20G  0 part /
└─sda2    8:2    0   30G  0 part /home

✅ 查看磁盘详细信息(如扇区大小、型号):

hdparm -I /dev/sda

4️⃣ 基本分区工具:fdisk 与 parted

🔹 fdisk(适用于小于 2TB 的磁盘)

示例:为 /dev/sdb 创建一个主分区并格式化
sudo fdisk /dev/sdb
# 输入命令:
# n -> p -> 1 -> 默认起始扇区 -> +10G -> w

创建完分区后,需要格式化并挂载:

mkfs.ext4 /dev/sdb1
mkdir /mnt/data
mount /dev/sdb1 /mnt/data

🔹 parted(支持 GPT 和大于 2TB 的磁盘)

sudo parted /dev/sdc mklabel gpt
sudo parted /dev/sdc mkpart primary ext4 0% 100%

5️⃣ 文件系统与挂载

✅ 支持的常见文件系统:

文件系统特点
ext4Linux 默认,稳定可靠,支持大文件
xfs高性能,适合大容量磁盘
btrfs支持快照、压缩等功能,适合高级用途
zfs功能强大但占用资源高,适合 NAS 或专业场景

✅ 挂载磁盘:

mount /dev/sdb1 /mnt/data

✅ 自动挂载(修改 /etc/fstab):

添加一行配置:

/dev/sdb1    /mnt/data    ext4    defaults    0 0

6️⃣ 逻辑卷管理(LVM)

LVM 是 Linux 提供的一种高级磁盘管理方式,它允许你动态调整磁盘分区大小,非常适合生产环境。

🧱 LVM 架构层级:

  1. PV(Physical Volume):物理卷,对应物理磁盘或分区

  2. VG(Volume Group):卷组,由多个 PV 组成

  3. LV(Logical Volume):逻辑卷,最终可被挂载使用的“虚拟分区”

🛠️ 示例:使用 LVM 扩展根分区

步骤 1:添加新磁盘或扩展已有磁盘(通过云平台)

假设新增了 /dev/vdb

步骤 2:创建物理卷
pvcreate /dev/vdb
步骤 3:扩展卷组(假设 VG 名为 centos)
vgextend centos /dev/vdb
步骤 4:扩展逻辑卷(假设 LV 为 /dev/centos/root)
lvextend -l +100%FREE /dev/centos/root
步骤 5:扩展文件系统(根据文件系统选择)
resize2fs /dev/centos/root   # 如果是 ext4
xfs_growfs /                   # 如果是 xfs

7️⃣ 常见磁盘问题排查

问题可能原因解决方法
磁盘满了但 df 显示还有空间inode 耗尽使用 df -i 查看
无法卸载挂载点被进程占用使用 lsof /mnt/data 查找并 kill 进程
resize2fs 报错文件系统损坏先执行 fsck 检查修复
新磁盘未被识别内核未更新分区表使用 partprobe 刷新分区信息

8️⃣ 总结与建议

  • 磁盘管理是 Linux 运维的基础技能,熟练掌握可以极大提升工作效率。

  • 推荐使用 LVM 来实现更灵活的磁盘管理。

  • 定期监控磁盘使用情况,防止因磁盘满导致服务异常。

  • 学会使用 shell 脚本自动化磁盘检查和清理任务。


🧪 拓展学习(Bonus)

  • 编写 Shell 脚本自动检测磁盘使用并发送告警邮件

  • 使用 ncdu 快速查找大文件和目录

  • 配置 RAID 实现冗余和高性能存储

  • 使用 rsync 实现磁盘数据迁移或备份

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值