This article explains how you can relocate paging file to a virtual hard disk connected to a SCSI Controller for Hyper-V on Windows Server 2012 R2.
With Hyper-V in Windows Server 2012 R2 introducing support for two generations of virtual machines, we look at when and why you might want to select one VM generation.
Virtual Server used to have a folder called C: windows vmadd with a file called msvmscsi.inf. This file would install the Accelerated SCSI Controller.
Jan 02, 2008 Hyper-V: SCSI vs IDE - Do you really need an IDE and SCSI drive for best performance.
The type of disk controller that you use in the virtual machine has nothing to do with the type of disk that you are using in your physical computer. SCSI VHDs can be stored on IDE disks, and IDE VHDs can be stored on SCSI disks. Why can’t you boot Hyper-V virtual machines off of SCSI disks? Well, calling our SCSI controller “SCSI” is somewhat of a misnomer. When we were working on Virtual Server we heard, loud and clear, that servers had SCSI disks – so virtual servers needed to have virtual SCSI disks. To this end we invested in the emulation of an Adaptec SCSI controller for Virtual Server. Unfortunately, this SCSI controller is a very advanced piece of hardware – and as a result was actually slower to emulate than the more simplistic IDE controller that we were already emulating. In the end we had to extend our emulated Adaptec controller and write custom drivers for our supported operating systems in order to get good performance for SCSI in a virtual machine. With Hyper-V we dropped the emulation of an Adaptec controller altogether. Instead we implemented our traditional emulated IDE controller and a new completely virtual, VMBUS based, storage controller - with no traces of emulation present. It is this virtual storage controller that you are adding to a virtual machine when you choose to add a SCSI controller to a virtual machine. The problem is that the BIOS that is used by our virtual machine has no knowledge of VMBUS and is only able to boot to emulated devices. This is why you can boot to an IDE controller and a legacy network adapter – but not to a SCSI controller or network adapter. Why you should not care about not being able to boot off of SCSI disks in Hyper-V. When talking to users about needing to boot off of SCSI disks in a virtual machine – there were two reasons that came up. The first one was that SCSI could support larger virtual hard disks than IDE could. To address this we made the IDE controller in Hyper-V use 48-bit LBA. This allows you to attach virtual hard disks that are up to 2TB in size to an IDE controller. The second reason was performance. But that too is not an issue. Let me start by grabbing an architectural diagram I have on file (you can tell that this is an old diagram because it uses our codename – Viridian – which means it was originally drawn before we had been given “Hyper-V” as our name). Now, the parent partition diagram is not 100% correct for Windows Server 2008 R2 – but the child partition diagram is accurate for both Windows Server 2008 and Windows Server 2008 R2, and that is where I want to focus. The first thing to notice in the child partition side of things is the “Virtual Storage Minport (VSC)”. The is essentially the driver that gets loaded when you attach a SCSI controller to a virtual machine. It connects to VMBUS and allows us to perform Disk I/O without any emulation involved in a very high performance manner. The next thing to notice is the “Fast Path Filter”. This is a filter driver that gets installed on all disk objects in the virtual machine – whether they are IDE or SCSI. It allows us to pass directly to the VMBUS based path for everything except low level disk operations (like partitioning a disk). What this means is that once the integration services are installed the same code path is used for disk I/O whether you use an IDE disk or a SCSI disk. There are two limitations that remain for IDE disks: Hi Ben , The one other thing which comes in to play is that optical drives won't attach to the new SCSI controller and you can only have two IDE controllers. With a boot disk on one of the IDE locations that leaves room for only three optical drives. I've not seen a requirement yet for more than three, but this is one of the other planning considerations. For instance, on my WDS/WAIK VM I have ISOs for Windows 7 and Windows Server 2008 R2 in two optical drives at all times to save remounting them for WAIK. While it isn't necessary, it could be useful to have another optical drive or two for additional ISOs. Cheers , Tristan There's a simple reason to maintain the old SCSI emulated adapters Ben, and that's the INCOMPATIBILITY that could appear for not suing the standarization MS introduced with its previous virtualization products. Not to mention about doing P2V, V2V and V2P operations wich can come more buggy and unstable. Doing the things using a syntethic driver to appear like an emulated SCSI adapter to the end can produce never seen problems on a real scenario, like the ones you probably'll see soon. Virtualization is based on a only principle, EMULATION. Let say a bar exist and in one extreme we have EMULATION, in the other we have SIMULATION. When you move the arrow more to SIMULATION (wich is that you do with Synthetic SCSI drivers, CPU pass through, guest tools, etc.) more unexpected errors can come out, because that new situation doesn't exist in the real scenario, while the problems you could have with all the hardware emulated, are exactly the same that they happened before with that piece of hardware in the real world. Imagine that you have the arrow all on the SIMULATION side. Sure you'll need to be a hardware supporter for synthetic VM but not only for MS based os, you'll need to bring that support for all the operating systems that are supported as guests under Hyper-V or whatever the virtualization system MS offer. But for a customer this is the less important thing compared to others that are really critical, for example: what will happen when you migrate from a piece of software that is sensible to hardware calls or checks that are only available on the emulated hardware? simple, that software won't work. Not at least till you modifiy the synthetic driver to support that kind of requirement wich could be a really a hell in time for solving the problem, ensuring that the change doesn't affect to other hardware checks of other software, etc. and the customer waiting for the resolve of the problem. The proyects, intervention planning, and posibily failures are totally unexpected from synthetic drivers. I think that you and the rest of the MS virtualization should take in mind this: virtualization means the conversion from physical to virtual of an EXISTING thing. That simple statement has some obvius considerations, and the first of it is this: the best virtualization for an existing hardware is that wich comes 100% emulated perfectly. Maybe you'll ask why, and the answer is simple, because getting all the hardware 100% emulated, you only have to connect it, and it will make the job as if it were on the physical world. All the things that are out of emulation means inserting a layer of posible problems in the virtualization. Maybe you're lucky and you have few (because you make very good synthetic drivers or so) or even none of those problems, but the layer is efectively inserted and exist. But even more, all the things that are out of emulation, means that you need to do the work that that piece of hardware does, and I don't suggest you to reinvent the wheel. The only scenario were synthetic drivers and models could have a place is on future proyects where the hardware is totally independant (for example, the cloud), or were a piece of hardware is merely an appliance that virtualice some other process, or part of the system that is used with Windows Server 2008 (because it doesn't use the HAL that all the previous Windows do), etc. I don't know if you understood what I wanted to mean with all of this because I know that my english is horrible. Cheers , Akuma. Hi Ben , Well I think the number one reason to not like Hyper-V SCSI disks is that you cannot do a system repair using Windows Backup since it cannot see the drives. Perhpas you can release a methodology around this which would include the driver for system repair. Now I know it might be better to copy VHD files or od an export, however some people need to use the windows backup features for a more robust real-time backup that simple snapshots or complete VHD exports. Thanks,
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.
![Why Hyper-V cannot boot off of SCSI disks (and why you should not care)](http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WhyHyperVcannotbootoffofSCSIdisksandwhyy_8E75/storage_3.png)
![hyper-v scsi driver](http://lh6.ggpht.com/_A3o0EjLYCNg/Sa1-l-Vl9aI/AAAAAAAACcA/n5fbasL0QlI/09-03-03%20Hyper-V%20-%20SCSI%20Drives%20and%20SBS%202008%20-%20No%20Drives%20Found_thumb%5B1%5D.png?imgmax=800)
![Hyper-V Controllers: IDE or SCSI? | Aidan Finn, IT Pro](http://www.aidanfinn.com/wp-content/plugins/all-in-one-seo-pack/images/default-user-image.png)
You can t move that to the SCSI controller because you cannot boot from a Hyper-V SCSI controller. 3 Comments on Hyper-V Controllers: IDE or SCSI.
May 22, 2014 Learn why you need a SCSI controller in your virtual machines on a Windows Server 2012 R2 host when performing host-level backups.