基础命名规则
Linux通过设备文件(位于/dev
目录)访问磁盘和分区,命名格式为:/dev/前缀 + 字母 + 分区编号
/dev/sda1
、/dev/nvme0n1p2
磁盘设备前缀
sd
:SATA/SAS/USB接口的磁盘(最常见)- 示例:第一块SATA磁盘 →
/dev/sda
,第二块 →/dev/sdb
- 示例:第一块SATA磁盘 →
nvme
:NVMe固态硬盘(PCIe接口)- 示例:第一块NVMe磁盘 →
/dev/nvme0n1
,第二块 →/dev/nvme1n1
- 示例:第一块NVMe磁盘 →
hd
:旧式IDE磁盘(现代系统已少见)- 示例:第一块IDE磁盘 →
/dev/hda
- 示例:第一块IDE磁盘 →
vd
:虚拟化环境中的虚拟磁盘(如KVM)- 示例:第一块虚拟磁盘 →
/dev/vda
- 示例:第一块虚拟磁盘 →
分区编号规则
- 主分区或扩展分区:编号 1-4
- 示例:
/dev/sda1
(第一主分区)、/dev/sda2
(第二主分区)
- 示例:
- 逻辑分区:从 5 开始编号
- 示例:扩展分区内的第一个逻辑分区 →
/dev/sda5
,第二个 →/dev/sda6
- 示例:扩展分区内的第一个逻辑分区 →
- GPT分区表:无主/逻辑分区限制,直接按顺序从 1 开始编号(如
/dev/sdb1
、/dev/sdb2
)
⚠️ 注意:分区编号不连续(如删除
sda2
后,新分区不会自动填补空缺)。
特殊存储设备的命名
NVMe磁盘的层级命名
NVMe设备采用两级命名:
- 磁盘:
/dev/nvme0n1
(控制器0,命名空间1) - 分区:
/dev/nvme0n1p1
(第一个分区)、/dev/nvme0n1p2
(第二个分区)
软RAID设备
- 命名格式:
/dev/mdX
(X为数字)- 示例:
/dev/md0
(第一个RAID阵列)
- 示例:
LVM逻辑卷
- 卷组(VG):
/dev/VG名称
- 逻辑卷(LV):
/dev/VG名称/LV名称
- 示例:卷组
vgdata
下的逻辑卷lvhome
→/dev/vgdata/lvhome
- 示例:卷组
查看分区命名的命令
-
列出所有磁盘和分区
lsblk # 树形结构展示设备关系
(图示:sda磁盘包含sda1、sda2分区)
-
查看分区表类型
sudo fdisk -l /dev/sda # 检查MBR/GPT分区表
-
识别文件系统类型
df -Th # 显示已挂载分区的文件系统(如ext4、xfs)
关键注意事项
-
动态设备名风险
磁盘字母(如sda
/sdb
)可能因启动顺序变化而改变,建议:- 使用UUID挂载:通过
/etc/fstab
中的UUID标识分区(通过blkid
命令获取)。 - 使用稳定设备名:如
/dev/disk/by-id/
或/dev/disk/by-uuid/
中的符号链接。
- 使用UUID挂载:通过
-
分区限制
- MBR磁盘:最多4个主分区(或3主分区+1扩展分区+多个逻辑分区)。
- GPT磁盘:无分区数量限制(通常支持128个以上)。
-
系统保留命名
- 系统可能保留
sda1
为EFI引导分区,sda2
为根分区()。
- 系统可能保留
实际应用场景
-
场景1:新增硬盘
插入SATA磁盘后,系统自动分配为/dev/sdb
,分区时可创建/dev/sdb1
(主分区)或/dev/sdb5
(逻辑分区)。 -
场景2:NVMe分区扩容
若需扩容/dev/nvme0n1p3
(第三个分区),需先卸载该分区,再用resize2fs
或xfs_growfs
调整大小。 -
场景3:解决启动故障
当磁盘顺序变化导致系统无法启动时,在GRUB修复模式中需根据实际分区名(如/dev/nvme0n1p2
)指定根分区。
Linux分区命名是系统管理的基石,其逻辑清晰且可预测,掌握sdX
、nvmeXnXpX
等规则,结合UUID等稳定标识符,可高效管理存储设备,对于关键操作(如分区调整),务必备份数据并使用fdisk
、parted
等工具谨慎执行。
引用说明:
- Linux内核文档:块设备命名规范
util-linux
手册页(lsblk
、fdisk
命令)- IBM Developer:Linux存储管理指南
- The Linux Foundation:持久化块设备命名
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9695.html