磁盘分类与设备命名

Linux如何识别和命名磁盘是所有磁盘管理操作的基础

分类

设备名

描述

IDE / ATA (PATA) 硬盘

/dev/hda, /dev/hdb

较早的硬盘接口标准,现在已不常见。a, b 代表主/从设备。分区名为 /dev/hda1, /dev/hda2

SATA/SAS/SCSI 硬盘

/dev/sda, /dev/sdb

最常见的硬盘类型。a, b 代表第一块、第二块磁盘。分区名为 /dev/sda1, /dev/sda2。

NVMe 固态硬盘

/dev/nvme0n1

高速 M.2 接口的SSD。nvme0是控制器,n1是命名空间(磁盘)。分区名为 /dev/nvme0n1p1。

虚拟化磁盘 (VirtIO)

/dev/vda, /dev/vdb

在KVM等虚拟化环境中常见的设备名。分区名为 /dev/vda1, /dev/vda2

分区方案

MBR vs GPT

MBR是传统方案,最大2TB,最多4主分区。GPT是现代方案,支持大容量,分区数多

分区管理 (fdisk & gdisk)

分区是将一块物理磁盘划分成多个逻辑区域的过程

# 列出所有磁盘及其分区信息
fdisk -l

# 以树状结构清晰显示
lsblk

图片[1]-Linux磁盘与文件系统管理-CIK

  • 使用 fdisk (用于MBR分区),fdisk 是一个交互式的磁盘分区工具

例如对新磁盘 /dev/sdb 进行分区

# 启动fdisk交互模式,目标是/dev/sdb
fdisk /dev/sdb

图片[2]-Linux磁盘与文件系统管理-CIK

图片[3]-Linux磁盘与文件系统管理-CIK

格式化分区 (mkfs)

分区后,必须创建文件系统 (格式化),才能存储数据。

常用文件系统类型:

  • ext4: Linux最常用的日志文件系统,稳定可靠。

  • xfs: 高性能的日志文件系统,适合大文件和高性能计算

# 将 /dev/sdb1 分区格式化为 xfs 文件系统
mkfs.xfs /dev/sdb1

#查看格式化类型
blkid /dev/sdb1

# 将 /dev/sdc1 分区格式化为 ext4 文件系统
mkfs.ext4 /dev/sdc1

图片[4]-Linux磁盘与文件系统管理-CIK

逻辑卷管理 (LVM)

LVM (Logical Volume Management) 提供了比传统分区更灵活的磁盘管理方式,可以动态调整大小。

物理卷 (PV) -> 卷组 (VG) -> 逻辑卷 (LV),(将物理分区加入到存储池,再从存储池中划分出可用的逻辑分区)

例如:将 /dev/sdb1 和 /dev/sdc1 组合成LVM

# 1. 创建物理卷 (PV)
pvcreate /dev/sdb1 /dev/sdc1

# 2. 创建卷组 (VG),命名为 my_vg
vgcreate my_vg /dev/sdb1 /dev/sdc1

# 3. 从卷组 my_vg 中创建一个名为 my_lv 的逻辑卷 (LV),大小为15GB
lvcreate -n my_lv -L 15G my_vg

# 4. 格式化创建好的逻辑卷
mkfs.ext4 /dev/my_vg/my_lv

# 5. LVM逻辑卷可以被挂载和使用
mkdir /mnt/lvm_data
mount /dev/my_vg/my_lv /mnt/lvm_data

挂载与卸载 (mount & umount)

挂载 (mount)

# 将 /dev/sdb1 分区挂载到 /data 目录
mkdir /data
mount /dev/sdb1 /data

卸载 (umount)

# 通过挂载点卸载
umount /data
# 或者通过设备名卸载
umount /dev/sdb1

永久挂载 (/etc/fstab)
为了系统启动时能自动挂载,需要修改 /etc/fstab 文件
fstab 文件格式: <设备> <挂载点> <文件系统类型> <挂载选项>

# 首先获取 /dev/sdb1 的UUID
blkid /dev/sdb1

# 将获取到的UUID写入 /etc/fstab
# 假设UUID为 "a1b2c3d4-..."
# 在 /etc/fstab 文件末尾添加一行:
UUID="a1b2c3d4-..."  /data  ext4  defaults  0  2

验证 fstab 配置: sudo mount -a

检查磁盘空间 (df & du)

查看文件系统空间 (df)

# 以易读格式显示所有挂载的文件系统的空间使用情况
df -h

查看文件/目录大小 (du)

# 只显示 /var/log 目录的总大小
du -sh /var/log

图片[5]-Linux磁盘与文件系统管理-CIK