Scsi

如何從 lsscsi 中讀取 hctl 數字?

  • July 19, 2021

做 lsscsi 時:

$lsscsi

[0:0:2:0] disk FUJITSU MAM3184MP 0105 /dev/sda
[1:0:0:0] cd   CREATIVE CD5233E 1.00 /dev/scd0

據我了解:

H : SCSI 主機 ID

C : SCSI 通道

T : 目標編號

L : LUN

這4個數字是怎麼來的?它是從 BIOS 讀取的嗎?還是由作業系統決定?

任何其他 Linux 命令也可以獲得這些數字嗎?

這些數字由核心(及其設備驅動程序)根據適當的硬體資訊分配。因此,在真正的並行 SCSI 設置中,第二個欄位將標識相應 HBA 上的匯流排,第三個欄位將標識目標(通常由每個設備上的跳線確定),第四個標識目標的子集(由目標決定)。

所有這些都/sys/block在 Linux 下公開,因此任何命令都可以在那裡查找相關資訊。lsscsi在某些情況下確實有自己的命名法,例如對於 NVMe 設備(在主機欄位中帶有“N”),但使用的所有資訊也可以在/sys/block.

引用自:https://unix.stackexchange.com/questions/658998