要在数据中心部署一个新的应用有很大的工作量,需要申请相应的计算和存储资源;还要跟网络组协调网络的架构方案,这可不是一件容易的工作。首先要在数据中心的网络拓扑图上做出网络设计规划,分配相应的网络资源(IP 地址、VLAN ID 等);在实施阶段还需要对相关的 ToR 交换机、主干交换机、路由器、防火墙等网络设备进行配置,创建新的 VLAN、修改路由表、添加新的防火墙规则等。这项工作不仅费时费力,而且必须非常小心,避免任何配置上的错误而造成数据中心的网络故障。
数据中心网络拓扑图示例
基于 NSX 的虚拟化网络可以大大简化上述工作,这些在传统数据中心的 IT 管理工作可以由工具来自动完成。在虚拟网络中,所有的网络设备如交换机、路由器、防火墙都是基于软件的,所以你可以调用一条命令来创建一个交换机,或者是修改某个路由器的路由表,在项目结束之后还可以删除不再需要的网络设备。上述所做的修改都只是在软件层面上的,而没有对物理设备做出任何改动,完全可以由一个命令脚本来自动完成。
在 VMware 的软件定义数据中心架构中,专门提供了一个数据中心的自动化工具 vRealize Automation(简称为 vRA),由它来调用 vSphere、vSAN 和 NSX 的功能来实现对于虚拟资源的管理。系统管理员可以在 vRA 中设计系统的蓝图(Blueprint),定义系统架构,每个层面有哪些虚机,每台虚机上安装哪些软件等等;在网络层面上可以详细定义网络拓扑结构,包括交换机、路由器、防火墙以及它们之间的网络连接,以及所有的网络配置参数和安全策略。然后 vRA 就可以自动调配(Provision)出完全可运行的应用系统,整个过程仅需要几个小时,这就是软件定义数据中心。在传统的数据中心中,这些工作都是由手工来完成的,所有的这些一般需要数周或几个月的时间;而采用自动化的工具,所花的时间可以缩减到几个小时之内。
NSX Manager 是 NSX 虚拟网络的管理平台,除了控制台管理界面外,它也提供了 REST API 来供其他工具或软件来访问 NSX 的管理功能。vRealize Automation 就是通过 NSX Manager 来实现网络自动化功能,其他软件也可以通过 REST API 来使用 NSX 提供的服务。所以 NSX 也支持其他非 vSphere 的云计算平台(如 OpenStack)和第三方的管理工具,管理员也可以使用 PowerCLI 或其他的编程语言(如 Python、Java 等)来编写脚本来自动完成基于 NSX 平台的管理任务。
网络自动化是整个数据中心 IT 自动化中的一个重要环节,相比于计算和存储资源的自动化更难于实现,通过 NSX 虚拟化网络方案,我们实现了 IT 管理工作的全部自动化,从而真正实现了软件定义的数据中心。