Date: April 14, 2019
Tag: ILB, multi instance sql server failover cluster, Server SQL Multi-Instance
Fitur Azure ILB Baru Memungkinkan Anda Membuat Cluster Failover SQL Server Multi-Instance
Di Microsoft Ignite pada September lalu, Microsoft membuat beberapa pengumuman seputar Azure. Salah satu pengumuman ini adalah ketersediaan umum beberapa VIP pada penyeimbang beban internal. Mengapa ini sangat penting untuk DBA SQL Server? Ya, sampai sekarang jika Anda ingin menggunakan SQL Server yang sangat tersedia di Azure, Anda dibatasi untuk SQL Server FCI per cluster atau pendengar Grup Ketersediaan tunggal. Batasan ini memaksa Anda untuk menyebarkan cluster baru untuk setiap instance SQL Server yang ingin Anda lindungi dalam Failover Cluster. Itu juga memaksa Anda untuk mengelompokkan semua basis data Anda ke dalam Kelompok Ketersediaan tunggal jika Anda menginginkan failover otomatis dan pengalihan klien dalam konfigurasi AlwaysOn AG Anda.
Bagaimana Keluar Dari Batasan Ini?
Batasan tersebut sekarang telah dicabut dengan fitur-fitur ILB baru ini. Dalam posting ini saya akan memandu Anda melalui proses penyebaran SQL Server FCI di Azure yang berisi dua contoh SQL Server. Dalam posting mendatang saya akan memandu Anda melalui proses yang sama untuk SQL Server AlwaysOn AG.
Mari Kita Mulai Dengan Cluster Failover SQL Server Multi-Instance
Membangun dasar, contoh tunggal SQL Server FCI di Azure seperti yang saya jelaskan di posting saya Menyebarkan Microsoft SQL Server 2014 Failover Clusters di Azure Resource Manager. Posting itu menjelaskan proses membuat Multi-Instance SQL Server Failover Cluster. Menggunakan DataKeeper untuk membuat sumber daya volume yang direplikasi yang digunakan dalam cluster, coba buat Internal Load Balancer (ILB) dan kemudian perbaiki SQL Server Cluster IP Resource untuk bekerja dengan ILB. Jika Anda ingin melewati proses itu dan memulai konfigurasi Anda, Anda selalu dapat menggunakan Azure Deployment Templat yang membuat 2-Node SQL Server FCI menggunakan SIOS DataKeeper Dengan anggapan Anda sekarang memiliki dua simpul dasar SQL Server FCI, langkah-langkah untuk menambahkan 2 bernama contoh adalah sebagai berikut:
- Buat Sumber Daya Volume DataKeeper lain pada volume lain yang saat ini tidak digunakan. Anda mungkin perlu menambahkan disk tambahan ke instance Azure Anda jika Anda tidak memiliki volume yang tersedia. Sebagai bagian dari proses pembuatan volume ini, sumber daya Volume DataKeeper baru akan didaftarkan di Penyimpanan Tersedia di kluster. Lihat artikel yang dirujuk sebelumnya untuk detailnya.
- Instal contoh bernama SQL Server pada node pertama, tentukan Volume DataKeeper yang baru saja kita buat sebagai lokasi penyimpanan.
- “Tambahkan simpul” ke kluster pada simpul kedua.
- Kunci nomor port instance bernama baru ini ke port yang tidak digunakan. Dalam contoh saya, saya menggunakan port 1440.
Sesuaikan ILB Ke Instance Kedua
Selanjutnya kita harus menyesuaikan ILB untuk mengarahkan lalu lintas ke instance kedua ini. Berikut adalah langkah-langkah yang perlu Anda ikuti: Tambahkan alamat IP frontend yang identik dengan alamat IP SQL cluster yang Anda gunakan untuk contoh kedua SQL Server seperti yang ditunjukkan di bawah ini. Selanjutnya, kita perlu menambahkan probe lain karena instance dapat berjalan di server yang berbeda. Seperti yang ditunjukkan di bawah ini, saya menambahkan probe yang memeriksa port 59998 (bukan 59999 yang biasa). Kita perlu memastikan aturan baru merujuk pada penyelidikan ini. Kita juga perlu mengingat nomor port itu karena kita perlu memperbarui alamat IP yang terkait dengan instance ini selama langkah terakhir dari proses ini. Sekarang kita perlu menambahkan dua aturan baru ke ILB untuk mengarahkan lalu lintas yang ditujukan untuk ke-2 SQL ini. Tentu saja kita perlu menambahkan aturan untuk mengarahkan kembali port TCP 1440 (port yang saya gunakan untuk instance bernama SQL), tetapi karena kita sekarang menggunakan instance bernama kita juga perlu memiliki port untuk mendukung Layanan Browser SQL Server, Port UDP 1434. Pada gambar di bawah ini yang menggambarkan aturan untuk Layanan Browser SQL Server, perhatikan bahwa Alamat IP Front End merujuk pada alamat FrontendIP baru (10.0.0.201), port UDP 1434 untuk Port dan Backend Port. Di pool, Anda perlu menentukan dua server di cluster, dan akhirnya pastikan Anda memilih Health Probe yang baru saja kita buat. Kami sekarang akan menambahkan aturan untuk TCP / 1440. Seperti yang ditunjukkan pada gambar di bawah ini, tambahkan aturan baru untuk port TCP 1440, atau port apa pun yang dikunci untuk instance bernama SQL Server. Sekali lagi, pastikan untuk memilih Alamat IP FrontEnd baru dan Probe Kesehatan baru (59998). Juga, pastikan IP Terapung (pengembalian server langsung) diaktifkan.
Langkah Terakhir
Sekarang setelah load balancer dikonfigurasi, langkah terakhir adalah menjalankan skrip PowerShell untuk memperbarui alamat IP Cluster baru yang terkait dengan instance SQL Server ke-2 ini. Skrip PowerShell ini hanya perlu dijalankan di salah satu node cluster.
# Definisikan variabel $ ClusterNetworkName = "" # nama jaringan cluster (Gunakan Get-ClusterNetwork di Windows Server 2012 yang lebih tinggi untuk menemukan nama) $ IPResourceName = "" # nama sumber daya Alamat IP dari instance kedua SQL Server $ ILBIP = "" # Alamat IP dari instance SQL kedua, yang harus sama dengan alamat IP Frontend baru juga Impor-Modul FailoverClusters # Jika Anda menggunakan Windows Server 2012 atau lebih tinggi: Dapatkan-ClusterResource $ IPResourceName | Set-ClusterParameter -Multiple @ {Address = $ ILBIP; ProbePort = 59998; SubnetMask = "255.255.255.255"; Jaringan = $ ClusterNetworkName; EnableDhcp = 0} # Jika Anda menggunakan Windows Server 2008 R2 gunakan ini: #cluster res $ IPResourceName / priv enabledhcp = 0 address = $ ILBIP probeport = 59998 subnetmask = 255.255.255.255
Anda sekarang memiliki multi-instance SQL Server FCI yang berfungsi penuh di Azure. Beri tahu saya jika Anda memiliki pertanyaan untuk membangun Cluster Failover SQL Server Multi-Instance Dengan Fitur ILB Azure Baru yang Direproduksi dari Clusteringformeremortals.com