可以使用 NSX Advanced Load Balancer 对 MySQL 应用程序进行负载均衡。本主题介绍了如何在 NSX Advanced Load Balancer 上集成 MySQL 服务。

本节介绍了以下配置步骤。

  • 创建第 4 层虚拟服务。

  • 为负载均衡 MySQL 服务器创建池。

  • 为 MySQL 服务器创建外部运行状况监控器。

前提条件

必须在 SE 上启用 IP 路由。

有关启用 IP 路由的更多信息,请参见默认网关(NSX Advanced Load Balancer SE 上的 IP 路由)

过程

  1. 创建一个第 4 层虚拟服务,将 System-L4-Profile 作为应用程序配置文件,并将 System-TCP 作为 TCP 配置文件
    1. 导航到应用程序 > 虚拟服务,然后单击创建虚拟服务
    2. 提供所需的虚拟服务名称。在配置文件部分下面,将应用程序配置文件设置为 System-L4-Application,并将 TCP/UDP 配置文件设置为 System-TCP-Fast-Path
    3. 导航到服务端口部分,然后将服务设置为 3306。MySQL 虚拟服务将在该端口 (3306) 上侦听入站流量。
  2. 为 MySQL 服务器创建池。
    1. 使用部分中的下拉菜单选项选择创建池。也可以导航到应用程序 > 以创建新的池。
    2. 创建池页面的设置选项卡中,将池的负载均衡算法设置为一致哈希,并将哈希键设置为源 IP 地址
  3. 为 MySQL 服务器创建外部运行状况监控器:负载均衡 MySQL 服务器所需的两种运行状况监控器是 System-TCP 和 MySQL 服务的自定义运行状况监控器。按照下面提到的步骤创建所需的监控器:
    1. 单击添加主动监控器,然后选择 System-TCP
    2. 再次单击添加主动监控器,然后从下拉菜单中选择创建运行状况监控器
    3. 为新的自定义运行状况监控器提供以下属性:
    • 名称:根据需要

    • 类型:外部

    • 在“外部设置”部分下面设置以下脚本代码:

    • 'mysql --host=$IP 
      --user=$SQLUSER --password=$SQLPW -e "select 1"' 
    • 为“脚本变量”选项设置以下属性:

    • SQLUSER=<username> SQLPW=<password for the user>
      注:

      用户 SQLUSER 是没有架构或数据库特权的 MySQL 用户。

      有关在 NSX Advanced Load Balancer 上创建外部运行状况监控器的更多信息,请参见外部运行状况监控器

  4. 设置每个服务器的最大连接数的值,以与 MySQL 服务器上的最大连接数全局变量匹配。

结果

MySQL 服务与 NSX Advanced Load Balancer 集成在一起。