Windows Server 2008 R2 Beta已经发布挺长一段时间了,但是直到最近盆盆才有时间去进行测试,结果是对于Linux的支持,让人感觉很惊喜。目前Hyper-V官方支持的Linux发行版有Novell SUSE,未来还将对Red Hat提供官方技术支持,毕竟红帽子在企业里的应用会更常见些。
当然就目前而言,我们也可以在Red Hat里正常安装Hyper-V的Linux IC,只是需要对内核进行编译,稍微麻烦些。
这里简单介绍Windows Server 2008 R2 Beta(Hyper-V 2.0)对Novell SUSE的支持,这里要求其版本为SUSE Linux Enterprise Server 10 SP2,X64或者X86版本。
在Hyper-V里安装SUSE比较简单,而且和Hyper-V 1.0不一样,现在不要求安装“Xen虚拟机器主管服务器”,只需确保勾选“C/C++编译器和工具”即可,如下图所示,在编译和安装Linux IC时用得着。 

在Hyper-V 1.0版本里,我们经常能够看到如下所示的原理简构图,由于在Linux里不可能包含Windows Hypervisor接口库的底层驱动(WinHv.sys),所以要求必须安装支持Xen虚拟化的内核,并且底层安装专门的Hypercall适配器(如下图所示),才能把来自Xen内核的指令,翻译成Hyper-V VMBus能够理解的Hypercall调用。

而在Hyper-V 2.0版本里,盆盆猜测,这个架构看来已经有了改变,因为我们不需要安装支持Xen的内核,也不需要专门的Hypercall适配器,看来微软和Novell之间的互操作协议确实有用。不过其架构原理,盆盆还不太清楚。如果在命令行终端里运行"uname -r",我们可以看到结果并不会显示加载了支持Xen的内核,这和Hyper-V 1.0时不一样:

安装Linux IC非常方便,同时还可以安装For Linux的
鼠标驱动,安装好以后,进入X Window,是这个样子的: 

打开命令行终端,运行“lsmod |grep vsc”,即可查看Linux系统所加载的Synthetic设备驱动: 

从图中可以看出已经加载了vmbus驱动,而且在vmbus总线上挂载了鼠标、网卡、SCSI设备、块设备等多个Enlightened设备,所以性能会比没安装Linux IC时强很多,可惜盆盆手里没有合适的服务器可供测试,目前尚不知其性能和1.0相比会强出多少。
运行”ifconfig”命令,我们还可以看到所配置的虚拟网卡已经能够识别,就是图中的“seth0”(应该是Synthetic eth0的缩写)

如果在Hyper-V虚机属性对话框里添加了SCSI磁盘,则可以用“cat /proc/scsi/scsi”命令查看该SCSI设备的信息: 

可以看到该设备的厂商是微软,然后可以用SUSE的分区工具对该SCSI虚拟磁盘进行分区和格式化: