The 3.04.04 mptspi driver has an issue with LSI Logic emulation in VMware products due to a change to support for greater than 255 lun and targets, which can be found in kernel versions 2.6.21-rc3 or later.
Option 1: Update/Patch
Patch ESX (as of 3/12/07)
ESX 3.0.2
Fix For Detecting LSI Logic Controller
http://kb.vmware.com/kb/1002431
ESX 3.0.1
Fix For Detecting LSI Logic Controller
http://kb.vmware.com/kb/1002100
ESX 3.0.0
Fix For Detecting LSI Logic Controller
http://kb.vmware.com/kb/1002436
Use VMware Server 1.0.4 or later:
Issues Resolved in VMware Server 1.0.4
* This release fixes a problem that prevented virtual machines running Fedora Core 7 from properly recognizing LSILogic SCSI devices.
http://www.vmware.com/support/server/doc/releasenotes_server.html#resolved
Option 2: Workaround the problem using the BusLogic HBA and driver:
1) Boot the system with an earlier kernel version, or use a rescue CD with a pre 2.6.21 kernel and 'chroot /mnt/sysimage'
2) Update modules.conf with the bus logic driver. Enter the following as root:
echo 'alias scsi_hostadapter BusLogic' >> /etc/modules.conf
3) Rebuild the initial ram drive to include and load the BusLogic kernel module (change the kernel version as required):
mkinitrd --preload=BusLogic --with=BusLogic -f /boot/initrd-2.6.22.1-41.fc7.img 2.6.22.1-41.fc7
4) Update the virtual machine to use the BusLogic HBA
For ESX use the VirtualCenter Client
- Shutdown the VM
- Right click on the VM and select Edit Settings from the context menu
- Select SCSI Controller 0 and click the Change Type button
- Select the BusLogic radio button and click OK
- Click OK to exit the Virtual Machine Properties
- Power on the VM
- Answer the "change the adapter type for scsi0:0 disk" by selecting the Yes radio button and clicking OK
For VMware Server change or add the following paramter in the .vmx file:
scsi0.virtualDev = "buslogic"
The virtual machine should now boot and recognise the SCSI disks.
NOTE: This issue appears to be resolved in Fedora Core 7 with kernel-2.6.23.1-21.fc7 and specifically the included linux-2.6-scsi-mpt-vmware-fix.patch update (
http://theether.net/download/VMware/linux-2.6-scsi-mpt-vmware-fix.patch). This patch is not included in the current kernel.org mainstream kernel linux-2.6.23.1 (or the latest snapshot of linux-2.6.24-rc1), and so this kernel version may not resolve issues with other Linux distributions.
Tested on ESX 3.0.2 Build 57941 with kernel-2.6.23.1-21.fc7. Dmesg log follows:
SCSI subsystem initialized
Fusion MPT base driver 3.04.05
Copyright (c) 1999-2007 LSI Logic Corporation
Fusion MPT SPI Host driver 3.04.05
ACPI: PCI Interrupt 0000:00:10.0[A] -> GSI 17 (level, low) -> IRQ 16
mptbase: Initiating ioc0 bringup
ioc0: LSI53C1030 B0: Capabilities={Initiator}
scsi0 : ioc0: LSI53C1030 B0, FwRev=00000000h, Ports=1, MaxQ=128, IRQ=16
scsi 0:0:0:0: Direct-Access VMware Virtual disk 1.0 PQ: 0 ANSI: 2
target0:0:0: Beginning Domain Validation
target0:0:0: Domain Validation skipping write tests
target0:0:0: Ending Domain Validation
target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)
sd 0:0:0:0: [sda] 33554432 512-byte hardware sectors (17180 MB)
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Cache data unavailable
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] 33554432 512-byte hardware sectors (17180 MB)
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Cache data unavailable
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2
sd 0:0:0:0: [sda] Attached SCSI disk