我正在研究块设备和字符设备。我发现一篇文章提到了如何将块设备分配为/dev/sd[a-z]
。但后来我读了另一篇文章,其中提到了如何将块设备分配为/dev/dsk/[c#t#d#]
。它们不是都是块设备吗?什么时候使用一个而不是另一个?
答案1
/dev/sd[a-z]
是Linux中最常见的硬盘命名方案。
其他 Unix 版本使用不同的命名方案,例如/dev/dsk/
HPUX 或索拉里斯。
答案2
一些命名约定是内核发现设备,第一个 SCSI/SATA/SAS 磁盘获得分配的名称sda
,而字母表中的第二个scb
和后续字母用于其他磁盘。
其他设备驱动器对其检测到的设备使用不同的块设备命名方案。
这发现问题发现可能会失败,例如您的第一个磁盘发生故障,然后第二个磁盘可以sda
分配名称,而之前它被命名为sdb
。sdb1/etc/fstab
的条目将不再起作用,但数据并没有消失,但现在sda1
需要挂载到该挂载点。
为了应对持久设备命名已创建方案,可用于正确识别设备,即使发现为其分配了不同的名称。例如/dev/disk/by-uuid/*
和/或/dev/disk/by-label/*
设备名称。