/dev/dsk 和 /dev/sda 有什么区别?

/dev/dsk 和 /dev/sda 有什么区别?

我正在研究块设备和字符设备。我发现一篇文章提到了如何将块设备分配为/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/*设备名称。

这里还有一些背景信息:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_storage_devices/assembly_overview-of-persistent-naming-attributes_managing-storage-devices

相关内容