如何在 FreeBSD 上识别磁盘 scsi 地址?

如何在 FreeBSD 上识别磁盘 scsi 地址?

我正在使用 FreeNAS 9.3 ,它是 FreeBSD 9.3 。这在 vmware ESXi 下。

我有 3 个磁盘,是为此 VM 配置的。

需要将一个磁盘更换为另一个磁盘(因为物理上它出现故障)。

已在虚拟机中添加新磁盘,并且 FreeNAS 已识别该磁盘,但我无法识别需要删除的磁盘(因为有多个相同大小的磁盘)。

在linux上,我能够识别 /dev/disk/by-path ,在那里我将linux上的SCSI地址(例如:0:10)与VMWare配置关联起来......

命令camcontrol devlist, pciconf, geom disk list, 没有帮助。

在哪里可以获取特定磁盘的 SCSI 地址?

答案1

凸轮控制当使用 ATA 和 SCSI 磁盘时,它是适合此目的的工具。你甚至说你尝试过它 - 但没有说为什么你不能使用它。

典型的输出是:

# camcontrol    devlist
  at scbus1 target 0 lun 0 (ada0,pass0)
  at scbus2 target 0 lun 0 (ada1,pass1)
  at scbus4 target 0 lun 0 (ada2,pass2)
  at scbus5 target 0 lun 0 (ada3,pass3)

之前(FreeBSD 9 之前)有一个名为 ATA 磁盘的单独工具atacontrol- 该工具已被camcontrol.

答案2

刚刚找到一种方法...
在 dmesg.boot 处进行 grep,
其中 scbus# 是 SCSI ID,target # 是该 ID 处的地址。

jdivm13# grep "da[0-9] at" /var/run/dmesg.boot
da0 at mpt0 bus 0 scbus2 target 0 lun 0
da1 at mpt1 bus 0 scbus3 target 1 lun 0
da2 at mpt1 bus 0 scbus3 target 2 lun 0
da3 at mpt1 bus 0 scbus3 target 3 lun 0
da4 at mpt1 bus 0 scbus3 target 4 lun 0
da5 at mpt2 bus 0 scbus4 target 1 lun 0
da6 at mpt2 bus 0 scbus4 target 2 lun 0
da7 at mpt2 bus 0 scbus4 target 3 lun 0
da8 at mpt2 bus 0 scbus4 target 4 lun 0
da9 at umass-sim0 bus 0 scbus6 target 0 lun 0

相关内容