Citrix ADC

在Citrix ADC VPX实例上配置GSLB

Citrix ADC设备配置为全局服务器负载平衡(GSLB),通过保护WAN中的故障点,提供灾难恢复和应用程序的持续可用性。GSLB可以通过将客户端请求定向到最近的或性能最好的数据中心,或者在发生宕机时定向到幸存的数据中心,来平衡数据中心之间的负载。

本节介绍如何在Microsoft Azure环境下,通过Windows PowerShell命令在两个站点的VPX实例上启用GSLB。

请注意

有关GSLB的更多信息,请参见全局服务器负载均衡

您可以在Azure上的Citrix ADC VPX实例上配置GSLB,分为两个步骤:

  1. 在每个站点上创建一个具有多个网卡和多个IP地址的VPX实例
  2. 在VPX实例上启用GSLB

请注意

有关配置多网卡和IP地址的更多信息,请参见:通过PowerShell命令,为Citrix ADC VPX实例单节点配置多个IP地址

场景

该场景包括站点1和站点2。每个站点有一台虚拟机(VM1和VM2),虚拟机配置了多网卡、多IP地址和GSLB。

数字GSLB设置在两个站点上实现——站点1和站点2。

VPX Azure GSLB拓扑

该场景下,每个虚拟机有三个网卡,分别为网卡0/1、网卡1/1和网卡1/2。每块网卡可配置多个私有IP地址和公网IP地址。配置网卡的目的如下:

  • 网卡0/1:用于管理流量
  • 网卡1/1:用于客户端流量
  • 网卡1/2:用于与后端服务器通信

该场景下各网卡配置的IP地址信息,请参见IP配置详细信息部分。

参数

以下是本文档中针对该场景的参数设置示例。如果你愿意,你可以使用不同的设置。

$location=" US West Central " $vnetName="NSVPX-vnet" $RGName="multiIP-RG" $ prmstoragageaccountname ="MultiIP-avset" $vmSize="Standard\_DS3\_V2" 

注意:一个VPX实例的最低要求是2vcpu和2gb RAM。

$publisher="citrix" $offer="netscalervpx111" $sku="netscalerbyol" $version="latest" $vmNamePrefix="MultiIPVPX" $nicNamePrefix=" MultiIPVPX" $osDiskSuffix="osdiskdb" $numberOfVMs=1 $ipAddressPrefix="10.0.0 "$ ipAddressPrefix1 =“10.0.1。”$ ipAddressPrefix2 =“10.0.2。”$pubIPName1="MultiIP-pip1" $pubIPName2="MultiIP-pip2" $IpConfigName1="IPConfig1" $IPConfigName2="IPConfig-2" $IPConfigName3="IPConfig-3" $IPConfigName4="IPConfig-4" $frontendSubnetName="default" $backendSubnetName1="子网\_1" $backendSubnetName2="子网\_2" $suffixNumber=10 

创建虚拟机

按照步骤1-10,使用PowerShell命令创建具有多个网卡和多个IP地址的VM1:

  1. 创建资源组

  2. 创建存储帐户

  3. 创建可用性集

  4. 创建虚拟网络

  5. 创建公网IP地址

  6. 创建网卡

  7. 创建虚拟机配置对象

  8. 获取凭据并设置虚拟机操作系统属性

  9. 添加网卡

  10. 指定操作系统磁盘并创建虚拟机

在完成创建VM1的所有步骤和命令之后,重复这些步骤创建带有特定参数的VM2。

创建资源组

New-AzureRMResourceGroup -Name $RGName -Location $location 

创建存储帐户

$prmStorageAccount=New-AzureRMStorageAccount -Name $prmStorageAccountName -ResourceGroupName $RGName -Type Standard_LRS -Location $location 

创建可用性集

$avSet=New-AzureRMAvailabilitySet -Name $avSetName -ResourceGroupName $RGName -Location $location 

创建虚拟网络

  1. 添加子网。

    $subnet1=New-AzureRmVirtualNetworkSubnetConfig - $frontendSubnetName -AddressPrefix "10.0.0.0/24" $subnet2=New-AzureRmVirtualNetworkSubnetConfig -Name $backendSubnetName1 -AddressPrefix "10.0.1.0/24" $subnet3=New-AzureRmVirtualNetworkSubnetConfig -Name $backendSubnetName2 -AddressPrefix "10.0.2.0/24" 
  2. 添加虚拟网络对象。

    $vnet=New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $RGName -Location $location -AddressPrefix 10.0.0.0/16 -Subnet $subnet1, $subnet2, $subnet3 
  3. 检索子网。

    frontendSubnet =美元vnet.Subnets | ?{$ _。的名字-eq $frontendSubnetName} $backendSubnet1=$vnet.Subnets|?{$_.Name -eq $backendSubnetName1} $backendSubnet2=$vnet.Subnets|?{$_.Name -eq $backendSubnetName2} 

创建公网IP地址

$pip1= new - azurermpublicicipaddress -Name $pubIPName1 -ResourceGroupName $RGName -Location $location -AllocationMethod Dynamic $pip2= new - azurermpublicicipaddress -Name $pubIPName2 -ResourceGroupName $RGName -Location $location -AllocationMethod Dynamic 

创建网卡

创建网卡0/1

$nic1Name=$nicNamePrefix + $suffixNumber + "- mgmt " $ipAddress1=$ipAddressPrefix + $suffixNumber $IPConfig1=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName1 -SubnetId $ frontend子网。Id -PublicIpAddress $pip1 -PrivateIpAddress $ipAddress1 -Primary $nic1=New-AzureRMNetworkInterface -Name $nic1Name -ResourceGroupName $RGName -Location $location -IpConfiguration $IpConfig1 

创建网卡1/1

$nic2Name $nicNamePrefix + $suffixNumber + "-frontend" $ipAddress2=$ipAddressPrefix1 + ($suffixNumber) $ipAddress3=$ipAddressPrefix1 + ($suffixNumber + 1) $IPConfig2=New-AzureRmNetworkInterfaceIpConfig name $IPConfigName2 - publicicipaddress $pip2 -SubnetId $backendSubnet1。Id -PrivateIpAddress $ipAddress2 -Primary $IPConfig3=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName3 -SubnetId $backendSubnet1。Id -PrivateIpAddress $ipAddress3 nic2=New-AzureRMNetworkInterface -Name $nic2Name -ResourceGroupName $RGName -Location $location -IpConfiguration $IpConfig2, $IpConfig3 

创建网卡1/2

$nic3Name=$nicNamePrefix + $suffixNumber + "-backend" $ipAddress4=$ipAddressPrefix2 + ($suffixNumber) $IPConfig4=New-AzureRmNetworkInterfaceIpConfig name $IPConfigName4 -SubnetId $backendSubnet2。Id - privateeipaddress $ipAddress4 -Primary $nic3=New-AzureRMNetworkInterface -Name $nic3Name -ResourceGroupName $RGName -Location $location -IpConfiguration $IpConfig4 

创建虚拟机配置对象

$vmName=$vmNamePrefix $vmConfig=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet。Id < !--NeedCopy-->

获取凭证并设置操作系统属性

$cred=Get-Credential -Message "输入VPX登录的名称和密码。"$vmConfig=Set-AzureRMVMOperatingSystem -VM $vmConfig -Linux -ComputerName $vmName - credd $vmConfig=Set-AzureRMVMSourceImage -VM $vmConfig -PublisherName $publisher -Offer $offer -Skus $sku -Version $version 

添加网卡

$vmConfig=Add-AzureRMVMNetworkInterface -VM $vmConfig -Id $nic1。Id -Primary $vmConfig=Add-AzureRMVMNetworkInterface -VM $vmConfig -Id $nic2。Id $vmConfig=Add-AzureRMVMNetworkInterface -VM $vmConfig -Id $nic3。Id < !--NeedCopy-->

指定操作系统磁盘并创建虚拟机

$osDiskName=$vmName + "-" +$ osDiskSuffix $osVhdUri=$prmStorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" +$osDiskName + "。vhd" $vmConfig=Set-AzureRMVMOSDisk -VM $vmConfig -Name $osDiskName -VhdUri $osVhdUri -CreateOption fromImage Set-AzureRmVMPlan -VM $vmConfig -Publisher $publisher -Product $offer -Name $sku New-AzureRMVM -VM $vmConfig -ResourceGroupName $RGName -Location $location 

请注意

重复“使用PowerShell命令创建多网卡虚拟机”中的步骤1-10,创建VM2,并指定VM2的参数。

IP配置详细信息

IP地址如下所示。

表1.VM1使用的IP地址

网卡 私有IP 公共知识产权(PIP) 描述
0/1 10.0.0.10 PIP1 配置为NSIP(管理IP)
1/1 10.0.1.10 PIP2 配置为“SNIP/GSLB站点IP”
- 10.0.1.11 - 配置LB服务器IP。公网IP不强制配置
1/2 10.0.2.10 - 配置为SNIP,用于向服务发送监控探测;public IP不强制配置

表2。VM2使用的IP地址

网卡 内部IP 公共知识产权(PIP) 描述
0/1 20.0.0.10 PIP4 配置为NSIP(管理IP)
1/1 20.0.1.10 PIP5 配置为“SNIP/GSLB站点IP”
- 20.0.1.11 - 配置LB服务器IP。公网IP不强制配置
1/2 20.0.2.10 - 配置为SNIP,用于向服务发送监控探测;public IP不强制配置

下面是该场景的示例配置,显示了通过Citrix ADC VPX CLI为VM1和VM2创建的IP地址和初始LB配置。

下面是VM1上的一个配置示例。

add nsip 10.0.1.10 255.255.255.0 -mgmtAccess ENABLED add nsip 10.0.2.10 255.255.255.0 add service svc1 10.0.1.10 ADNS 53 add lb vserver v1 HTTP 10.0.1.11 80 add service s1 10.0.2.120 HTTP 80 add service s2 10.0.2.121 HTTP 80绑定lb vs v1 s[1-2] 

下面是VM2上的一个配置示例。

add nsip 20.0.1.10 255.255.255.0 -mgmtAccess ENABLED add nsip 20.0.2.10 255.255.255.0 add service svc1 20.0.1.10 ADNS 53 add lb vserver v1 HTTP 20.0.1.11 80添加服务s1 20.0.2.90 HTTP 80添加服务s2 20.0.2.91 HTTP 80绑定lb vs v1 s[1-2] 

配置GSLB站点和其他设置

本任务指导您配置两个GSLB站点,并进行必要的设置。

全局服务器负载均衡

有关更多信息,请参阅此支持文章:https://support.citrix.com/article/CTX110348

下面是VM1和VM2上的GSLB配置示例。

enable ns feature LB GSLB add GSLB site site1 10.0.1.10 -publicIP PIP2 add GSLB site site2 20.0.1.10 -publicIP PIP5 add GSLB service site1_gslb_http_svc1 10.0.1.11 HTTP 80 -publicIP PIP3 -publicPort 80 -siteName site1 add GSLB service site2_gslb_http_svc1 20.0.1.11 HTTP 80 -publicIP PIP6 -publicPort 80 -siteName site2 add GSLB vserver gslb_http_vip1 HTTP bind GSLB vserver gslb_http_vip1 -serviceName site2_gslb_http_svc1 bind GSLB vserver gslb_http_vip1 -serviceName site1_gslb_http_svc1 bind GSLBvserver gslb_http_vip1 -domainName www.gslbindia.com -TTL 5 

您已经在运行在Azure上的Citrix ADC VPX实例上配置了GSLB。

有关如何在Citrix ADC VPX实例上配置GSLB的其他信息,请单击以下图像观看关于在Microsoft Azure中配置Citrix ADC GSLB的视频。

GSLB视频

在Citrix ADC VPX实例上配置GSLB