解析虚拟平台关键技术:虚拟交换机资料来源:大家论坛服务器的虚拟化,接连带动了机房网络的虚拟化,原本在机房内部随处可见的交换机等网络设备,随着实体服务器的精简,也一并被整合到虚拟平台,透过软件仿真的方式,形成虚拟交换机等组件,继续为虚拟机器提供网络服务。其实,不单是我们这里所介绍的几款企业端虚拟化平台,就连规模较小的个人产品,也同样能看到虚拟交换机技术的运用。以VMwareWorkstation为例,在5.0的版本推出之后,利用新加入的“Team”功能,让数台虚拟机器可以套用相同的设置连接网络,就功能上来看,俨然已经具备了虚拟交换机的雏型。能提供大量的虚拟网络端口,及提供速度更快的联机接口虚拟交换机是构成虚拟平台网络的关键角色,相较于实体的交换机设备,虚拟交换机所具备的网络功能较为简单,一般来说,以L2层面的应用为主。整体而言,内置大量的虚拟网络端口,以及提供速度更快的联机接口,是交换机虚拟化之后所带来的最大好处。就网络端口的数量来说,一台实体交换机内置的网络端口数量约在5~48接口之间,如果机房内部需要连接网络的设备超过这个数字,就有必要扩充设备,而在虚拟平台的环境下,光是一台虚拟交换机便能提供为数可观的虚拟网络端口,以VMware的ESX为例,一台ESX服务器最多可以透过软件仿真的方式,建立出248台虚拟交换机,每台交换机预设的虚拟网络端口数量是56个,可透过手动修改交换机设置的方式,扩充到1016接口的最大上限。不仅如此,服务器虚拟化之后,网络的传输速度也能获得增加。虽然10GbE网络推出已有数年之久的时间,速度更快的100GbE网络也呼之欲出,不过由于10GbE网络设备的价格至今仍是居高不下,一张10GbE网卡即要价数万元不等,更不用说是内置多个网络端口的交换机设备,因此使得行之有年的GbE仍旧在大多数的企业机房,担负着骨干线路的重责大任。在虚拟化技术的推波助澜下,企业可以花费较少的预算,便能提升网络的效能。例如,微软的Hyper-V平台,虚拟机器与虚拟交换机之间的联机速度,可达10Gbps,换句话说,虚拟化之后,企业仅需购买数张10GbE实体网卡,加上一台内置10GbE接口的交换机,就能将机房网络升级到全10GbE的环境,而建置费用仅为过去实体环境的数分之一。依照功能不同,可区分为两种主要角色服务器虚拟化之后,企业仍然可以保留原始的网络架构,不会因为大多数实体服务器、网络设备整合到虚拟平台运作,而产生需要重新规画的问题。依照功能上的不同,我们可以将虚拟平台上的交换机,区分为两种不同的角色,一种是用来连接外部实体网络的“External”,另外一种则是完全封闭,无法连接外界网络的“Private”。设置External交换机的时候,必须将服务器的实体网卡接口指派给External交换机做为级联线路使用。反之,设置Private交换机的时侯,由于不需要指派实体的网卡接口,因此自然形成一个封闭式的网络环境,适用于不需要连接外部网络的测试环境。以企业的实际应用来说,两种虚拟交换机大多是搭配使用,目的是为了在虚拟平台的网络环境中,建立起阶层式的网络架构。举例来说,我们可以将上线运作中的虚拟机器放置在一台Private虚拟交换机之上,做为底层的接入交换机使用,此时,再透过一台同时连接前端External虚拟交换机的虚拟机器的串接之下,使得虚拟机器能与外部网络进行联机。该台同时连接External、Private虚拟交换机的虚拟机器,可以是一台防火墙(例如CheckPoint的VPN-1VE、微软的ISA),或者是WindowsServer2003集群服务器、IPS(例如ReflexSystem的VirtualSecurityAppliance)采用透通模式从事安全过滤的安全产品,若为防火墙,则后端的Private交换机就会变成DMZ区,除了透过NAT区隔外部网络之外,同时也会套用防火墙的联机规则从事管理,假使是集群服务器、IPS的话,则External、Private交换机之间仅会进行单纯的桥接。除了具备前述两种的虚拟交换机机制之外,微软的Hyper-V还额外提供了一种“Internal”虚拟交换机。严格来说,它是Private虚拟交换机的其中一种,但是在功能上,位于Internal虚拟交换机之上的虚拟机器,可以和Hyper-V平台的HostOS联机,而Private虚拟交换机,则不具备这项功能。通过一台虚拟机器的连接,使得原本各自独立的2台虚拟交换机得以连接,让后端的虚拟机器与外部网络进行联机。与实体交换机设备之间的功能异同除了提供虚拟机器集线的用途之外,一般在实体交换机常用到的网络功能,例如VLAN、QoS,以及EtherChannel等项目,在虚拟交换机上也同样可以做到。和实体交换机不同的是,内置于虚拟交换机的部份网络功能,仍然需要搭配实体的网络设备才能运作,例如企业经常使用到的VLAN。无论是何种虚拟化平台,两台虚拟交换机之间,均无法建立VLAN的Trunk。较为特别的是,虚拟交换机也同样能够执行封包收集的动作,相当方便。在实体网络的环境下,这项功能必须借助于具备Mirror封包镜射功能的交换机,或者是L1层面的集线器,才能进行。在ESX的虚拟交换机上头,我们可以启用PromiscuousMode的功能,之后就可以使用Wireshark(Ethereal)一类的封包侧录工具,监听位于同一台虚拟交换机、PortGroup,或者是同一个VLAN上的所有网络流量,对于有需要在虚拟平台从事网络除错,或者找寻中毒主机的企业来说,就十分有用。虚拟机器的动态转移,是企业导入虚拟化平台之后,经常使用到的一项功能,以ESX的VMotion为例,启用这项功能之前,必须先在虚拟交换机上完成相关的一些设置,值得注意的是,连接两台ESX服务器间的网络,建议采用GbE以上的等级,若为速度较低的10/100Mbps网络,那么在迁移的过程中将有可能造成虚拟机器短暂断线的情况发生。什么是虚拟机器的动态迁移?虚拟机器的动态迁移(LiveMigration),可让虚拟机器在不关机,且能持续提供服务的前提下,从一台虚拟平台服务器迁移到其它的虚拟平台服务器运作,目前Citrix、VMware,以及微软等几家主要的虚拟平台厂商皆提出自家的动态迁移技术,其中最具代表性的,莫过于VMware的VMotion,而这项技术和虚拟交换机也有很大的关系。以VMwareESX为例,VMotion需要下列3项条件的配合才能构成,一是ESX服务器之间必须建立高可用性的关系,其次是将虚拟机器文件存放于局域网络的共享磁盘驱动器,最后一点,则是在虚拟交换机上头完成相关的设置。实际迁移时,被迁移的仅是虚拟机器的设置文件,而非动辄数十,甚至上百GB大小的虚拟磁盘文件,一般建议,各台ESX服务器之间,最好能以GbE以上等级的线路连接,如此可保证迁移过程中不会出现任何短暂断线的情况。如果再搭配DistributedResourceScheduler(DRS)这项功能操作VMotion,则可以在其中一台ESX服务器负载过重时,自动地将一部份的虚拟机器迁移到其它的服务器,达成负载平衡的目的。至于其它厂商的动态迁移技术,在架构上也与VMotion相去不远,至少需要高可用性,以及共享磁盘驱动器的辅助才能构成这项功能。Xen-Motion是CitrixXenServer的动态迁移技术,该系列4款虚拟化产品中,目前只有最高等级的白金版及企业版才具备这项功能,至于标准版及完全免费的Express精简版则无此项能力。不单是Citrix旗下的虚拟化产品,其它基于Xen技术开发出来的虚拟化产品,例如VirtualIron,也具备相似的动态迁移功能LiveMigrate,除了免费提供的个人版之外,需要付费购买的企业版及企业加强版均有内置该项功能。目前内置在WindowsServer2008的Hyper-V1.0,在技术上仅具备QuickMigration的离线迁移功能,因此企业需将虚拟机器停机之后,才能迁移到其它的Hyper-V服务器,继续提供服务,而在未来WindowsServer2008R2推出之后,LiveMigration将会成为内置的标准功能,届时可在不停机的状况下迁移虚拟机器。预计在2009年推出的ESX4.0,具备一项名为分布式虚拟交换机的新技术。通过DVS,我们可以将分散在同一个局域网络下的多台虚拟交换机集结起来,虚拟成一台大型的机箱式交换机集中管理,在不需要个别连接每一台虚拟交换机的情况下,简化管理作业。除此之外,DVS另一项值得一提的应用在于,它同时提供了交换机政策的动态转移。就现有版本的ESX来说,虚拟机器完成VMotion动态迁移之后,就必须在该台虚拟机器所在的虚拟交换机上重新设置,但DVS的特色是随着虚拟机器的迁移而同步迁移交换机设置,不需要额外的手动设置。DVS的相关技术目前已经提供给网络设备厂商用来开发新产品,例如Cisco新推出的Nexus1000V交换机,就是一款支持DVS且能部署在未来ESX平台上的虚拟交换机产品。目前各家厂牌的企业虚拟化产品,除了一般常见的付费版本之外,也有提供功能简化后的免费版本,供自由下载。相较于市售版本,免费版本的套件在网络功能方面皆有所精简。举例来说,像是虚拟机器的动态迁移能力(如VMwareESX的VMotion),以及实体服务器之间的高可用性(HighAvailability,HA)备份机制,就只有付费版本才有提供;此外,像是CitrixXenServer的免费版本XenExpress还更进一步地,去除在虚拟交换机上设置VLAN的能力。就功能来说,这些免费版本仅适合测试,而非应用于架构复杂的实际上线环境。利用原厂管理工具设置虚拟交换机和实体的交换机设备相比,虚拟交换机的设置显然要相对容易许多,利用原厂提供的管理工具,在企业于虚拟平台建立虚拟机器的同时,也能针对网络功能的部分一并完成设置。VMwareESXVMware的ESX是现有企业虚拟化产品中,历史最悠久的一款产品,当我们安装好一台ESX服务器之后,即可从ESX的网页接口下载VMwareInfrastructureClient(VIC)软件,利用软件的图形化接口,连接个别的ESX服务器,再加以管理。整体来说,ESX所有的网络功能,包括虚拟交换机的新增、移除,以及VLAN的切割等,均可透过图形化的接口以勾选方式完成,设置上相当容易。另外一种方式,则是同样使用VIC软件,连接VirtualCenter服务器,如此一来,便可以透过同一接口,管理内部网络的多台ESX服务器,而在网络功能的设置方面,也比透过VMwareInfrastructureClient软件,个别连接单一服务器时要来得强大,像是VMotion,就必须在VirtualCenter的平台上才能进行设置。除此之外,管理者可以透过SSH,远程登入ESX服务器的文字管理接口,并且利用输入文字指令的方式,去设置虚拟平台,例如虚拟交换机在内的各项网络功能。CitrixXenServerXenCenter是CitrixXenServer的图形化管理工具,利用这套软件,企业可以使用单一介绍,同时连接多台的XenServer服务器进行集中式的管理。在XenServer的平台上,虚拟交换机的组件被称之为“Network”,基本功能的设置大致与ESX雷同,一样可以在XenCenter完成前述各项的虚拟交换机功能设置。微软Hyper-V“Hyper-V管理员”是WindowsServer2008的虚拟化管理工具,当我们通过服务器管理员,安装好Hyper-V的组件之后,该应用程序也会一并地安装完成,利用这项工具,即可管理虚拟交换机的各项设置。Hyper-V管理员的功能与ESX的VIC相类似,同样都是提供给企业连接个别的虚拟平台服务器从事管理,如果企业环境中同时存在有多台Hyper-V服务器需要集中管理,或者需要建立高可用性的备份机制,则必须借助于自家的SystemCenterVirtualMachineManager(SCVMM)软件才能进行。微软日