我有一个在 VMware 上运行的 Debian VM,它cat /sys/class/scsi_host/host?/proc_name
返回以下输出:
ata_piix
ata_piix
mptspi
我从中了解到虚拟机有三个(虚拟)SCSI HBA。
我如何才能找出这些 HBA 中的哪一个(host0
、host1
或host2
)支持我的 VM 的虚拟磁盘?
vSphere Client 显示虚拟机Hard Disk 1
带有Virtual Device Node: SCSI (0:0) Hard Disk 1
,其SCSI controller 0
为SCSI Controller Type: LSI Logic Parallel
。主机显然正在运行 VMware ESXi 6.0.0。
答案1
有几种方法可以做到这一点 - 下面我只列出了两种。
hwinfo
如果已安装,请使用:$ hwinfo --disk ... 28: IDE 06.0: 10600 Disk ... SysFS Device Link: /devices/pci0000:00/0000:00:01.0/0000:01:00.0/host0/port-0:6/end_device-0:6/target0:0:6/0:0:6:0 ... Driver: "mpt3sas", "sd" Driver Modules: "mpt3sas", "sd_mod" Device File: /dev/sdg ...
控制器位于 SysFS 设备链接 (PCI ID01:00.0识别它)。
查找链接到控制器的磁盘:
$ lspci ... 03:00.0 Serial Attached SCSI controller: VMware PVSCSI SCSI Controller (rev 02) $ ls -l /sys/block/sd* |grep 03:00 lrwxrwxrwx 1 root root 0 Dec 20 10:19 /sys/block/sda -> ../devices/pci0000:00/0000:00:15.0/0000:03:00.0/host0/target0:0:0/0:0:0:0/block/sda lrwxrwxrwx 1 root root 0 Dec 20 10:19 /sys/block/sdb -> ../devices/pci0000:00/0000:00:15.0/0000:03:00.0/host0/target0:0:1/0:0:1:0/block/sdb
在上面的例子中,我们找到了磁盘控制器的 PCI ID,然后找到了哪些磁盘连接到我们感兴趣的控制器(在本例中为03:00是控制器的ID)。
笔记:上述命令输出来自两台不同的机器。