早在微软新一代云操作系统还处于Windows Server 8的版本状态时,微软就开始提出“超越虚拟化”的理念。知道微软发布了Windows Server 2012,所谓“超越虚拟化”的真正意图才被揭示。区别在哪儿?原来,上一个版本Windows Server 2008 R2平台重点体现在服务器虚拟化方面,新版本Windows Server 2012不仅仅在服务器虚拟化能力上得到空前的加强,而且实现了更加全面的虚拟化,包括存储、网络设备等。这就是微软“超越虚拟化”的真实意图,提供更加全面更加强大的虚拟化工具,让IT管理员不再为虚拟化而犯愁。
9月18日,Windows Server 2012在中国市场正式发布。Windows Server 2012 帮助企业在虚拟化的基础上更进一步:通过高密度,高扩展能力的环境提升可扩展性与性能,并能根据需求以最优化的级别来运行。使用通用的身份与管理框架连接到云服务,获得更加安全可靠的跨边界连接。
Windows Server 2012 Hyper-V还能满足托管供应商的特定需求,包括对租户进行隔离,对基础架构的资源使用情况获得洞察力,以及提供新服务帮助创造更多收入机会等能力。 Hyper-V还提供工具,帮助企业完成从内部到托管式环境的转换,并继续满足大型企业、中型市场,以及小型企业对服务和可靠性的要求。
Hyper-V 3.0完善的虚拟化平台,提供完全隔离的多租户环境,以及保证服务级别协议(SLA)的工具,通过基于用量的计费实现收款,同时还能支持自助服务交付。凭借Hyper-V 3.0新的和改进的功能提供的高性能与可扩展性可实现真正的多租户基础架构,同一台宿主机上不同租户的网络、计算,以及存储资源可完全隔离。
当然,企业要获得私有云的灵活性与可扩展能力,仅仅实施虚拟化解决方案是远远不够的。Windows Server 2012更加突出的云操作系统的特性,企业必须在虚拟化技术的基础上实现跨越,完善构建私有云平台的基础。在这里不再展开叙述Windows Server 2012,我们重点谈谈Windows Server 2012在虚拟化方面的超越。
Hyper-V 可扩展交换机
Windows Server 2012中全新的Hyper-V可扩展交换机是创建安全的云环境,支持多租户隔离的关键。Windows Server 2012中的Hyper-V可扩展交换机包含了一系列新增和改进的功能,主要涉及租户隔离、通讯塑型、保护防范恶意虚拟机,以及轻松排错等多个领域。可扩展交换机还可由第三方开发插件扩展,模拟硬件交换机的全部功能,并能支持更复杂的虚拟化环境解决方案。
老版本的Hyper-V可以帮助系统管理员创建与物理二层以太网交换机类似的虚拟网络交换机,实施复杂的虚拟网络环境。并且,能够创建外部虚拟网络,为虚拟机提供到外部服务器与客户端的连接;创建内部网络,让同一宿主机上的虚拟机之间,以及虚拟机与宿主机之间进行通讯,或者可以创建专用虚拟网络(PVLAN),可用于在同一宿主机上的不同虚拟机之间进行隔离,让虚拟机只能通过外部网络通讯。
新版本的Hyper-V可以帮助系统管理员扩展交换机,简化虚拟网络的创建步骤。通过多种方式为系统管理员提供极大的灵活性。如,系统管理员可以配置虚拟机内的来宾操作系统使用一块虚拟网络适配器,并将其关联给指定的可扩展交换机,或者配置多个虚拟网络适配器(每个关联给不同的交换机),但是,系统管理员不能将同一个交换机连接到不同的网络适配器。然而,新版本的Hyper-V这里的改进是,Hyper-V虚拟交换机可以通过多种不同方式进行扩展。
首先,系统管理员可以给虚拟交换机的驱动堆栈中安装自定义的网络驱动器程序接口规范(NDIS)筛选器驱动(也被称为扩展)。如,创建一个扩展,对发到可扩展交换机的端口的数据包进行捕获、筛选或转发。尤其是可扩展交换机,使系统管理员可以使用诸多类型的扩展:捕获扩展,可捕获数据包,借此监控网络通讯,不能修改或丢弃数据包筛选扩展,类似捕获扩展,但可以注入和丢弃数据包转发扩展,可以用来修改数据包路由,并与物理网络基础架构进行集成。
其次,系统管理员可以借内建的Wfplwfs.sys筛选扩展使用Windows Filtering Platform(WFP)的功能,对可扩展交换机数据路径上的数据包进行拦截。如,使用这种方法在虚拟化环境中执行数据包检查。
总体来说,新版本Hyper-V可扩展交换机有三种不同类型的扩展功能,这些功能主要可被微软合作伙伴与独立软件供应商(ISV)用于更新自己原有的网络监控、管理,以及安全软件产品,使得这些产品不仅可以用于物理宿主机,还可用于任何虚拟化环境中部署的,以及通过Windows Server 2012 中的Hyper-V创建的虚拟机。
此外,通过添加扩展的方式对 Hyper-V 网络功能进行扩展,这也使系统管理员可以用更简单的方法为 Hyper-V 添加新功能,而无需替换或升级交换机。当然,还可以使用管理Hyper-V其他网络功能时相同的工具管理这些扩展,主要包括Hyper-V管理器控制台、 PowerShell以及 Windows 管理规范(WMI)。并且,因为这些扩展已经集成到原生的 Hyper-V 网络框架中,因此可以自动配合其他功能使用,如实时迁移。
需要提醒注意的是,一旦宿主机安装了某个扩展,就可以启用或禁用,并可通过在交换机扩展列表中上移或下移的方式调整扩展的顺序。
Hyper-V集成的高级功能
另外,微软还在Hyper-V可扩展交换机中集成了大量其他高级功能,这些功能可以帮助企业IT改善安全性、监控功能,以及排错功能。
详细展开来说,这些额外的功能包括:
DHCP guard:有助于保护防范动态主机配置协议(DHCP)中间人攻击,这个技术可以丢弃未经授权的虚拟机冒充DHCP服务器发送的DHCP服务器消息。
MAC地址仿冒:有助于保护防范使用ARP仿冒技术从虚拟机处盗用IP地址的企图,这种做法可以让虚拟机更改发出的数据包中的来源MAC地址,并将地址改为并非分配给自己的地址Router guard有助于保护防范未经授权的路由器等。这个功能可以丢弃来自未经授权的虚拟机所假冒的路由器发出的路由器公告和重定向消息端口镜像,使得IT管理员可以将目标或源数据包的副本转发到其他用作监控用途的虚拟机,借此对虚拟机的网络通讯进行监控端口;
ACL:有助于根据MAC地址或IP地址段对通讯进行筛选,强制实施虚拟网络隔离隔离的VLAN可对多个VLAN的通讯进行划分,通过创建私有VLAN(PVLAN)对租户的网络进行隔离。
Trunk 模式:可将来自一组VLAN的通讯重定向到指定虚拟机带宽管理 可为每个虚拟机提供有保证的带宽最小值,并/或强制实施带宽最大值限制增强的诊断可通过可扩展交换机,使用 ETL 和统一追踪实现数据包监控和事件追踪上述功能中的大部分都可以通过打开虚拟机的设置窗口,使用图形用户界面(GUI)配置。例如,在硬件选项下选择网络适配器后,即可为该虚拟机指定带宽管理设置。例如,通过这种方式的配置选项可以确保虚拟机总是能获得至少50MBps可用网络带宽,但不会超过 100MBps。
如果宿主机位于共享的云环境中,需要为业务部门或客户提供应用程序和服务,这种新的带宽管理机制可以帮助IT管理员满足与业务部门或客户制定的 SLA。在上述设置中,点击网络适配器旁的“ + ”加号还可以打开两个新的网络设置页面:硬件加速与高级功能。这些高级功能的设置可以让IT管理员针对虚拟机的所选网络适配器配置 MAC 地址仿冒、DHCP guard、router guard以及端口镜像。
Hyper-V体现网络虚拟化的价值
众所周知,IaaS服务提供商运行的数据中心需要提供“云主机”或“虚拟机租用”服务,为企业用户动态分配资源。企业用户拥有自己的虚拟机,并且可以在云中对"自己的服务器"进行管理。这意味着不同云供应商与客户之间的协议可能各不相同,当然,这主要取决于IT管理员使用的是共享的私有云还是公共云。
那么,在共享的私有云场景中,云供应商如果就是组织本身,拥有并运营着自己的数据中心,客户则可能是不同的业务部门,或不同地理位置的办公室。在共享的公共云场景中,云供应商是托管公司,客户可能是大型企业、中型企业,甚至可能是小公司。托管公司拥有并管理着数据中心,并将服务器"出租"给客户或者托管由客户自己拥有的服务器,或者同时使用这两种方式。
企业的IT管理员需要注意查看,在上述两种云服务场景中,云供应商都可以借助云计算技术为自己的客户提供各种收益,但如果只使用今天的各项技术,不可避免会遇到各种问题。例如,云供应商主要使用VLAN对属于不同客户的服务器进行隔离,并通过同一个云环境供应给客户。VLAN是通过给以太网帧添加标签的方式实现这一点的。
随后可将以太网交换机配置为让使用相同标签的节点相互通讯,但不允许使用不同标签的节点通讯,借此强制实施隔离。但VLAN存在下列局限:扩展能力有限,因为典型的以太网交换机无法支持超过 1,000个VLAN ID(理论值为4,096 个)。
因此看来,以为的经验看来,传统以太网设置和管理灵活性有限,因为单一VLAN 无法跨越多个IP子网。相关的管理负担繁重,因为每次添加或删除VLAN,都需要重新配置以太网交换机。另一个常见问题主要发生在,企业IT管理员考虑将自己的计算资源移动到的云所使用的IP地址时,企业IT原有的基础架构通常已经有一套地址架构,而数据中心的网络可能使用了完全不同的地址架构。问题就出现了,如果客户希望将自己的服务器迁往云端,通常需要对原有物理服务器上的负载进行虚拟化,这样才可以在云供应商数据中心内托管的虚拟机上运行这些负载,此时客户通常需要更改自己服务器的IP地址,以便符合云供应商网络的地址架构要求。
这种做法可能造成一些困难,因为IP通常都与地理位置、管理策略,以及安全策略相捆绑,因此在将负载迁移到云端之前更改服务器的地址可能会导致路由问题、服务器超出管理范围,或被应用了错误的安全策略等问题。如果客户的服务器能够保留原有IP地址,直接将负载虚拟化,并迁移到云供应商的数据中心,云的迁移工作将简单很多。通过这种方式,客户原有的路由、管理,以及安全策略都可以继续像往常一样生效。
这正是网络虚拟化技术的重要价值。
Windows Server 2012中所运用的网络虚拟化技术可以让Hyper-V 宿主机上运行的每个虚拟机分配两个不同的IP地址。这两个地址分别是:客户地址,也就是服务器位于客户内部和迁往云端之前使用的 IP 地址。
例如,企业希望迁往云端的一台服务器的客户地址是192.168.11.23。供应商地址,在将服务器迁往供应商的数据中心后,云供应商给服务器分配的IP地址是10.44.3.45或可能是10.0.0.0/24 地址空间内的其他地址。
从企业用户的角度看,与被迁移服务器的通讯和服务器位于客户内部时没有任何区别。这是因为运行客户迁移后负载的虚拟机可以看到并使用自己的客户地址,因此也可以被客户网络中的其他宿主机看到并访问。然而虚拟机无法看到或使用自己的供应商地址,因为这个地址只对云供应商网络中的宿主机可见。
Windows Server 2012中所运用的网络虚拟化技术可以让云供应商在同一套物理网络上运行多个虚拟网络,这一点类似服务器虚拟化技术,可以让IT管理员在一台物理服务器上运行多个虚拟服务器。网络虚拟化技术还可对不同的虚拟网络进行隔离,这样每个虚拟网络在表现上就类似于一套独立的物理网络。这意味着两个或多个虚拟网络可以使用完全相同的地址架构,但不同网络之间依然可以实现彻底隔离,就好像自己是唯一使用这种架构的网络。
为了实现这一切,网络虚拟化技术需要通过一种方式对IP地址进行虚拟化,并将其与物理地址进行映射。Windows Server 2012 中的网络虚拟化技术通过两种方式实现这一目标:IP重写和IP封装。其中,IP重写需要在虚拟机发出之前修改数据包的客户地址,随后才将其传往物理网络。而IP封装中,虚拟机的所有数据包都会首先封装一个新的包头,随后才传输到物理网络。
虽然IP封装方式的扩展能力更好,但IP重写可以提供更好的性能,因为这种方式可以充分利用一些高端网络适配器所支持的卸载功能将相关的负载进行分摊。因为网络虚拟化技术主要针对数据中心领域,因此该技术的实施要求企业用户具备虚拟机管理框架。
注意:System Center Virtual Machine Manager 2012 Service Pack 1提供了这样的框架,可供IT管理员使用PowerShell或WMI创建并管理虚拟网络。
优化的实时迁移
话说,实时迁移此功能在微软的产品里最早出现在Windows Server 2008 R2 中,这个功能可以为Hyper-V 宿主机上运行的虚拟机提供高可用性解决方案。实时迁移功能借助故障转移群集功能让运行中的虚拟机可以在群集的节点之间移动,而不会导致停机或网络连接的中断。
很多企业的系统管理员都赞叹,实时迁移通过将运行中的虚拟机移动到最佳宿主机,给他们带来很大的便捷。在Windows Server 2012中的Hyper-V给系统管理员更好的性能和操作体验,实现了更高扩展能力,并确保最优化的负载整合,让IT系统获得更高的敏捷度。实时迁移通过不中断虚拟化负载或停机的情况下对宿主机进行维护,可以帮企业IT改善生产力,降低成本。
以往Windows Server 2008 R2中的实时迁移功能需要将虚拟机存储在 Internet Small Computer Systems Interface(iSCSI)或光纤通道 SAN 设备中。此外,Windows Server 2008 R2 中的实时迁移所能提供的性能只支持一次对一台虚拟机进行迁移-不支持对多个虚拟机进行并发实时迁移。
如今,Windows Server 2012中的实时迁移通过Hyper-V得到了大大的改善。首先,实时迁移的速度更快。例如,在两台Windows Server 2012 Hyper-V 宿主机之间执行实时迁移时,可以完整使用10GB网络带宽,这种性能在 Windows Server 2008 R2 Hyper-V 宿主机上是无法实现的。
其次,实时迁移改善的另外一个功能是可以在同一个故障转移群集内并发执行多个实时迁移操作。如,在特定群集节点离线并执行维护工作时,系统管理员可以将该节点上所有运行中的虚拟机迁移到其他节点,整个过程可并发快速完成,只需要在GUI下执行一个操作,或运行一个 PowerShell 命令。这样的特性可极大简化在您环境中的Hyper-V 宿主机上执行任务时的工作。
第三,Hyper-V在实时迁移方面的改进是,及时系统管理员没有部署故障转移群集基础架构,也可以使用实时迁移。在老版本Windows Server 2008 R2 中,实时迁移需要安装故障转移群集功能,同时还需要启用群集共享卷(CSV)存储功能,以确保存储虚拟机的逻辑单元号(LUN)可以被其他任何群集节点随时访问到。
然而在Windows Server 2012 中,系统管理员可以通过两个额外的选项让实时迁移功能在故障转移群集环境之外执行,也可以将虚拟机保存到网络中的共享文件夹内,这样既可在将虚拟机的文件保存在共享中的前提下,在非群集 Hyper-V 宿主机之间进行实时迁移。系统管理员可以在一台独立 Hyper-V 宿主机上将虚拟机直接通过实时迁移功能转移到其他宿主机,并且不使用任何共享的存储设备。
通过使用Windows Server 2012中的Hyper-V,系统管理员可以将虚拟机的所有文件保存在网络中的共享文件夹内,而这些文件夹可以位于运行Windows Server 2012 的文件服务器上,原因在于这种场景需要用到第三版服务器消息块(SMB)协议所包含的新功能。
不过,使用SMB3.0共享存储的实时迁移本身并不能提供高可用性,除非文件共享本身是高可用的。然而,这种方法可以改善虚拟机的可移植性。并且这种增加的可移植性可以不需要成本高昂的SAN设备,也不需要配套的交换设施(SAN 也在 LUN 的供应和管理方面造成了额外的管理负担)。但是,只要企业部署了Windows Server 2012 文件服务器,系统管理员就可以集中存储环境中的虚拟机,无需由于使用SAN而增加成本以及相关的管理负担。