Linux如何确定磁盘的SCSI地址?

前端之家收集整理的这篇文章主要介绍了Linux如何确定磁盘的SCSI地址?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问候,

我正在使用VMware ESX 4下的RHEL 5.5来宾VM.当我在VM硬件设置中配置虚拟磁盘时,每个磁盘都有一个“N:M”格式的SCSI地址.例如,“1:3”表示SCSI主机号1和SCSI目标ID 3.

当我从VM的BIOSWindows操作系统查看磁盘信息时,检测到的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中切换它们的编号并重新启动.

猜你在找的Linux相关文章