Pengklusteran tamu dalam jaringan virtual
Komputer virtual yang terhubung ke jaringan virtual hanya diizinkan untuk menggunakan alamat IP yang telah ditetapkan Pengontrol Jaringan untuk berkomunikasi di jaringan. Teknologi pengklusteran yang memerlukan alamat IP mengambang, seperti Pengklusteran Failover Microsoft, memerlukan beberapa langkah tambahan untuk berfungsi dengan benar.
Metode untuk membuat IP mengambang dapat dijangkau adalah dengan menggunakan IP virtual (VIP) Software Load Balancer (SLB). Load balancer perangkat lunak harus dikonfigurasi dengan pemeriksaan kesehatan pada port pada IP tersebut sehingga SLB mengarahkan lalu lintas ke komputer yang saat ini memiliki IP tersebut.
Contoh: Konfigurasi load balancer
Contoh ini mengasumsikan bahwa Anda telah membuat VM yang akan menjadi node kluster, dan melampirkannya ke Virtual Network. Untuk panduan, lihat Membuat VM dan Menyambungkan ke Jaringan Virtual Penyewa atau VLAN.
Dalam contoh ini, Anda akan membuat alamat IP virtual (192.168.2.100) untuk mewakili alamat IP mengambang kluster, dan mengonfigurasi pemeriksaan kesehatan untuk memantau port TCP 59999 untuk menentukan simpul mana yang aktif.
Pilih VIP.
Siapkan dengan menetapkan alamat IP VIP, yang dapat berupa alamat yang tidak digunakan atau dipesan dalam subnet yang sama dengan node kluster. VIP harus cocok dengan alamat mengambang kluster.
$VIP = "192.168.2.100" $subnet = "Subnet2" $VirtualNetwork = "MyNetwork" $ResourceId = "MyNetwork_InternalVIP"
Buat objek properti load balancer.
$LoadBalancerProperties = new-object Microsoft.Windows.NetworkController.LoadBalancerProperties
Buat alamat IP front-end.
$LoadBalancerProperties.frontendipconfigurations += $FrontEnd = new-object Microsoft.Windows.NetworkController.LoadBalancerFrontendIpConfiguration $FrontEnd.properties = new-object Microsoft.Windows.NetworkController.LoadBalancerFrontendIpConfigurationProperties $FrontEnd.resourceId = "Frontend1" $FrontEnd.resourceRef = "/loadBalancers/$ResourceId/frontendIPConfigurations/$($FrontEnd.resourceId)" $FrontEnd.properties.subnet = new-object Microsoft.Windows.NetworkController.Subnet $FrontEnd.properties.subnet.ResourceRef = "/VirtualNetworks/MyNetwork/Subnets/Subnet2" $FrontEnd.properties.privateIPAddress = $VIP $FrontEnd.properties.privateIPAllocationMethod = "Static"
Buat kumpulan back-end untuk berisi node kluster.
$BackEnd = new-object Microsoft.Windows.NetworkController.LoadBalancerBackendAddressPool $BackEnd.properties = new-object Microsoft.Windows.NetworkController.LoadBalancerBackendAddressPoolProperties $BackEnd.resourceId = "Backend1" $BackEnd.resourceRef = "/loadBalancers/$ResourceId/backendAddressPools/$($BackEnd.resourceId)" $LoadBalancerProperties.backendAddressPools += $BackEnd
Tambahkan pemeriksaan untuk mendeteksi node kluster mana yang saat ini aktif di alamat mengambang.
Catatan
Kueri pemeriksaan terhadap alamat permanen VM pada port yang ditentukan di bawah ini. Porta hanya boleh merespons pada simpul aktif.
$LoadBalancerProperties.probes += $lbprobe = new-object Microsoft.Windows.NetworkController.LoadBalancerProbe $lbprobe.properties = new-object Microsoft.Windows.NetworkController.LoadBalancerProbeProperties $lbprobe.ResourceId = "Probe1" $lbprobe.resourceRef = "/loadBalancers/$ResourceId/Probes/$($lbprobe.resourceId)" $lbprobe.properties.protocol = "TCP" $lbprobe.properties.port = "59999" $lbprobe.properties.IntervalInSeconds = 5 $lbprobe.properties.NumberOfProbes = 11
Tambahkan aturan penyeimbangan beban untuk port TCP 1433.
Anda dapat mengubah protokol dan port sesuai kebutuhan. Anda juga dapat mengulangi langkah ini beberapa kali untuk port dan protokol lain pada VIP ini. Penting bahwa EnableFloatingIP diatur ke $true karena ini memberi tahu load balancer untuk mengirim paket ke node dengan VIP asli di tempat.
$LoadBalancerProperties.loadbalancingRules += $lbrule = new-object Microsoft.Windows.NetworkController.LoadBalancingRule $lbrule.properties = new-object Microsoft.Windows.NetworkController.LoadBalancingRuleProperties $lbrule.ResourceId = "Rules1" $lbrule.properties.frontendipconfigurations += $FrontEnd $lbrule.properties.backendaddresspool = $BackEnd $lbrule.properties.protocol = "TCP" $lbrule.properties.frontendPort = $lbrule.properties.backendPort = 1433 $lbrule.properties.IdleTimeoutInMinutes = 4 $lbrule.properties.EnableFloatingIP = $true $lbrule.properties.Probe = $lbprobe
Buat load balancer di Network Controller.
$lb = New-NetworkControllerLoadBalancer -ConnectionUri $URI -ResourceId $ResourceId -Properties $LoadBalancerProperties -Force
Tambahkan node kluster ke kumpulan backend.
Anda dapat menambahkan simpul sebanyak mungkin ke kumpulan yang Anda butuhkan untuk kluster.
# Cluster Node 1 $nic = get-networkcontrollernetworkinterface -connectionuri $uri -resourceid "ClusterNode1_Network-Adapter" $nic.properties.IpConfigurations[0].properties.LoadBalancerBackendAddressPools += $lb.properties.backendaddresspools[0] $nic = new-networkcontrollernetworkinterface -connectionuri $uri -resourceid $nic.resourceid -properties $nic.properties -force # Cluster Node 2 $nic = get-networkcontrollernetworkinterface -connectionuri $uri -resourceid "ClusterNode2_Network-Adapter" $nic.properties.IpConfigurations[0].properties.LoadBalancerBackendAddressPools += $lb.properties.backendaddresspools[0] $nic = new-networkcontrollernetworkinterface -connectionuri $uri -resourceid $nic.resourceid -properties $nic.properties -force
Setelah Anda membuat load balancer dan menambahkan antarmuka jaringan ke kumpulan backend, Anda siap untuk mengonfigurasi kluster.
(Opsional) Jika Anda menggunakan Kluster Failover Microsoft, lanjutkan dengan contoh berikutnya.
Contoh 2: Mengonfigurasi kluster failover Microsoft
Anda dapat menggunakan langkah-langkah berikut untuk mengonfigurasi kluster failover.
Menginstal dan mengonfigurasi properti untuk kluster failover.
add-windowsfeature failover-clustering -IncludeManagementTools Import-module failoverclusters $ClusterName = "MyCluster" $ClusterNetworkName = "Cluster Network 1" $IPResourceName = $ILBIP = "192.168.2.100" $nodes = @("DB1", "DB2")
Buat kluster pada satu simpul.
New-Cluster -Name $ClusterName -NoStorage -Node $nodes[0]
Hentikan sumber daya kluster.
Stop-ClusterResource "Cluster Name"
Atur IP kluster dan port probe.
Alamat IP harus cocok dengan alamat ip front-end yang digunakan dalam contoh sebelumnya, dan port probe harus cocok dengan port probe dalam contoh sebelumnya.
Get-ClusterResource "Cluster IP Address" | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"="59999";"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
Mulai sumber daya kluster.
Start-ClusterResource "Cluster IP Address" -Wait 60 Start-ClusterResource "Cluster Name" -Wait 60
Tambahkan simpul yang tersisa.
Add-ClusterNode $nodes[1]
Kluster Anda aktif. Lalu lintas yang masuk ke VIP pada port yang ditentukan diarahkan pada simpul aktif.