问候,
我正在使用VMware ESX 4下的RHEL 5.5来宾VM.当我在VM硬件设置中配置虚拟磁盘时,每个磁盘都有一个“N:M”格式的SCSI地址.例如,“1:3”表示SCSI主机号1和SCSI目标ID 3.
当我从VM的BIOS或Windows操作系统查看磁盘信息时,检测到的SCSI地址信息与虚拟硬件设置匹配.但在Linux下,SCSI地址组件不匹配,至少不完全或一致.
我已经尝试了三个支持的虚拟SCSI和SAS驱动程序,它们似乎都“破碎”了,但是以不同的方式.下面列出了虚拟硬件地址与在Linux下使用每个驱动程序检测到的内容:
Driver vHW Addr Linux Addr -------- -------- ---------- LSI SAS 0:0 0:0 LSI SAS 0:3 0:1 LSI SAS 0:6 0:2 LSI SCSI 1:1 2:1 LSI SCSI 1:4 2:4 LSI SCSI 1:7 2:7 pvSCSI 2:2 1:2 pvSCSI 2:5 1:5 pvSCSI 2:8 1:8
我的主要问题是为什么在Linux下会发生这种情况?接下来的问题是:如何修复或自行修复?
如果我要猜测,我会说这是内核如何分发SCSI主机号以及Linux SCSI驱动程序(包含在VMware工具中)如何检测SCSI目标号的问题.也许驱动程序加载的顺序也与问题有关.我猜这不会涉及到udev,但我可能错了.
任何想法将不胜感激.谢谢!
PS.我的环境是VMware,但我不需要专门针对这些驱动程序的答案.我想这可能是Linux下任何SCSI驱动程序的问题.
解决方法
Linux实际上是一致和正确的,不一定是你期望的方式.
LSI SAS:SAS地址是WWN,并且可以获得与其看到的顺序相对应的类似SCSI的ID. (这是一种简化,但是会这样做.为什么你还有差距?)
LSI SCSI& pvSCSI:SCSI主机号仅与内核加载主机适配器驱动程序的顺序相关,与VMWare分配的数字无关.如果您希望以其他顺序查看它们,请切换驱动程序加载顺序.最有可能的是,在/etc/modprobe.conf中切换它们的编号并重新启动.