在去年的博客文章中,我们探讨了“A10虚拟化技术在云计算中的应用”,其中有一部分描述谈到了与类似VMware这样的虚拟化平台结合,提供VM资源的按需分配和应用系统资源的调度。随着虚拟化技术在不同行业的逐步推广和应用,最近遇到了一个项目正好就是测试这部分的功能,主要就是验证当VMware的vCenter动态增减VM(虚拟机)数量的时候,如何在AX设备上实现即时的VM资源同步。如果做到了这一步,那么当应用系统需要增减一定数量的VM时,对应的AX设备上提供该应用系统访问服务的虚拟服务器(VIP)就可以随之完成VM资源的动态调度和负载分担。下面我们结合这次的测试,阐述一下具体的配置步骤。下图为通用的部署示意图:
Step 1、在VMware上创建一定数量的VM,并在这些VM上开启Web Service
如何在VMware上创建VM,在这里就不阐述了,如果想了解相关的配置步骤,可以参考VMware网站提供的相关资料。在这里需要提醒一下,这些VM需要使用不同的IP地址,并能够被上游的AX设备访问,这个要求与传统的服务器负载均衡部署完全一致。
Step 2、配置vCenter和ESX的HTTP代理
缺省情况下,“VMware VirtualCenter Management Webservices”是不会自动启动的,因此,需要首先开启这个服务,具体步骤是在VMware主机【控制面板】-》【管理工具】-》【服务】中找到这个服务进程,并开启它。我们可以利用vSphere Client登录到vCenter来验证该服务已经开启。
注意:缺省情况下,只能通过HTTPS方式接入vCenter Webservice,所以通常还需要按照以下步骤修改配置文件,来开启HTTP方式的接入:
...
<e id=”1”>
<_type>vim.ProxyService.NamedPipeServiceSpec</_type>
<accessMode>httpAndHttps</accessMode>
<pipeName>/var/run/vmware/proxy-sdk</pipeName>
<serverNamespace>/sdk</serverNamespace>
</e>
...
Step 3、AX设备上的相关配置
除了基本的服务器(Real Server)和虚拟服务器(VIP)配置外,与VMware互动最多的部分就是服务组(Service Group)了,例如在服务组中增减服务器(组员)这些动作,因此一定要在配置API时,提供准确的服务组名和服务端口号;
Step 4、将AX API应用导入到vCenter中
在与VMware结合的应用中,aXAPI是一个独立的文件(VMPowerOps.cs),我们称之为VM触发批处理程序,将其导入到vCenter中,从而可以通过vCenter在AX设备上完成一些诸如增减服务器、创建服务组和虚拟服务器等动作。在这个VMPowerOps批处理文件中,一共需要配置13个参数,通过调整这些参数/变量,来配合我们在不同应用环境中的部署。下面我们用一个示例分别来看看这些参数/变量的含义是什么:
VmPowerOps.exe --url http://192.168.32.150/sdk --username TestUser --password mypasswd --hostName 192.168.1.240 --threshold 5 --DatacenterName DC --vmPath dc/vm/vm10 --AXIP 192.168.1.215.--AXUsrName admin --AXPasswd a10 --AXServiceGroup vm_group_01 --AXPort 80 --multipleAllow VmPowerOps
表示登录vCenter的URL路径,无论是登录哪台vCenter设备,后面都需要跟着“/sdk”的后缀;
表示登录该vCenter的用户名;
表示登录该vCenter用户的口令;
表示该vCenter中开启了相关VM的主机,通常是该主机的物理网卡IP地址;
表示克隆VM(虚拟机)的门限值,即最大克隆的个数;
表示该vCenter的名字;
表示克隆模板的路径,通过该模板可以克隆出与此VM模板完全一样的VM,这样就可以保证VM所提供的服务内容完全一致;
表示被管理AX设备的IP地址;
表示登录该AX设备的用户名;
表示登录该AX设备用户的密码;
表示该AX设备上的相关服务组名;
表示服务器上的应用服务端口号;
表示是否允许多个进程,1表示允许,2表示拒绝,缺省为1;
为了将此触发程序应用到vCenter对应的触发器(Trigger),通常我们都会把这些应用参数通过文本编辑器,存为一个后缀名为“.bat”的批处理文件,例如Power.bat。
Step 5、使用vSphere Client配置aXAPI触发器(Trigger)
通过vSphere Client配置告警触发器,将此前创建的“Power.bat”文件绑定到对应的主机,使aXAPI的应用生效。
当主机触发器被命中时,vCenter系统将执行VMPowerOps这个应用程序,进行如下操作:
以上就是AX负载均衡设备和VMware虚拟化平台的一个互通过程和配置步骤,可以达到对VM资源的动态调配和同步,这是AX设备的一个最主要的虚拟化应用场景。此外,根据业务的需要,在AX设备开启必要的应用加速功能,例如连接复用、缓存功能、SSL卸载、抵御DDoS功能等,也可以大大的降低VM系统的压力,提高单个VM的业务承载能力,更好的节省云系统资源,这也是AX负载均衡设备在虚拟化应用中的一个重要价值!
S.G