为何Hyper-v不可以从SCSI磁盘启动和关闭?

在hyper-v的虚拟机上咱们有两种磁盘控制器选择,你能够再一个虚拟机上加入IDE磁盘或者SCSI磁盘.下面列出了它们之间不一样的地方.
IDE:工做在操做系统上,不须要集成服务安装,能够引导虚拟机.
SCSI:支持热插拔的虚拟磁盘,这种类型的磁盘控制器和你平时在物理机上使用的是同样的,没有什么差异.SCSI上面得VHD文
件也能够储存在IDE磁盘上,IDE上的VHD文件也可以储存在SCSI磁盘上.
为何hyper-v上的虚拟机不能从SCSI磁盘上启动?
这里,咱们所称呼为”SCSI”控制器其实有些不恰当.当咱们致力于虚拟服务器的时候,咱们听到一些声音,让虚拟服务器工做在SCSI磁盘上.因此,虚拟服务器须要虚拟SCSI磁盘.为此,咱们在虚拟服务器上添加了一个仿真的SCSI控制卡.不幸的是,SCSI控制器是一种很是先进的硬件.最终的结果是,仿效的设备比简单的IDE控制器要慢.为了SCSI控制器在虚拟机有更好的性能,咱们扩展了仿真控制器并重写了自定义的驱动,来支持操做系统.在hyper-v中,咱们彻底放弃了仿真控制卡,相反,咱们使用了传统的仿真IDE 控制器,和一个新的虚拟控制器,基于VMBUS,存储控制气.并无任何的仿真痕迹.当你选择在虚拟机里添加SCSI控制器时,你可使用这种虚拟存储控制器.随之而来的问题是.你的虚拟机的BIOS并不知道VMBUS,它只能认识从仿真驱动设备启动.这就是为何你能够从一个IDE控制器和一个旧的网络适配器启动,而不是一个SCSI控制器或网卡启动.
为何你不用关心不能从SCSI启动的hyper-v?  
咱们来讨论下用户在什么状况下须要从SCSI磁盘启动虚拟机.有以下两个理由~!
第一个理由是SCSI比IDE能够支持更大的VHD.为了解决这一点,咱们是hyper-v的IDE控制器使用48-bit LBA.这样,咱们能够附加最大到2TB的VHD.
第二个理由是性能,可是, 这也不是什么问题.
首先,我从以下的图中去说明.下图中的父分区图并非100%的Windows Server 2008 R2的,可是,子分区图,Windows Server 2008和Windows Server 2008 R2是同样的.这是我想说的一点.
 
首先,你要注意子分区图上的“Virtual Storage Minport (VSC)”.本质上是加载到虚拟机的SCSI控制器上的一个驱动程序.它链接到 VMBUS上,提供一个很是高的性能,并无像仿真方式那样所涉及任何磁盘的I/O.下一个要注意的是图上的“Fast Path Filter”这个过滤器驱动可以得到虚拟机磁盘上的全部对象.无论是IDE或SCSI.它可以经过VMBUS进行数据交换.除了一些低等级的操做.(如分区) 这就意味着,一旦安装了集成服务,无论你是否使用IDE磁盘或SCSI磁盘.它们都使用相同的代码路径. 不过IDE磁盘仍然有两个限制. 一个IDE控制器只能挂载两个IDE磁盘. IDE磁盘的I/O block只有512K或者更少,而SCSI控制器能够达到8MB. 但我尚未看到一个测试若是上述限制,致使IDE和SCSI之间明显的性能差异.