There’s been plenty of blog posts out there saying that there is no support for SCSI in Hyper-V. That’s not true. What is true is this. You can use SCSI controllers for disks but not for your boot disk. Your boot disk must be on an IDE controller.
When using emulated storage controllers, i.e. no integration components then IDE is slower than SCSI. However, there is no discernable difference between SCSI and IDE when using sythentic drivers, i.e. integration components or VM additions.
Setting Up VM’s
How do you set up your VM’s? You have no choice about your boot disk. You must use a disk connected to the IDE controller. You can’t move that to the SCSI controller because you cannot boot from a Hyper-V SCSI controller. Lightweight VM’s can probably put everything on one virtual disk and run on the IDE controller.
However, best practice is to separate your data/workload from your operating system. Consider a virtual application server where the operating system is on C: and the workload is on D:. C: will be a virtual disk on the IDE controller. D: should be a virtual disk on a SCSI controller if you don’t have integration components. This makes the most of the underlying Hyper-V architecture and optimises CPU utilisation on the host server. However, if you have integration components then it makes no difference whether you use SCSI or IDE for the workload disk.
What really makes a difference is the underlying physical storage and the types of VHD that you use. Passthrough disks are physical speed. Fixed Sized VHD currently get to within 6% of the speed of the underlying physical LUN, assuming you have 1 VHD per LUN. Dynamic and Differencing VHD’s have great impacts on performance.