This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
使用 PowerShell 命令配置具有多个 IP 地址和 NIC 的高可用性设置
可以在 Azure 上的主动-被动高可用性 (HA) 设置中部署一对具有多个 NIC 的 NetScaler VPX 实例。每个 NIC 都可以包含多个 IP 地址。
主动-被动部署需要:
- HA 独立网络配置 (INC) 配置
- 处于直接服务器返回 (DSR) 模式的 Azure 负载均衡器 (ALB)
所有流量均通过主节点。在主节点发生故障前,辅助节点一直处于备用模式。
注意
要在 Azure 云上部署 NetScaler VPX 高可用性部署,您需要一个可以在两个高可用性节点之间移动的浮动公共 IP (PIP)。Azure 负载均衡器 (ALB) 提供浮动 PIP,在发生故障转移时自动移动到第二个节点。
示意图:主动-被动部署体系结构示例
在主动-被动部署中,ALB 浮动公用 IP (PIP) 地址作为 VIP 地址添加在每个 VPX 节点中。在 HA-INC 配置中,VIP 地址是浮动的,而 SNIP 地址是实例特定的。
ALB 通过每 5 秒发送一次运行状况探测来监视每个 VPX 实例,并将流量仅重定向至按固定时间间隔发送运行状况探测响应的实例。因此,在 HA 设置中,主节点响应运行状况探测,而辅助节点不响应。如果主实例错过两个连续的运行状况探测,则 ALB 不会将流量重定向至该实例。发生故障转移时,新的主实例开始响应运行状况探测,且 ALB 将流量重定向至该实例。标准 VPX 高可用性故障转移时间为三秒。切换流量可能需要的故障转移总时间最长为 13 秒。
可以通过以下两种方式在主动-被动高可用性设置中部署 VPX 对:
- NetScaler VPX 标准高可用性模板:使用此选项配置 HA 对,默认选项为三个子网和六个 NIC。
- Windows PowerShell 命令:此选项用于根据您的子网和 NIC 要求来配置高可用性对。
本主题介绍了如何使用 PowerShell 命令在主动-被动高可用性设置中部署 VPX 对。如果要使用 NetScaler VPX 标准 HA 模板,请参 阅使用多个 IP 地址和 NIC 配置 HA 设置。
使用 PowerShell 命令配置 HA-INC 节点
场景:HA-INC PowerShell 部署
在这种情况下,您可以使用表中给出的拓扑来部署 NetScaler VPX 对。每个 VPX 实例均包含三个 NIC,每个 NIC 均部署在不同的子网中。每个 NIC均分配了一个 IP 配置。
ALB | VPX1 | VPX2 |
---|---|---|
ALB 与公用 IP 3 (pip3) 关联 | 管理 IP 配置了 IPConfig1,其中包括一个公用 IP (pip1) 和一个专用 IP (12.5.2.24); nic1; Mgmtsubnet=12.5.2.0/24 | 管理 IP 配置了 IPConfig5,其中包括一个公用 IP (pip3) 和一个专用 IP (12.5.2.26);nic4;Mgmtsubnet=12.5.2.0/24 |
配置的 LB 规则和端口包括 HTTP (80)、SSL (443)、运行状况探测 (9000) | 客户端 IP 配置了 IPConfig3,其中包括一个专用 IP(12.5.1.27);nic2; FrontEndsubet=12.5.1.0/24 | 客户端 IP 配置了 IPConfig7,其中包括一个专用 IP (12.5.1.28);nic5;FrontEndsubet=12.5.1.0/24 |
- | 服务器端 IP 配置了 IPConfig4,其中包括一个专用 IP (12.5.3.24); nic3;BackendSubnet=12.5.3.0/24 | 服务器端 IP 配置了 IPConfig8,其中包括一个专用 IP (12.5.3.28);nic6;BackendSubnet=12.5.3.0/24 |
- | NSG 的规则和端口包括:SSH (22)、HTTP (80)、HTTPS (443) | - |
参数设置
在此场景中将使用以下参数设置。
$locName= “South east Asia”
$rgName = “MulitIP-MultiNIC-RG”
$nicName1= “VM1-NIC1”
$nicName2 = “VM1-NIC2”
$nicName3= “VM1-NIC3”
$nicName4 = “VM2-NIC1”
$nicName5= “VM2-NIC2”
$nicName6 = “VM2-NIC3”
$vNetName = “Azure-MultiIP-ALB-vnet”
$vNetAddressRange= “12.5.0.0/16”
$frontEndSubnetName= “frontEndSubnet”
$frontEndSubnetRange= “12.5.1.0/24”
$mgmtSubnetName= “mgmtSubnet”
$mgmtSubnetRange= “12.5.2.0/24”
$backEndSubnetName = “backEndSubnet”
$backEndSubnetRange = “12.5.3.0/24”
$prmStorageAccountName = “multiipmultinicbstorage”
$avSetName = “multiple-avSet”
$vmSize= “Standard_DS4_V2”
$publisher = “Citrix”
$offer = “netscalervpx-120”
$sku = “netscalerbyol”
$version=”latest”
$pubIPName1=”VPX1MGMT”
$pubIPName2=”VPX2MGMT”
$pubIPName3=”ALBPIP”
$domName1=”vpx1dns”
$domName2=”vpx2dns”
$domName3=”vpxalbdns”
$vmNamePrefix=”VPXMultiIPALB”
$osDiskSuffix1=”osmultiipalbdiskdb1”
$osDiskSuffix2=”osmultiipalbdiskdb2”
$lbName= “MultiIPALB”
$frontEndConfigName1= “FrontEndIP”
$backendPoolName1= “BackendPoolHttp”
$lbRuleName1= “LBRuleHttp”
$healthProbeName= “HealthProbe”
$nsgName=”NSG-MultiIP-ALB”
$rule1Name=”Inbound-HTTP”
$rule2Name=”Inbound-HTTPS”
$rule3Name=”Inbound-SSH”
要完成部署,请使用 PowerShell 命令完成以下步骤:
- 创建资源组、存储帐户和可用性集
- 创建网络安全组并添加规则
- 创建虚拟网络和三个子网
- 创建公用 IP 地址
- 为 VPX1 创建 IP 配置
- 为 VPX2 创建 IP 配置
- 为 VPX1 创建 NIC
- 为 VPX2 创建 NIC
- 创建 VPX1
- 创建 VPX2
- 创建 ALB
创建资源组、存储帐户和可用性集。
New-AzureRmResourceGroup -Name $rgName -Location $locName
$prmStorageAccount=New-AzureRMStorageAccount -Name $prmStorageAccountName -ResourceGroupName $rgName -Type Standard_LRS -Location $locName
$avSet=New-AzureRMAvailabilitySet -Name $avSetName -ResourceGroupName $rgName -Location $locName
创建网络安全组并添加规则。
$rule1 = New-AzureRmNetworkSecurityRuleConfig -Name $rule1Name -Description "Allow HTTP" -Access Allow -Protocol Tcp -Direction Inbound -Priority 101
-SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 80
$rule2 = New-AzureRmNetworkSecurityRuleConfig -Name $rule2Name -Description "Allow HTTPS" -Access Allow -Protocol Tcp -Direction Inbound -Priority 110
-SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 443
$rule3 = New-AzureRmNetworkSecurityRuleConfig -Name $rule3Name -Description "Allow SSH" -Access Allow -Protocol Tcp -Direction Inbound -Priority 120
-SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 22
$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName $rgName -Location $locName -Name $nsgName -SecurityRules $rule1,$rule2,$rule3
创建虚拟网络和三个子网。
$frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name $frontEndSubnetName -AddressPrefix $frontEndSubnetRange (this parameter value should be as per your requirement)
$mgmtSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name $mgmtSubnetName -AddressPrefix $mgmtSubnetRange
$backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name $backEndSubnetName -AddressPrefix $backEndSubnetRange
$vnet =New-AzureRmVirtualNetwork -Name $vNetName -ResourceGroupName $rgName -Location $locName -AddressPrefix $vNetAddressRange -Subnet $frontendSubnet,$backendSubnet, $mgmtSubnet
$subnetName ="frontEndSubnet"
\$subnet1=\$vnet.Subnets|?{\$\_.Name -eq \$subnetName}
$subnetName="backEndSubnet"
\$subnet2=\$vnet.Subnets|?{\$\_.Name -eq \$subnetName}
$subnetName="mgmtSubnet"
\$subnet3=\$vnet.Subnets|?{\$\_.Name -eq \$subnetName}
创建公用 IP 地址。
$pip1=New-AzureRmPublicIpAddress -Name $pubIPName1 -ResourceGroupName $rgName -DomainNameLabel $domName1 -Location $locName -AllocationMethod Dynamic
$pip2=New-AzureRmPublicIpAddress -Name $pubIPName2 -ResourceGroupName $rgName -DomainNameLabel $domName2 -Location $locName -AllocationMethod Dynamic
$pip3=New-AzureRmPublicIpAddress -Name $pubIPName3 -ResourceGroupName $rgName -DomainNameLabel $domName3 -Location $locName -AllocationMethod Dynamic
为 VPX1 创建 IP 配置。
$IpConfigName1 = "IPConfig1"
$IPAddress = "12.5.2.24"
$IPConfig1=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName1 -Subnet $subnet3 -PrivateIpAddress $IPAddress -PublicIpAddress $pip1 -Primary
$IPConfigName3="IPConfig-3"
$IPAddress="12.5.1.27"
$IPConfig3=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName3 -Subnet $subnet1 -PrivateIpAddress $IPAddress -Primary
$IPConfigName4 = "IPConfig-4"
$IPAddress = "12.5.3.24"
$IPConfig4 = New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName4 -Subnet $subnet2 -PrivateIpAddress $IPAddress -Primary
为 VPX2 创建 IP 配置。
$IpConfigName5 = "IPConfig5"
$IPAddress="12.5.2.26"
$IPConfig5=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName5 -Subnet $subnet3 -PrivateIpAddress $IPAddress -PublicIpAddress $pip2 -Primary
$IPConfigName7="IPConfig-7"
$IPAddress="12.5.1.28"
$IPConfig7=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName7 -Subnet $subnet1 -PrivateIpAddress $IPAddress -Primary
$IPConfigName8="IPConfig-8"
$IPAddress="12.5.3.28"
$IPConfig8=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName8 -Subnet $subnet2 -PrivateIpAddress $IPAddress -Primary
为 VPX1 创建 NIC。
$nic1=New-AzureRmNetworkInterface -Name $nicName1 -ResourceGroupName $rgName -Location $locName -IpConfiguration $IpConfig1 -NetworkSecurityGroupId $nsg.Id
$nic2=New-AzureRmNetworkInterface -Name $nicName2 -ResourceGroupName $rgName -Location $locName -IpConfiguration $IpConfig3 -NetworkSecurityGroupId $nsg.Id
$nic3=New-AzureRmNetworkInterface -Name $nicName3 -ResourceGroupName $rgName -Location $locName -IpConfiguration $IpConfig4 -NetworkSecurityGroupId $nsg.Id
为 VPX2 创建 NIC。
$nic4=New-AzureRmNetworkInterface -Name $nicName4 -ResourceGroupName $rgName -Location $locName -IpConfiguration $IpConfig5 -NetworkSecurityGroupId $nsg.Id
$nic5=New-AzureRmNetworkInterface -Name $nicName5 -ResourceGroupName $rgName -Location $locName -IpConfiguration $IpConfig7 -NetworkSecurityGroupId $nsg.Id
$nic6=New-AzureRmNetworkInterface -Name $nicName6 -ResourceGroupName $rgName -Location $locName -IpConfiguration $IpConfig8 -NetworkSecurityGroupId $nsg.Id
创建 VPX1。
此步骤包括以下子步骤:
- 创建 VM 配置对象
- 设置凭据、操作系统和映像
- 添加 NIC
-
指定操作系统磁盘并创建 VM
$suffixNumber = 1 $vmName=$vmNamePrefix + $suffixNumber $vmConfig=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id $cred=Get-Credential -Message "Type the name and password for VPX login." $vmConfig=Set-AzureRMVMOperatingSystem -VM $vmConfig -Linux -ComputerName $vmName -Credential $cred $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 $osDiskName=$vmName + "-" + $osDiskSuffix1 $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 $locName
创建 VPX2。
```
$suffixNumber=2
$vmName=$vmNamePrefix + $suffixNumber
$vmConfig=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id
$cred=Get-Credential -Message "Type the name and password for VPX login."
$vmConfig=Set-AzureRMVMOperatingSystem -VM $vmConfig -Linux -ComputerName $vmName -Credential $cred
$vmConfig=Set-AzureRMVMSourceImage -VM $vmConfig -PublisherName $publisher -Offer $offer -Skus $sku -Version $version
$vmConfig=Add-AzureRMVMNetworkInterface -VM $vmConfig -Id $nic4.Id -Primary
$vmConfig=Add-AzureRMVMNetworkInterface -VM $vmConfig -Id $nic5.Id
$vmConfig=Add-AzureRMVMNetworkInterface -VM $vmConfig -Id $nic6.Id
$osDiskName=$vmName + "-" + $osDiskSuffix2
$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 $locName
<!--NeedCopy--> ```
要查看分配给 NIC 的专用和公用 IP 地址,请键入以下命令:
```
$nic1.IPConfig
$nic2.IPConfig
$nic3.IPConfig
$nic4.IPConfig
$nic5.IPConfig
$nic6.IPConfig
<!--NeedCopy--> ```
创建 Azure 负载平衡 (ALB)。
此步骤包括以下子步骤:
- 创建前端 IP 配置
- 创建运行状况探测
- 创建后端地址池
- 创建负载平衡规则(HTTP 和 SSL)
- 使用前端 IP 配置、后端地址池和 LB 规则创建 ALB
-
将 IP 配置与后端池相关联
$frontEndIP1=New-AzureRmLoadBalancerFrontendIpConfig -Name $frontEndConfigName1 -PublicIpAddress $pip3
$healthProbe=New-AzureRmLoadBalancerProbeConfig -Name $healthProbeName -Protocol Tcp -Port 9000 –IntervalInSeconds 5 -ProbeCount 2
$beAddressPool1=New-AzureRmLoadBalancerBackendAddressPoolConfig -Name $backendPoolName1
$lbRule1=New-AzureRmLoadBalancerRuleConfig -Name $lbRuleName1 -FrontendIpConfiguration $frontEndIP1 -BackendAddressPool $beAddressPool1 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 -EnableFloatingIP
$lb=New-AzureRmLoadBalancer -ResourceGroupName $rgName -Name $lbName -Location $locName -FrontendIpConfiguration $frontEndIP1 -LoadBalancingRule $lbRule1 -BackendAddressPool $beAddressPool1 -Probe $healthProbe
$nic2.IpConfigurations[0].LoadBalancerBackendAddressPools.Add($lb.BackendAddressPools[0])
$nic5.IpConfigurations[0].LoadBalancerBackendAddressPools.Add($lb.BackendAddressPools[0])
$lb=$lb |Set-AzureRmLoadBalancer
$nic2=$nic2 | Set-AzureRmNetworkInterface
$nic5=$nic5 | Set-AzureRmNetworkInterface
成功部署了 NetScaler VPX 对后,登录每个 VPX 实例以配置 HA-INC、SNIP 和 VIP 地址。
-
键入以下命令以添加 HA 节点。
add ha node 1 PeerNodeNSIP -inc Enabled
-
针对 VPX1 (NIC2) 和 VPX2 (NIC5),将客户端 NIC 的专用 IP 地址添加为 SNIP
add nsip privateIPofNIC2 255.255.255.0 -type SNIP
add nsip privateIPofNIC5 255.255.255.0 -type SNIP
-
在具有 ALB 的前端 IP 地址(公用 IP)的主节点上添加负载平衡虚拟服务器。
add lb virtual server v1 HTTP FrontEndIPofALB 80
相关资源:
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.