查看 vmware esxi中 虚拟机硬盘对应系统的哪块盘
-
- [1. 需求如下](#1. 需求如下)
- [2. 如何实现](#2. 如何实现)
- [3. 在Linux系统中查看](#3. 在Linux系统中查看)
-
- [3.1 查看主机控制器编号](#3.1 查看主机控制器编号)
- [3.2. 查看所有硬盘SCSI 信息](#3.2. 查看所有硬盘SCSI 信息)
- [3.3. 根据已有的信息判断VC上的硬盘对应虚拟机的物理设备](#3.3. 根据已有的信息判断VC上的硬盘对应虚拟机的物理设备)
- [4. 在 Windows系统中查看](#4. 在 Windows系统中查看)
1. 需求如下
在VC界面上可以看出我的虚拟机有3块硬盘,硬盘1可以直接看出来,但是硬盘2和硬盘3无法直接通过大小看出

2. 如何实现
这个时候就需要通过通过 SCSI 设备的地址标识 来找出系统对应的硬盘了
先记录VC上硬盘的 SCSI ID编号



3. 在Linux系统中查看
3.1 查看主机控制器编号
lsscsi -H
[0] ata_piix
[1] ata_piix
[2] mptspi
-
0\] ata_piix 主机编号:0 驱动名:ata_piix 含义:这是一个由 ata_piix 驱动管理的 SCSI 主机控制器。 ata_piix 是 Intel PIIX/PICH 系列 IDE/SATA 控制器的 Linux 驱动。 在 VMware 虚拟机中,它通常对应IDE 控制器,用于管理光驱(如 /dev/sr0)等设备。
主机编号:1
驱动名:ata_piix
含义:这是另一个由 ata_piix 驱动管理的 SCSI 主机控制器。
这表示系统中存在两个 IDE 通道(Primary 和 Secondary),或者有两个独立的 IDE 控制器。
在 VMware 中,这可能对应第二个 IDE 通道,用于挂载第二个光驱或硬盘。
-
2\] mptspi 主机编号:2 驱动名:mptspi 含义:这是一个由 mptspi 驱动管理的 SCSI 主机控制器。 mptspi 是 LSI Logic Fusion-MPT SCSI 控制器的 Linux 驱动。 在 VMware 虚拟机中,它通常对应LSI Logic SCSI 控制器,用于挂载虚拟磁盘(如 /dev/sda, /dev/sdb, /dev/sdc)。
为什么在VC上看到SCSI主机控制器编号为0,但是在系统内就变成了2
这是因为 VMware 虚拟硬件的控制器编号 和 Linux 内核看到的 SCSI 主机控制器编号 是两套独立的编号体系,两者并不直接一一对应。
在 vSphere 里,你看到的 SCSI 控制器 0 是 VMware 对虚拟硬件的编号:
这是虚拟机配置中,你添加的第 1 个 SCSI 控制器(通常是 PVSCSI 或 LSI Logic),编号从 0 开始。
你的硬盘 3 挂载在这个控制器的 SCSI (0:2) 节点上,即:
控制器:0
目标 ID:2
LUN:0(默认)
为什么Linux里对应的的主机编号是2,而不是0呢,这是因为内核先发现了2个IDE 控制器,生成 host0 和 host1 控制器接口,最后才生成host2,所以 VC 上 SCSI (0:2) 对应的是 [2:0:2:0] /dev/sdc
当在指定控制器添加硬盘时,在系统内部识别不到硬盘,就需要扫描主机控制器
echo "- - -" > /sys/class/scsi_host/host2/scan
/sys/class/scsi_host/host2: 对应总线控制器接口地址
3.2. 查看所有硬盘SCSI 信息
lsscsi
[1:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0
[2:0:0:0] disk VMware Virtual disk 1.0 /dev/sda
[2:0:1:0] disk VMware Virtual disk 1.0 /dev/sdb
[2:0:2:0] disk VMware Virtual disk 1.0 /dev/sdc
| 字段 | 示例 | 含义 |
|---|---|---|
| SCSI 地址 | [1:0:0:0] | 四元组:[主机控制器编号:通道编号:目标ID:LUN],唯一标识设备 |
| 设备类型 | cd/dvd / disk | 设备类型:disk(磁盘)、cd/dvd(光驱)、tape(磁带)等 |
| 厂商 | NECVMWar / VMware | 设备制造商名称 |
| 型号 | VMware IDE CDR10 / Virtual disk | 设备型号名称 |
| 固件版本 | 1.00 / 1.0 | 设备固件版本号 |
| 设备节点 | /dev/sr0 / /dev/sda | Linux 系统中对应的块设备文件路径 |
关键字段说明:
- SCSI 地址 [H:C:T:L]
H (Host):主机控制器编号,对应 lsscsi -H 输出的 hostN。C (Channel):SCSI 通道号,虚拟机中通常为 0。T (Target ID):设备在控制器上的 ID,对应 vSphere 中 "SCSI (0:2)" 的 2。L (LUN):逻辑单元号,单设备通常为 0。
- 设备类型
disk:硬盘(包括虚拟磁盘、物理硬盘、U 盘等)。cd/dvd:光驱设备。tape:磁带机。enclosure:磁盘阵列柜。
- 设备节点
/dev/sd*:SCSI/SATA/USB 磁盘。/dev/sr*:光驱设备。/dev/st*:磁带设备。
3.3. 根据已有的信息判断VC上的硬盘对应虚拟机的物理设备
VC上所有的硬盘都是SCSI控制器,所以主机编号在虚拟机内部对应的一定是 [2] ,在根据硬盘的 SCSI ID 来匹配系统中的 SCSI ID 就可以判断出对应的磁盘
SCSI(0:0)硬盘1 对应系统物理设备 /dev/sda SCSI地址 [2:0:0:0]
SCSI(0:1)硬盘2 对应系统物理设备 /dev/sdb SCSI地址 [2:0:1:0]
SCSI(0:2)硬盘3 对应系统物理设备 /dev/sdc SCSI地址 [2:0:2:0]
4. 在 Windows系统中查看
打开powershell
执行list disk 查看所有磁盘

选择磁盘 2 查看详细信息:
select disk 2

查看磁盘的详细信息:
detail disk

路径 : 0 目标 : 2 LUN ID : 0 对应 SCSI (0:2)