Menggunakan templat mulai cepat Azure untuk mengonfigurasi grup ketersediaan untuk SQL Server di komputer virtual Azure
Berlaku untuk:SQL Server di Azure VM
Tip
Ada banyak metode untuk menyebarkan grup ketersediaan. Sederhanakan penyebaran Anda dan hilangkan kebutuhan akan Azure Load Balancer atau nama jaringan terdistribusi (DNN) untuk grup ketersediaan AlwaysOn Anda dengan membuat komputer virtual (VM) SQL Server Anda di beberapa subnet dalam jaringan virtual Azure yang sama. Jika Anda telah membuat grup ketersediaan dalam satu subnet, Anda dapat memigrasikannya ke lingkungan multi-subnet.
Artikel ini menjelaskan cara menggunakan templat quickstart Azure untuk mengotomatisasi sebagian penyebaran konfigurasi grup ketersediaan Always On untuk mesin virtual (VM) SQL Server dalam satu subnet di Azure. Dua templat mulai cepat Azure digunakan dalam proses ini:
Templat | Deskripsi |
---|---|
sql-vm-ag-setup | Membuat kluster failover Windows dan menggabungkan komputer virtual SQL Server ke dalamnya. |
sql-vm-aglistener-setup | Membuat listener grup ketersediaan dan mengonfigurasi load balancer internal. Templat ini hanya dapat digunakan jika kluster failover Windows dibuat dengan templat 101-sql-vm-ag-setup. |
Bagian lain dari konfigurasi grup ketersediaan harus dilakukan secara manual, seperti membuat grup ketersediaan dan membuat load balancer internal. Artikel ini menyediakan urutan langkah otomatis dan manual.
Meskipun artikel ini menggunakan templat Mulai Cepat untuk mengonfigurasi lingkungan grup ketersediaan, dimungkinkan juga untuk melakukannya menggunakan portal Microsoft Azure, PowerShell atau Azure CLI, atau Secara Manual juga.
Catatan
Sekarang dimungkinkan untuk mengangkat dan mengalihkan solusi grup ketersediaan Anda ke SQL Server di Azure VM menggunakan Azure Migrate. Lihat Memigrasikan grup ketersediaan untuk mempelajari selengkapnya.
Prasyarat
Untuk mengotomatisasi penyiapan grup ketersediaan AlwaysOn dengan menggunakan templat mulai cepat, Anda harus memiliki prasyarat berikut:
- Langganan Azure.
- Grup sumber daya dengan pengendali domain.
- Satu atau beberapa komputer virtual yang bergabung dengan domain di Azure yang menjalankan SQL Server 2016 (atau yang lebih baru) edisi Enterprise yang berada di set ketersediaan atau zona ketersediaan yang sama dan yang telah terdaftar dengan ekstensi Agen infrastruktur sebagai layanan SQL.
- Azure Load Balancer internal dan alamat IP yang tersedia (tidak digunakan oleh entitas mana pun) untuk pendengar grup ketersediaan dalam subnet yang sama dengan mesin virtual SQL Server.
Izin
Izin berikut ini diperlukan untuk mengonfigurasi grup ketersediaan AlwaysOn dengan menggunakan templat mulai cepat Azure:
- Akun pengguna domain yang sudah ada yang memiliki izin Membuat Objek Komputer di domain. Sebagai contoh, akun admin domain biasanya memiliki izin yang memadai (misalnya: account@domain.com). Akun ini juga harus menjadi bagian dari grup administrator lokal pada setiap VM untuk membuat kluster.
- Akun pengguna domain yang mengontrol SQL Server.
Membuat kluster
Setelah komputer virtual SQL Server Anda terdaftar dengan ekstensi Agen infrastruktur sebagai layanan SQL, Anda dapat bergabung dengan komputer virtual SQL Server Anda ke SqlVirtualMachineGroups. Sumber daya ini menentukan metadata kluster failover Windows. Metadata mencakup versi, edisi, nama domain yang sepenuhnya memenuhi syarat, akun Direktori Aktif untuk mengelola kluster dan SQL Server, dan akun penyimpanan sebagai bukti cloud.
Menambahkan komputer virtual SQL Server ke grup sumber daya SqlVirtualMachineGroups membuat bootstrap Layanan Kluster Failover Windows untuk membuat kluster dan kemudian bergabung dengan komputer virtual SQL Server ke kluster tersebut. Langkah ini diotomatisasi dengan templat mulai cepat 101-sql-vm-ag-setup. Anda dapat menerapkannya dengan menggunakan langkah-langkah berikut:
Buka template mulai cepat sql-vm-ag-setup . Lalu, pilih Sebarkan ke Azure untuk membuka templat mulai cepat di portal Microsoft Azure.
Isi bidang yang diperlukan untuk mengonfigurasi metadata untuk kluster failover Windows. Anda dapat membiarkan bidang opsional kosong.
Tabel berikut ini menunjukkan nilai yang diperlukan untuk templat:
Bidang Nilai Langganan Langganan tempat komputer virtual SQL Server Anda berada. Grup sumber daya Grup sumber daya tempat komputer virtual SQL Server Anda berada. Nama Kluster failover Nama yang Anda inginkan untuk kluster failover Windows baru Anda. Daftar Komputer virtual yang Sudah Ada Komputer virtual SQL Server yang ingin Anda ikuti dalam grup ketersediaan dan menjadi bagian dari kluster baru ini. Pisahkan nilai-nilai ini dengan koma dan spasi (misalnya: SQLVM1, SQLVM2). Versi SQL Server Versi SQL Server dari komputer virtual SQL Server Anda. Pilih dari daftar menurun. Saat ini, hanya gambar SQL Server 2016 dan SQL Server 2017 yang didukung. Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN) yang Sudah Ada FQDN yang sudah ada untuk domain tempat komputer virtual SQL Server Anda berada. Akun Domain yang Sudah Ada Akun pengguna domain yang sudah ada yang memiliki izin Membuat Objek Komputer di domain saat CNO dibuat selama penyebaran templat. Sebagai contoh, akun admin domain biasanya memiliki izin yang memadai (misalnya: account@domain.com). Akun ini juga harus menjadi bagian dari grup administrator lokal pada setiap VM untuk membuat kluster. Kata Sandi Akun Domain Kata sandi untuk akun pengguna domain yang disebutkan sebelumnya. Akun Layanan Sql yang Sudah Ada Akun pengguna domain yang mengontrol layanan SQL Server selama penyebaran grup ketersediaan (misalnya: account@domain.com). Kata Sandi Layanan Sql Kata sandi yang digunakan oleh akun pengguna domain yang mengontrol SQL Server. Nama Bukti Cloud Akun penyimpanan Azure yang baru yang akan dibuat dan digunakan untuk bukti cloud. Anda dapat mengubah nama ini. Lokasi _artifacts Bidang ini diatur secara default dan tidak boleh diubah. Token SaS Lokasi _artifacts Bidang ini sengaja dibiarkan kosong. Jika Anda menyetujui syarat dan ketentuan, pilih kotak centang Saya menyetujui syarat dan ketentuan yang tercantum di atas. Lalu pilih Beli untuk menyelesaikan penyebaran templat mulai cepat.
Untuk memantau penyebaran Anda, pilih penyebaran dari ikon bel Pemberitahuan di banner navigasi atas atau buka Grup Sumber Daya di portal Microsoft Azure. Pilih Penyebaran di bawah Pengaturan, dan pilih penyebaran Microsoft.Template.
Catatan
Informasi masuk yang disediakan selama penyebaran templat disimpan hanya selama penyebaran. Setelah penyebaran selesai, kata sandi tersebut dihapus. Anda akan diminta untuk menyediakannya lagi jika Anda menambahkan lebih banyak komputer virtual SQL Server ke kluster.
Konfigurasikan kuorum
Meskipun merupakan opsi kuorum yang paling andal, saksi disk memerlukan disk bersama Azure yang memberlakukan beberapa batasan pada grup ketersediaan. Dengan demikian, saksi cloud adalah solusi kuorum yang direkomendasikan untuk grup ketersediaan yang menghosting kluster untuk SQL Server di Azure VM.
Jika memiliki jumlah suara yang merata di kluster, konfigurasikan solusi kuorum yang paling sesuai dengan kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Kuorum dengan VM SQL Server.
Validasi kluster
Agar kluster failover didukung oleh Microsoft, kluster harus lulus validasi kluster. Sambungkan ke VM menggunakan metode pilihan Anda, seperti Protokol Desktop Jarak Jauh (RDP) dan validasi agar kluster Anda melewati validasi sebelum melanjutkan lebih lanjut. Kegagalan untuk melakukannya membuat kluster Anda dalam status tidak didukung.
Anda dapat memvalidasi kluster menggunakan Failover Cluster Manager (FCM) atau perintah PowerShell berikut:
Test-Cluster –Node ("<node1>","<node2>") –Include "Inventory", "Network", "System Configuration"
Membuat grup ketersediaan
Buat grup ketersediaan secara manual seperti biasa, dengan menggunakan SQL Server Management Studio, PowerShell, atau T-SQL.
Penting
Jangan buat listener pada saat ini, karena templat mulai cepat 101-sql-vm-aglistener-setup melakukannya secara otomatis di langkah 4.
Membuat load balancer
Catatan
Penyebaran grup ketersediaan ke beberapa subnet tidak memerlukan load balancer. Dalam lingkungan subnet tunggal, pelanggan yang menggunakan SQL Server 2019 CU8 dan yang lebih baru pada Windows 2016 dan yang lebih baru dapat mengganti listener nama jaringan virtual tradisional (VNN) dan Azure Load Balancer dengan pendengar nama jaringan terdistribusi (DNN). Jika Anda ingin menggunakan DNN, lewati langkah-langkah tutorial apa pun yang mengonfigurasi Azure Load Balancer untuk grup ketersediaan Anda.
Pendengar grup ketersediaan Always On memerlukan instans internal Azure Load Balancer. Load balancer internal menyediakan alamat IP "floating" untuk listener grup ketersediaan yang memungkinkan kegagalan dan koneksi ulang yang lebih cepat. Jika komputer virtual SQL Server dalam grup ketersediaan adalah bagian dari set ketersediaan yang sama, Anda dapat menggunakan load balancer Dasar. Jika tidak, Anda perlu menggunakan load balancer Standar.
Penting
Penyeimbang beban internal harus berada di jaringan virtual yang sama dengan instance SQL Server VM.
Anda hanya perlu membuat load balancer internal. Pada langkah 4, templat mulai cepat 101-sql-vm-aglistener-setup menangani sisa konfigurasi (seperti kumpulan ujung belakang, probe kesehatan, dan aturan load-balancing).
Di portal Microsoft Azure, buka grup sumber daya yang berisi komputer virtual SQL Server.
Di grup sumber daya, pilih Tambahkan.
Cari load balancer. Dalam hasil pencarian, pilih Load Balancer, yang diterbitkan oleh Microsoft.
Pada panel Load Balancer , pilih Buat.
Dalam kotak dialog Buat load balancer, konfigurasikan load balancer sebagai berikut:
Pengaturan Nilai Nama Masukkan nama teks yang mewakili load balancer. Misalnya, masukkan sqlLB. Jenis Internal: Sebagian besar implementasi menggunakan load balancer internal, yang memungkinkan aplikasi dalam jaringan virtual yang sama untuk terhubung ke grup ketersediaan.
Eksternal: Memungkinkan aplikasi untuk tersambung ke grup ketersediaan melalui koneksi Internet publik.Jaringan virtual Pilih jaringan virtual tempat instans SQL Server berada. Subnet Pilih subnet tempat instans SQL Server berada. Penetapan alamat IP Statik Alamat IP privat Tentukan alamat IP yang tersedia dari subnet. Langganan Jika Anda memiliki beberapa langganan, bidang ini mungkin muncul. Pilih langganan yang ingin Anda kaitkan dengan sumber daya ini. Biasanya langganan yang sama dengan semua sumber daya untuk grup ketersediaan. Grup sumber daya Pilih grup sumber daya tempat instans SQL Server berada. Location Pilih lokasi Azure tempat instans SQL Server berada. Pilih Buat.
Penting
Sumber daya IP publik untuk setiap SQL Server VM harus memiliki SKU Standar agar kompatibel dengan penyeimbang muatan Standar. Untuk menentukan SKU sumber daya IP publik komputer virtual Anda, buka Grup Sumber Daya, pilih sumber daya Alamat IP Publik Anda untuk komputer virtual SQL Server, dan temukan nilai di bawah SKU di panel Ringkasan.
Membuat listener
Buat listener grup ketersediaan dan konfigurasikan load balancer internal secara otomatis dengan menggunakan templat mulai cepat 101-sql-vm-aglistener-setup. Templat provisikan sumber daya Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/AvailabilityGroupListener. Templat mulai cepat 101-sql-vm-aglistener-setup, melalui Agen infrastruktur sebagai layanan SQL, melakukan tindakan berikut:
- Membuat sumber daya IP ujung depan baru (berdasarkan nilai alamat IP yang disediakan selama penyebaran) untuk listener.
- Mengonfigurasi pengaturan jaringan untuk kluster dan load balancer internal.
- Mengonfigurasi kumpulan ujung belakang untuk load balancer internal, probe kesehatan, dan aturan load-balancing.
- Membuat listener grup ketersediaan dengan alamat IP dan nama yang diberikan.
Catatan
Anda dapat menggunakan 101-sql-vm-aglistener-setup hanya jika kluster failover Windows dibuat dengan templat 101-sql-vm-ag-setup.
Untuk mengonfigurasi load balancer internal dan membuat listener grup ketersediaan, lakukan hal berikut:
Buka template mulai cepat 101-sql-vm-aglistener-setup dan pilih Sebarkan ke Azure untuk memulai template mulai cepat di portal Azure.
Isi bidang yang diperlukan untuk mengonfigurasi load balancer internal, dan buat listener grup ketersediaan. Anda dapat membiarkan bidang opsional kosong.
Tabel berikut ini menunjukkan nilai yang diperlukan untuk templat:
Bidang Nilai Grup sumber daya Grup sumber daya tempat komputer virtual SQL Server dan grup ketersediaan Anda berada. Nama Kluster Failover yang Sudah Ada Nama kluster tempat komputer virtual SQL Server Anda bergabung. Grup Ketersediaan Sql yang Sudah Ada Nama grup ketersediaan tempat komputer virtual SQL Server Anda menjadi bagian darinya. Daftar Komputer virtual yang Sudah Ada Nama-nama komputer virtual SQL Server yang merupakan bagian dari grup ketersediaan yang disebutkan sebelumnya. Pisahkan nama-nama ini dengan koma dan spasi (misalnya: SQLVM1, SQLVM2). Listener Nama DNS yang ingin Anda tetapkan ke listener. Secara default, templat ini menentukan nama "aglistener," tetapi Anda dapat mengubahnya. Nama tidak boleh melebihi 15 karakter. Port Listener Port yang Anda inginkan untuk digunakan listener. Biasanya, port ini harus menjadi default dari 1433. Ini adalah nomor port yang ditentukan templat. Tetapi jika port default Anda telah diubah, port listener harus menggunakan nilai tersebut sebagai gantinya. IP Listener Alamat IP yang Anda inginkan untuk digunakan listener. Alamat ini akan dibuat selama penyebaran templat, jadi berikan alamat yang belum digunakan. Subnet yang Sudah Ada Nama subnet internal komputer virtual SQL Server Anda (misalnya: default). Anda bisa menentukan nilai ini dengan membuka Grup Sumber Daya, memilih jaringan virtual Anda, memilih Subnet di panel Pengaturan, dan menyalin nilai di bawah Nama. Load Balancer Internal yang Sudah Ada Nama load balancer internal yang Anda buat di langkah 3. Probe Port Probe port yang Anda inginkan untuk digunakan load balancer internal. Templat menggunakan 59999 secara default, tetapi Anda dapat mengubah nilai ini. Jika Anda menyetujui syarat dan ketentuan, pilih kotak centang Saya menyetujui syarat dan ketentuan yang tercantum di atas. Pilih Beli untuk menyelesaikan penyebaran templat mulai cepat.
Untuk memantau penyebaran Anda, pilih penyebaran dari ikon bel Pemberitahuan di banner navigasi atas atau buka Grup Sumber Daya di portal Microsoft Azure. Pilih Penyebaran di bawah Pengaturan, dan pilih penyebaran Microsoft.Template.
Catatan
Jika penyebaran Anda gagal di tengah jalan, Anda harus menghapus listener yang baru dibuat secara manual dengan menggunakan PowerShell sebelum Anda menyebarkan ulang templat mulai cepat 101-sql-vm-aglistener-setup.
Menghapus listener
Jika nanti Anda perlu menghapus listener grup ketersediaan yang telah dikonfigurasi templat, Anda harus melalui ekstensi Agen infrastruktur sebagai layanan SQL. Karena pendengar terdaftar melalui ekstensi Agen IaaS SQL, hanya menghapusnya melalui SQL Server Management Studio tidak mencukupi.
Metode terbaik adalah menghapusnya melalui ekstensi Agen infrastruktur sebagai layanan SQL dengan menggunakan cuplikan kode berikut di PowerShell. Melakukan hal tersebut akan menghapus metadata listener grup ketersediaan dari ekstensi Agen infrastruktur sebagai layanan SQL. Hal ini juga secara fisik menghapus pendengar dari grup ketersediaan.
# Remove the availability group listener
# example: Remove-AzResource -ResourceId '/subscriptions/a1a11a11-1a1a-aa11-aa11-1aa1a11aa11a/resourceGroups/SQLAG-RG/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/Cluster/availabilitygrouplisteners/aglistener' -Force
Remove-AzResource -ResourceId '/subscriptions/<SubscriptionID>/resourceGroups/<resource-group-name>/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/<cluster-name>/availabilitygrouplisteners/<listener-name>' -Force
Kesalahan umum
Bagian ini membahas beberapa masalah yang diketahui dan kemungkinan penyelesaiannya.
Listener grup ketersediaan untuk grup ketersediaan '<AG-Name>' sudah ada Grup ketersediaan pilihan yang digunakan dalam templat mulai cepat Azure untuk listener grup ketersediaan sudah berisi listener. Baik itu secara fisik dalam kelompok ketersediaan, atau metadatanya tetap dalam ekstensi Agen infrastruktur sebagai layanan SQL. Hapus listener dengan menggunakan PowerShell sebelum menyebarkan ulang templat mulai cepat 101-sql-vm-aglistener-setup.
Koneksi hanya berfungsi dari replika utama Perilaku ini kemungkinan berasal dari penyebaran templat 101-sql-vm-aglistener-setup yang gagal yang telah meninggalkan konfigurasi load balancer internal menjadi tidak konsisten. Verifikasi bahwa kumpulan ujung belakang mencantumkan set ketersediaan, dan aturan tersebut ada untuk probe kesehatan dan untuk aturan load-balancing. Jika ada yang hilang, konfigurasi load balancer internal menjadi tidak konsisten.
Untuk mengatasi perilaku ini, hapus listener dengan menggunakan PowerShell, hapus load balancer internal melalui portal Microsoft Azure, dan mulai lagi di langkah 3.
BadRequest - Hanya daftar komputer virtual SQL yang dapat diperbarui Kesalahan ini mungkin terjadi saat Anda menyebarkan templat 101-sql-vm-aglistener-setup jika listener dihapus melalui SQL Server Management Studio (SSMS), tetapi tidak dihapus dari ekstensi Agen infrastruktur sebagai layanan SQL. Menghapus listener melalui SQL Server Management Studio tidak menghapus metadata listener dari ekstensi Agen infrastruktur sebagai layanan SQL. Listener harus dihapus dari penyedia sumber melalui PowerShell.
Akun domain tidak ada Kesalahan ini dapat memiliki dua penyebab. Akun domain yang ditentukan tidak ada, atau tidak memiliki data Nama Prinsipal Pengguna (UPN). Templat 101-sql-vm-ag-setup memperkirakan akun domain dalam bentuk nama prinsipal pengguna (yaitu, user@domain.com), tetapi beberapa akun domain mungkin melewatkannya. Ini biasanya terjadi ketika pengguna lokal telah dimigrasikan menjadi akun administrator domain pertama ketika server dipromosikan ke pengontrol domain, atau ketika pengguna dibuat melalui PowerShell.
Verifikasi bahwa akun tersebut ada. Jika ya, Anda mungkin akan menjalani situasi kedua. Untuk mengatasinya, lakukan hal berikut:
Pada pengontrol domain, buka jendela Pengguna Direktori Aktif dan Komputer dari opsi Alat di Manajer Server.
Masuk ke akun dengan memilih Pengguna di panel kiri.
Klik kanan akun, dan pilih Properti.
Pilih tab Akun. Jika kotak Nama log masuk pengguna kosong, ini adalah penyebab kesalahan Anda.
Isi kotak Nama log masuk pengguna agar sesuai dengan nama pengguna, dan pilih domain yang tepat dari daftar menurun.
Pilih Terapkan untuk menyimpan perubahan Anda, dan tutup kotak dialog dengan memilih OK.
Setelah Anda membuat perubahan ini, coba sebarkan templat mulai cepat Azure sekali lagi.
Langkah berikutnya
Untuk mempelajari selengkapnya, lihat:
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk