Bagikan melalui


Pengklusteran tamu dalam jaringan virtual

Berlaku untuk: Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI, versi 21H2 dan 20H2

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 Koneksi 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.

  1. 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"
    
  2. Buat objek properti load balancer.

    $LoadBalancerProperties = new-object Microsoft.Windows.NetworkController.LoadBalancerProperties
    
  3. 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"
    
  4. 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
    
  5. 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
    
  6. 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
    
  7. Buat load balancer di Network Controller.

    $lb = New-NetworkControllerLoadBalancer -ConnectionUri $URI -ResourceId $ResourceId -Properties $LoadBalancerProperties -Force
    
  8. 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.

  9. (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.

  1. 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")
    
  2. Buat kluster pada satu simpul.

    New-Cluster -Name $ClusterName -NoStorage -Node $nodes[0]
    
  3. Hentikan sumber daya kluster.

    Stop-ClusterResource "Cluster Name" 
    
  4. 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}
    
  5. Mulai sumber daya kluster.

     Start-ClusterResource "Cluster IP Address"  -Wait 60 
     Start-ClusterResource "Cluster Name"  -Wait 60 
    
  6. 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.