重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: UDEV设置中KERNEL== 使用sd* 和 dm-*的区别 [打印本页]

作者: 郑全    时间: 2025-11-2 17:29
标题: UDEV设置中KERNEL== 使用sd* 和 dm-*的区别
本帖最后由 郑全 于 2025-11-2 17:33 编辑

在 UDEV 规则中,KERNEL=="sd*"和KERNEL=="dm-*"分别匹配不同类型的设备,核心区别在于它们对应的设备类型和底层技术,具体差异如下:
一、核心差异:设备类型与来源
规则
匹配的设备类型
底层技术 / 场景            
设备节点示例               
KERNEL=="sd*"
物理 SCSI/SATA 磁盘(或模拟 SCSI 的设备)
直接对应物理磁盘、USB 硬盘、单路径 SAN/iSCSI 磁盘等
/dev/sda、/dev/sdb1
KERNEL=="dm-*"
逻辑设备映射(Device Mapper)设备
基于内核 Device Mapper 框架的虚拟设备
/dev/dm-0、/dev/dm-1


二、详细解析1. KERNEL=="sd*":匹配物理磁盘或单路径设备2. KERNEL=="dm-*":匹配逻辑映射设备三、使用场景对比
场景
适合的规则
原因分析
绑定本地物理硬盘
KERNEL=="sd*"
本地硬盘直接以sda、sdb形式存在,无逻辑映射层。
绑定多路径存储的逻辑设备
KERNEL=="dm-*"
多路径设备通过 Device Mapper 生成dm-*,需匹配逻辑层而非底层sda/sdb。
绑定 LVM 逻辑卷或加密设备
KERNEL=="dm-*"
这些设备本质是 Device Mapper 的虚拟设备,dm-*是其底层标识。
Oracle RAC 的 ASM 磁盘(多路径)
KERNEL=="dm-*"
需绑定多路径聚合后的逻辑设备,避免单路径故障影响。
临时识别 USB 硬盘
KERNEL=="sd*"
USB 设备通常模拟为 SCSI 设备,以sd*命名。


四、注意事项
总结:sd*对应物理 / 单路径设备,dm-*对应逻辑映射设备,核心是根据设备的 “物理层” 还是 “逻辑层” 选择匹配规则,尤其在多路径、LVM 等场景中,dm-*更可靠。






欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2