Mengonfigurasi grup ketersediaan grup kerja
Berlaku untuk: SQL Server di Azure VM
Artikel ini menjelaskan langkah-langkah yang diperlukan untuk membuat kluster independen domain Active Directory dengan grup ketersediaan Always On; ini juga dikenal sebagai kluster grup kerja. Artikel ini berfokus pada langkah-langkah yang relevan dengan mempersiapkan dan mengonfigurasi grup kerja dan grup ketersediaan, dan menerangkan langkah-langkah yang tercakup dalam artikel lain, seperti cara membuat kluster, atau menyebarkan grup ketersediaan.
Prasyarat
Untuk mengonfigurasi grup ketersediaan grup kerja, Anda memerlukan hal-hal berikut ini:
- Setidaknya dua mesin virtual Windows Server 2016 (atau lebih tinggi) yang menjalankan SQL Server 2016 (atau lebih tinggi), disebarkan ke kumpulan ketersediaan yang sama, atau zona ketersediaan yang berbeda, menggunakan alamat IP statis.
- Jaringan lokal dengan minimal 4 alamat IP gratis pada subnet.
- Akun pada setiap mesin di grup administrator yang juga memiliki hak sysadmin dalam SQL Server.
- Port terbuka: TCP 1433, TCP 5022, TCP 59999.
Sebagai referensi, parameter berikut digunakan dalam artikel ini, tetapi dapat dimodifikasi sebagaimana diperlukan:
Nama | Parameter |
---|---|
Node1 | AGNode1 (10.0.0.4) |
Node2 | AGNode2 (10.0.0.5) |
Nama kluster | AGWGAG (10.0.0.6) |
Listener | AGListener (10.0.0.7) |
Akhiran DNS | ag.wgcluster.example.com |
Nama grup kerja | Grup AGWorkgroup |
Set akhiran DNS
Dalam langkah ini, konfigurasikan akhiran DNS untuk kedua server. Contohnya,ag.wgcluster.example.com
. Dengan hal ini, Anda dapat menggunakan nama objek yang ingin disambungkan sebagai alamat yang sepenuhnya memenuhi syarat dalam jaringan Anda, seperti AGNode1.ag.wgcluster.example.com
.
Untuk mengonfigurasi akhiran DNS, ikuti langkah-langkah berikut:
Lakukan RDP di simpul pertama Anda dan buka Manajer Server.
Pilih Server Lokal lalu pilih nama komputer virtual Anda di bagian Nama komputer.
Pilih Ubah... di bagian Untuk mengganti nama komputer ini....
Ubah nama grup kerja menjadi sesuatu yang bermakna, seperti
AGWORKGROUP
:Pilih Lainnya... untuk membuka kotak dialog Akhiran DNS dan Nama Komputer NetBIOS.
Ketikkan nama akhiran DNS Anda di bagian Akhiran DNS primer komputer ini, seperti
ag.wgcluster.example.com
lalu pilih OK:Konfirmasikan bahwa nama komputer lengkap sekarang memperlihatkan akhiran DNS, lalu pilih OK untuk menyimpan perubahan Anda:
Mulai ulang server ketika Anda diminta untuk melakukannya.
Ulangi langkah-langkah ini pada simpul lain yang akan digunakan untuk grup ketersediaan.
Mengedit file host
Karena tidak ada direktori aktif, tidak ada cara untuk mengautentikasi koneksi Windows. Dengan demikian, tetapkan kepercayaan dengan mengedit file host dengan editor teks.
Untuk mengedit file host, ikuti langkah-langkah berikut:
RDP ke mesin virtual Anda.
Gunakan File Explorer untuk masuk ke
c:\windows\system32\drivers\etc
.Klik kanan file host dan buka file dengan Notepad (atau editor teks lainnya).
Di akhir file, tambahkan entri untuk setiap simpul, grup ketersediaan, dan listener dalam bentuk
IP Address, DNS Suffix #comment
seperti:10.0.0.4 AGNode1.ag.wgcluster.example.com #Availability group node 10.0.0.5 AGNode2.ag.wgcluster.example.com #Availability group node 10.0.0.6 AGWGAG.ag.wgcluster.example.com #Cluster IP 10.0.0.7 AGListener.ag.wgcluster.example.com #Listener IP
Mengatur izin
Karena tidak ada Direktori Aktif untuk mengelola izin, Anda perlu secara manual mengizinkan akun administrator lokal non-bawaan untuk membuat kluster.
Untuk melakukannya, jalankan cmdlet PowerShell berikut dalam sesi PowerShell administratif pada setiap simpul:
new-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1
Membuat kluster failover
Dalam langkah ini, Anda akan membuat kluster failover. Jika Anda tidak terbiasa dengan langkah-langkah ini, Anda dapat mengikutinya dari tutorial kluster failover.
Perbedaan penting antara tutorial dan hal yang harus dilakukan untuk kluster grup kerja:
- Hapus centang Penyimpanan, dan Ruang Penyimpanan Langsung saat menjalankan validasi kluster.
- Saat menambahkan simpul ke kluster, tambahkan nama yang sepenuhnya memenuhi syarat, seperti:
AGNode1.ag.wgcluster.example.com
AGNode2.ag.wgcluster.example.com
- Kosongkan kotak centang Tambahkan semua penyimpanan yang memenuhi syarat ke kluster.
Setelah kluster dibuat, tetapkan alamat IP Kluster statis. Untuk melakukannya, ikuti langkah-langkah berikut:
Di salah satu simpul, buka Manajer Kluster Failover, pilih kluster, klik kanan Nama: <ClusterNam> di bagian Sumber Daya Inti Kluster lalu pilih Properti.
Pilih alamat IP di bawah Alamat IP dan pilih Edit.
Pilih Gunakan Statis, berikan alamat IP kluster, lalu pilih OK:
Pastikan bahwa pengaturan Anda terlihat benar, lalu pilih OK untuk menyimpannya:
Membuat bukti cloud
Dalam langkah ini, konfigurasikan bukti berbagi cloud. Jika Anda tidak terbiasa dengan langkah-langkahnya, lihat Menyebarkan Saksi Cloud untuk Kluster Failover.
Aktifkan fitur grup ketersediaan
Dalam langkah ini, aktifkan fitur grup ketersediaan. Jika Anda tidak terbiasa dengan langkah-langkahnya, lihat tutorial grup ketersediaan.
Membuat kunci dan sertifikat
Dalam langkah ini, buat sertifikat yang digunakan login SQL pada titik akhir terenkripsi. Buat folder pada setiap simpul untuk menahan cadangan sertifikat, seperti c:\certs
.
Catatan
Jika Anda tidak menentukan tanggal kedaluwarsa untuk sertifikat, validitasnya akan menjadi satu tahun sejak tanggal pembuatan. Jika sertifikat kedaluwarsa, koneksi antar titik akhir akan gagal.
Untuk mengonfigurasi simpul pertama, ikuti langkah-langkah berikut:
Buka SQL Server Management Studio dan sambungkan ke simpul pertama Anda, seperti
AGNode1
.Buka jendela Kueri Baru dan jalankan pernyataan T-SQL berikut setelah memperbarui ke kata sandi yang kompleks dan aman:
USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'PassWOrd123!'; GO --create a cert from the master key USE master; CREATE CERTIFICATE AGNode1Cert WITH SUBJECT = 'AGNode1 Certificate'; GO --Backup the cert and transfer it to AGNode2 BACKUP CERTIFICATE AGNode1Cert TO FILE = 'C:\certs\AGNode1Cert.crt'; GO
Selanjutnya, buat titik akhir HADR, dan gunakan sertifikat untuk autentikasi dengan menjalankan pernyataan T-SQL ini:
--CREATE or ALTER the mirroring endpoint CREATE ENDPOINT hadr_endpoint STATE = STARTED AS TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE AGNode1Cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL ); GO
Gunakan File Explorer untuk masuk ke lokasi file tempat sertifikat Anda berada, seperti
c:\certs
.Buat salinan sertifikat secara manual, seperti
AGNode1Cert.crt
, dari simpul pertama, dan transfer ke lokasi yang sama pada simpul kedua.
Untuk mengonfigurasi simpul kedua, ikuti langkah-langkah berikut:
Sambungkan ke simpul kedua dengan SQL Server Management Studio, seperti
AGNode2
.Buka jendela Kueri Baru dan jalankan pernyataan Transact-SQL (T-SQL) berikut setelah memperbarui ke kata sandi yang kompleks dan aman:
USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'PassWOrd123!'; GO --create a cert from the master key USE master; CREATE CERTIFICATE AGNode2Cert WITH SUBJECT = 'AGNode2 Certificate'; GO --Backup the cert and transfer it to AGNode1 BACKUP CERTIFICATE AGNode2Cert TO FILE = 'C:\certs\AGNode2Cert.crt'; GO
Selanjutnya, buat titik akhir HADR, dan gunakan sertifikat untuk autentikasi dengan menjalankan pernyataan T-SQL ini:
--CREATE or ALTER the mirroring endpoint CREATE ENDPOINT hadr_endpoint STATE = STARTED AS TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE AGNode2Cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL ); GO
Gunakan File Explorer untuk masuk ke lokasi file tempat sertifikat Anda berada, seperti
c:\certs
.Buat salinan sertifikat secara manual, seperti
AGNode2Cert.crt
, dari salinan kedua, dan transfer ke lokasi yang sama pada salinan pertama.
Jika ada salinan lain dalam kluster, ulangi langkah-langkah ini di sana juga, memodifikasi nama sertifikat masing-masing.
Membuat info masuk
Autentikasi sertifikat digunakan untuk menyinkronkan data di seluruh simpul. Untuk mengizinkan ini, buat login untuk simpul lain, buat pengguna untuk masuk, buat sertifikat untuk masuk untuk menggunakan sertifikat yang dicadangkan, dan kemudian beri koneksi pada titik akhir pencerminan.
Untuk melakukannya, pertama-tama jalankan kueri T-SQL berikut pada simpul pertama, seperti AGNode1
:
--create a login for the AGNode2
USE master;
CREATE LOGIN AGNode2_Login WITH PASSWORD = 'PassWord123!';
GO
--create a user from the login
CREATE USER AGNode2_User FOR LOGIN AGNode2_Login;
GO
--create a certificate that the login uses for authentication
CREATE CERTIFICATE AGNode2Cert
AUTHORIZATION AGNode2_User
FROM FILE = 'C:\certs\AGNode2Cert.crt'
GO
--grant connect for login
GRANT CONNECT ON ENDPOINT::hadr_endpoint TO [AGNode2_login];
GO
Selanjutnya, jalankan kueri T-SQL berikut pada simpul kedua, seperti AGNode2
:
--create a login for the AGNode1
USE master;
CREATE LOGIN AGNode1_Login WITH PASSWORD = 'PassWord123!';
GO
--create a user from the login
CREATE USER AGNode1_User FOR LOGIN AGNode1_Login;
GO
--create a certificate that the login uses for authentication
CREATE CERTIFICATE AGNode1Cert
AUTHORIZATION AGNode1_User
FROM FILE = 'C:\certs\AGNode1Cert.crt'
GO
--grant connect for login
GRANT CONNECT ON ENDPOINT::hadr_endpoint TO [AGNode1_login];
GO
Jika ada simpul lain dalam kluster, ulangi langkah-langkah ini di sana juga, memodifikasi nama sertifikat masing-masing.
Mengonfigurasi grup ketersediaan
Dalam langkah ini, konfigurasikan grup ketersediaan Anda, dan tambahkan database Anda ke dalamnya. Jangan membuat listener pada saat ini. Jika Anda tidak terbiasa dengan langkah-langkahnya, lihat tutorial grup ketersediaan. Pastikan untuk memulai failover dan failback untuk memverifikasi bahwa semuanya berfungsi sebagaimana mestinya.
Catatan
Jika ada kegagalan selama proses sinkronisasi, Anda mungkin perlu memberikan hak NT AUTHORITY\SYSTEM
sysadmin untuk membuat sumber daya kluster pada simpul pertama, seperti AGNode1
secara sementara.
Mengonfigurasi load balancer
Dalam langkah terakhir ini, konfigurasikan penyeimbang muatan menggunakan portal Microsoft Azure atau PowerShell.
Namun, mungkin ada beberapa batasan saat menggunakan GUI Kluster Windows, dan dengan demikian, Anda harus menggunakan PowerShell untuk membuat titik akses klien atau nama jaringan untuk pendengar Anda dengan contoh skrip berikut:
Add-ClusterResource -Name "IPAddress1" -ResourceType "IP Address" -Group "WGAG"
Get-ClusterResource -Name IPAddress1 | Set-ClusterParameter -Multiple @{"Network" = "Cluster Network 1";"Address" = "10.0.0.4";"SubnetMask" = "255.0.0.0";"EnableDHCP" = 0}
Add-ClusterResource -Name "IPAddress2" -ResourceType "IP Address" -Group "WGAG"
Get-ClusterResource -Name IPAddress2 | Set-ClusterParameter -Multiple @{"Network" = "Cluster Network 2";"Address" = "10.0.0.5";"SubnetMask" = "255.0.0.0";"EnableDHCP" = 0}
Add-ClusterResource -Name "TestName" -Group "WGAG" -ResourceType "Network Name"
Get-ClusterResource -Name "TestName" | Set-ClusterParameter -Multiple @{"DnsName" = "TestName";"RegisterAllProvidersIP" = 1}
Set-ClusterResourceDependency -Resource TestName -Dependency "[IPAddress1] or [IPAddress2]"
Start-ClusterResource -Name TestName -Verbose
Langkah berikutnya
Setelah grup ketersediaan disebarkan, pertimbangkan untuk mengoptimalkan pengaturan HADR untuk SQL Server di Azure VM.
Untuk mempelajari selengkapnya, lihat: