下面我们来看一个标准的,基于Windows Server 2012的Hyper-V架构。这个架构非常的好理解,两台Hyper-V 3.0的主机加上一个交换机以及一台SMB3.0的共享存储服务器。所有的架构和系统均有Windows Server 2012独立完成。
在上图中,最大的变化就是基于SMB 3.0的共享存储服务器,这是在Windows Server 2012中提供的新功能,也就是说我们可以直接部署一台具备高磁盘性能的服务器,安装Windows Server 2012操作系统,然后把它部署为一台SMB 3.0的共享文件服务器,就可以作为共享存储被多台Hyper-V主机使用。可以用作存放虚拟机的配置文件、磁盘文件,以及Hyper-V 3.0独有的智能分页等文件,甚至快照文件、快照配置也都可以存放在这种基于SMB 3.0协议的文件服务器中。这样的好处是虚拟机不会因为Hyper-V主机的宕机、计划性停机维护等情况出现不可访问的问题,并且可以实现与多个Hyper-V主机共享存储,从而快速的完成不停机迁移以及虚拟机复制等功能。
除此之外,Hyper-V还可以实现无共享存储的实时迁移,可以提供在多台Hyper-V服务器之间通过网络来做虚拟机的实时迁移方式,这种迁移方式的优势是无需将虚拟机关闭、虚拟机不会有任何的变动或感知,缺点是迁移的时间较长,如果虚拟机磁盘数据文件较多则需要更长的时间。
看完了标准的Hyper-V 3.0架构之后,我们再来看下带有部分高可用功能的Hyper-V 3.0服务器虚拟化架构。我们从架构图中可以很直观的看到,现在的Windows Server和Hyper-V均拥有完整的高可用性功能,包括Hyper-V主机、存储以及虚拟机层面。
看到这里我们会发现这种Hyper-V服务器虚拟化架构图已经是一个接近于标准的服务器虚拟化架构,借助于微软群集服务,可以保证Hyper-V主机上的虚拟机的高可用性,并且通过底层的SMB 3.0共享存储服务器实现快速的故障转移。但此时此刻我们仍然发现这种架构图存在局限性,那就是我们的共享存储仍然无法达到我们的要求,这些限制可能是性能方面、也可以是可用性方面。
因为这个拓扑我们只有一台基于SMB 3.0的共享存储服务器,虽然在一台存储服务器上我们可以建立基于磁盘的存储池。在Windows Server上实现镜像、并行、冗余三种模式,换句话说就是我们可以在Windows Server中将多个单一的SATA、SAS、SSD等类型磁盘创建为具备RAID0、RAID1以及RAID5三种阵列级别的虚拟磁盘卷,从而让我们的存储具备一定的高可用性。
当然这种高可用性和性能通过单一的SMB 3.0共享存储服务器是无法保证的,排除磁盘本身损坏导致存储池数据错误的可能性外,还可能存在SMB 3.0共享存储服务器本身出现故障,比如系统损坏、掉电宕机、停机维护等多种情况,一台SMB 3.0共享存储服务器肯定是无法应对这些情况的。
所以在Windows Server 2012中,微软支持将SMB 3.0共享存储服务器进行集群,从而提供群集共享卷功能,并提供流量重定向、多链路等高级功能。不仅如此,SMB 3.0共享存储服务器还支持光纤通道存储的引用,从而简化对存储的部署、配置及维护。
最后我们再来一个具备完整高可用性的Hyper-V 3.0服务器虚拟化集群拓扑,其中包括了一个Hyper-V虚拟化主机服务器集群和一个SMB 3.0共享存储服务器集群,当然在SMB共享存储后还可以引用FCSAN、iSCSI SAN、存储池以及具备集群的RAID控制器存储。
其实在这里我最感兴趣的还是从SMB CSV到Hyper-V主机之间的连接,如果仅仅是使用万兆光交机的话,在带宽可能还是存在限制,毕竟每台服务器到光交的带宽是非常有限的。但想到这里Windows Server 2012强大的网络聚合功能让我打消了疑虑,借助网络聚会功能可以非常轻松的将服务器多个网口进行聚合,从而翻倍增加服务器到光交机的带宽。
在Windows Server 2012中网络聚合功能非常的腼腆,被藏在服务器管理器中,官方名称为NIC 组合。
在NIC 组合对话框中我们可以非常轻松地将多个网口进行打组,从而进行网络聚合,提升服务器带宽。
Hyper-V服务器虚拟化的内容就先介绍到这里,总的来说Windows Server 2012的Hyper-V是非常强劲的,也正应验了微软所说的这是一个为云优化的操作系统,其实在这里我们可以发现Hyper-V只是一个平台,在这个平台之上还有System Center的组件来优化我们的云,从而实现真正本地可用可靠的私有云。