Tutorial ini memberikan ringkasan tentang cara mengonfigurasi lingkungan Google Cloud yang sangat tangguh untuk SQL Server yang diinstal di penyimpanan fileshare Server Message Block (SMB) menggunakan Layanan NetApp Cloud Volumes (CVS) untuk Google Cloud.
Grup ketersediaan Always On (AG) Microsoft SQL Server memungkinkan Anda mereplikasi database di beberapa instance SQL Server Enterprise. Instance SQL Server Always On tradisional biasanya mengharuskan setiap node mempertahankan salinan data, yang dapat dengan cepat menjadi mahal seiring pertumbuhan database. Misalnya, dalam deployment SQL Server Always On tradisional, jika database berukuran 10 TB, setiap replika harus menyediakan penyimpanan setidaknya 10 TB. Salah satu manfaat deployment Windows Server Failover Cluster (WSFC) untuk SQL Server adalah Anda hanya perlu memiliki satu salinan data, yang dibagikan di antara node cluster. Oleh karena itu, menjalankan SQL Server Always On di instance cluster failover (FCI) di WSFC dapat langsung menghemat biaya dengan mengurangi jumlah penyimpanan yang diperlukan.
NetApp Cloud Volumes Service adalah solusi penyimpanan cloud untuk menjalankan beban kerja SQL Server berperforma tinggi yang dikombinasikan dengan instance Compute Engine. Database SQL Server melalui SMB di Cloud Volumes Service memberikan tingkat ketahanan yang sangat tinggi antara instance Google Cloud dan layanan penyimpanan. SMB Transparent Failover memungkinkan operasi pemeliharaan di Layanan Volume Cloud tanpa mengganggu konektivitas ke aplikasi server yang menyimpan dan mengakses data di volume SMB. Untuk mendukung SMB Transparent Failover, Layanan Cloud Volumes mendukung opsi berbagi SMB continuous availability (CA) untuk digunakan dengan workload SQL Server. Hal ini memberikan peningkatan performa, skalabilitas, dan manfaat biaya untuk satu instance, instance cluster failover Always On (AOFC), dan deployment grup ketersediaan Always On.
Halaman ini ditujukan untuk administrator database Layanan NetApp Cloud Volumes dan SQL Server yang bertanggung jawab untuk men-deploy Microsoft SQL Server di Google Cloud. Hal ini mengasumsikan hal berikut:
- Anda memahami berbagai komponen solusi
- Anda telah men-deploy Active Directory di Google Cloud
Tujuan
Tutorial ini bertujuan untuk mencapai tujuan berikut:- Membuat volume Layanan Cloud Volumes untuk SQL Server
- Men-deploy cluster failover Always On melalui SMB di Layanan Cloud Volumes
Biaya
Tutorial ini menggunakan komponen Google Cloudyang dapat ditagih, termasuk:
Gunakan kalkulator harga untuk membuat perkiraan biaya berdasarkan penggunaan yang Anda proyeksikan.
Sebelum memulai
Untuk tutorial ini, Anda memerlukan proyek Google Cloud. Anda dapat membuat project baru atau memilih project yang sudah dibuat:
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Domain Active Directory dengan minimal satu pengontrol domain. Anda dapat membuat domain Active Directory dengan menggunakan Microsoft AD Terkelola. Atau, Anda dapat men-deploy lingkungan Active Directory kustom di Compute Engine dan menyiapkan zona penerusan DNS pribadi yang meneruskan kueri DNS ke pengontrol domain Anda.
- Pengguna Active Directory yang memiliki izin untuk menggabungkan komputer ke domain
dan dapat login menggunakan RDP. Jika menggunakan Microsoft AD Terkelola, Anda dapat menggunakan
pengguna
setupadmin
. - Project Google Cloud dan VPC dengan konektivitas ke pengontrol domain Active Directory Anda.
- Pastikan NetApp Cloud Volumes API diaktifkan untuk project Google Cloud Anda.
-
In the Google Cloud console, activate Cloud Shell.
Menyiapkan project dan jaringan
Untuk menyiapkan project Google Cloud dan Virtual Private Cloud (VPC) guna men-deploy grup ketersediaan SQL Server Always On, lakukan hal berikut:
Di konsol Google Cloud, buka Cloud Shell dengan mengklik tombol Aktifkan Cloud Shell
.
Lakukan inisialisasi variabel berikut:
VPC_NAME=
VPC_NAME
SUBNET_NAME=SUBNET_NAME
Ganti kode berikut:
VPC_NAME
: nama VPC AndaSUBNET_NAME
: nama subnet Anda
Tetapkan project ID default Anda:
gcloud config set project
PROJECT_ID
Ganti
PROJECT_ID
dengan ID project Google Cloud Anda.Tetapkan region default Anda:
gcloud config set compute/region
REGION
Ganti
REGION
dengan ID region tempat Anda ingin men-deploy.Tetapkan zona default Anda:
gcloud config set compute/zone
ZONE
Ganti
ZONE
dengan ID zona tempat Anda ingin men-deploy.
Membuat SMB di Layanan Cloud Volumes untuk SQL Server
Untuk membuat volume Layanan Cloud Volumes, Anda harus membuat kebijakan Active Directory, akses layanan pribadi, kumpulan penyimpanan, dan volume penyimpanan.
Untuk membuat Akses Layanan Pribadi baru, lakukan hal berikut:
Di Konsol Google Cloud, buka halaman VPC network.
Klik nama jaringan VPC yang akan Anda gunakan.
Klik tab Private Services Access, lalu klik Allocate IP Range.
- Masukkan nama untuk Rentang IP internal.
- Pilih Otomatis, dan masukkan nilai 24 untuk Panjang awalan.
- Klik tombol Alokasikan.
Klik tab Private Connections To Services, lalu lakukan hal berikut:
- Klik tombol Create Connection.
- Pilih rentang IP yang dialokasikan sebelumnya untuk drop-down Alokasi yang ditetapkan.
- Klik tombol Connect.
Untuk membuat kebijakan Active Directory baru, lakukan langkah berikut:
Di konsol Google Cloud, buka halaman NetApp Volumes.
Di panel Navigation, klik Active Directory policies di bagian Policies.
Klik tombol Create.
Tentukan nama untuk kebijakan Active Directory.
Di bagian Region, pilih region yang tersedia dan paling dekat dengan tempat instance SQL Server akan dihosting.
Di bagian Active Directory connection details, berikan informasi berikut:
- Nama domain
- Alamat server DNS Active Directory
- Nama situs Active Directory
- Nama unit organisasi
- Awalan nama NetBIOS
Di bagian Kredensial Active Directory, berikan kredensial untuk pengguna yang diizinkan untuk menggabungkan komputer ke domain yang ditentukan.
Di bagian Setelan SMB, berikan Operator Cadangan dan Pengguna hak istimewa keamanan, jika ada.
Klik Create untuk menyelesaikan proses pembuatan kebijakan Active Directory baru.
Untuk membuat penyimpanan pool baru, lakukan tindakan berikut:
- Di panel Navigasi, klik Storage pool di bagian Storage.
- Klik tombol Create.
- Masukkan nama untuk penyimpanan.
- Di bagian Location, pilih region yang tersedia yang paling dekat dengan tempat instance SQL Server akan dihosting.
- Pilih Tingkat Layanan yang akan memenuhi performa penyimpanan yang diharapkan.
- Masukkan Kapasitas untuk kumpulan penyimpanan. Kapasitas gabungan penyimpanan menentukan total kapasitas penyimpanan yang dapat dialokasikan untuk semua volume dalam gabungan.
- Di daftar Network, pilih VPC tempat instance SQL Server akan dihosting, sebagai berikut:
- Klik tombol Set Up Connection.
- Pilih rentang alamat IP yang dicadangkan di langkah sebelumnya, lalu klik Lanjutkan.
- Klik tombol Create Connection.
- Di bagian Active Directory policy, pilih Assign an Active Directory policy to the storage pool dan pilih kebijakan Active Directory yang dibuat di langkah sebelumnya.
- Klik tombol Create untuk menyelesaikan proses pembuatan penyimpanan gabungan baru.
Untuk membuat volume penyimpanan baru, lakukan langkah berikut:
- Di panel Navigation, klik Volumes di bagian Storage.
- Klik tombol Create.
- Tentukan nama untuk volume penyimpanan.
- Di bagian Detail kumpulan penyimpanan, klik Pilih kumpulan penyimpanan untuk memilih kumpulan penyimpanan yang dibuat di langkah sebelumnya.
- Di bagian Detail volume, berikan informasi berikut:
- Bagikan nama
- Kapasitas volume
- Di bagian Konfigurasi kapasitas besar, pilih protokol SMB.
- Di bagian Configuration for selected protocol(s), pilih Enable CA share support for SQL Server, FSLogix.
- Klik tombol Create untuk menyelesaikan proses pembuatan volume penyimpanan baru.
Membuat aturan firewall
Agar klien dapat terhubung ke SQL Server, mengizinkan komunikasi antara node Windows Server Failover Cluster (WSFC), dan mengaktifkan load balancer untuk melakukan health check, Anda perlu membuat beberapa aturan firewall. Untuk menyederhanakan pembuatan aturan firewall ini, Anda dapat menggunakan tag jaringan:
- WSFC yang Anda gunakan dianotasi dengan tag
wsfc-node
. - Semua server, termasuk saksi, dianotasi dengan tag
wsfc
.
Untuk membuat aturan firewall yang menggunakan tag jaringan ini, gunakan langkah-langkah berikut:
- Kembali ke sesi Cloud Shell yang ada.
Buat aturan firewall untuk node WSFC.
SUBNET_CIDR=$(gcloud compute networks subnets describe $SUBNET_NAME --format=value\('ipCidrRange'\)) gcloud compute firewall-rules create allow-all-between-wsfc-nodes \ --direction=INGRESS \ --action=allow \ --rules=tcp,udp,icmp \ --enable-logging \ --source-tags=wsfc \ --target-tags=wsfc \ --network=$VPC_NAME \ --priority 10000 gcloud compute firewall-rules create allow-sql-to-wsfc-nodes \ --direction=INGRESS \ --action=allow \ --rules=tcp:1433 \ --enable-logging \ --source-ranges=$SUBNET_CIDR \ --target-tags=wsfc-node \ --network=$VPC_NAME \ --priority 10000
Buat aturan firewall yang mengizinkan health check dari rentang IP Google Cloud penguji:
gcloud compute firewall-rules create allow-health-check-to-wsfc-nodes \ --direction=INGRESS \ --action=allow \ --rules=tcp \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=wsfc-node \ --network=$VPC_NAME \ --priority 10000
Membuat instance VM
Sekarang Anda akan men-deploy tiga instance VM untuk cluster failover.
Node-1
akan menghosting replika utama database SQL Server,
dan node-2
akan menghosting replika sekunder. Kedua instance VM tersebut harus:
- berada di region yang sama sehingga dapat diakses oleh Load Balancer Jaringan passthrough internal
telah menginstal WSFC dan SQL Server 2022 menggunakan image premium SQL Server
telah mengaktifkan dukungan Compute Engine WSFC
Untuk memberikan suara penentu setelah hasil imbang dan mencapai kuorum untuk skenario failover,
Anda men-deploy instance VM ketiga node-3
yang berfungsi sebagai
saksi fitur berbagi file.
- Kembali ke sesi Cloud Shell yang ada.
Buat skrip untuk node WSFC. Skrip ini menginstal fitur Windows yang diperlukan serta membuat aturan firewall untuk WSFC dan SQL Server:
cat << "EOF" > specialize-node.ps1 $ErrorActionPreference = "stop" # Install required Windows features Install-WindowsFeature Failover-Clustering -IncludeManagementTools Install-WindowsFeature RSAT-AD-PowerShell # Open firewall for WSFC netsh advfirewall firewall add rule name="Allow SQL Server health check" dir=in action=allow protocol=TCP localport=59997 # Open firewall for SQL Server netsh advfirewall firewall add rule name="Allow SQL Server" dir=in action=allow protocol=TCP localport=1433 # Open firewall for SQL Server replication netsh advfirewall firewall add rule name="Allow SQL Server replication" dir=in action=allow protocol=TCP localport=5022 EOF
Buat instance VM. Pada dua VM yang berfungsi sebagai node WSFC, pasang disk data tambahan dan aktifkan Cluster Failover Windows Server dengan menetapkan kunci metadata
enable-wsfc
ketrue
:REGION=$(gcloud config get-value compute/region) PD_SIZE=200 MACHINE_TYPE=n2-standard-8 gcloud compute instances create node-1 \ --zone $REGION-a \ --machine-type $MACHINE_TYPE \ --subnet $SUBNET_NAME \ --image-family sql-ent-2022-win-2022 \ --image-project windows-sql-cloud \ --tags wsfc,wsfc-node \ --boot-disk-size 50 \ --boot-disk-type pd-ssd \ --boot-disk-device-name "node-1" \ --metadata enable-wsfc=true \ --metadata-from-file=sysprep-specialize-script-ps1=specialize-node.ps1 gcloud compute instances create node-2 \ --zone $REGION-b \ --machine-type $MACHINE_TYPE \ --subnet $SUBNET_NAME \ --image-family sql-ent-2022-win-2022 \ --image-project windows-sql-cloud \ --tags wsfc,wsfc-node \ --boot-disk-size 50 \ --boot-disk-type pd-ssd \ --boot-disk-device-name "node-2" \ --metadata enable-wsfc=true \ --metadata-from-file=sysprep-specialize-script-ps1=specialize-node.ps1 gcloud compute instances create "witness" \ --zone $REGION-c \ --machine-type n2-standard-2 \ --subnet $SUBNET_NAME \ --image-family=windows-2022 \ --image-project=windows-cloud \ --tags wsfc \ --boot-disk-size 50 \ --boot-disk-type pd-ssd \ --metadata sysprep-specialize-script-ps1="add-windowsfeature FS-FileServer"
Untuk menggabungkan 3 instance VM ke Active Directory, lakukan hal berikut untuk masing-masing dari 3 instance VM:
Pantau proses inisialisasi VM dengan melihat output port serialnya:
gcloud compute instances tail-serial-port-output
NAME
Ganti
NAME
dengan nama instance VM.Tunggu beberapa menit hingga Anda melihat output
Instance setup finished
, lalu tekan Ctrl+C. Pada tahap ini, instance VM siap digunakan.Buat nama pengguna dan sandi untuk instance VM.
Hubungkan ke VM menggunakan Desktop Jarak Jauh dan login menggunakan nama pengguna dan sandi yang dibuat di langkah sebelumnya.
Klik kanan tombol Start (atau tekan Win+X), lalu klik Windows PowerShell (Admin).
Konfirmasi prompt elevasi dengan mengklik Yes.
Gabungkan instance VM ke domain Active Directory Anda, lalu mulai ulang:
Add-Computer -Domain
DOMAIN -Restart
Ganti
DOMAIN
dengan nama DNS domain Active Directory Anda.Tunggu hingga instance VM dimulai ulang.
Menetapkan izin penyimpanan
Untuk menetapkan izin ke penyimpanan volume cloud, selesaikan langkah-langkah berikut:
Dari konsol Google Cloud, pilih Cloud Volumes, lalu pilih volume yang baru saja dibuat.
Hubungkan ke
node-1
menggunakan Desktop Jarak Jauh. Login dengan akun pengguna domain Anda.Buka Windows Explorer, lalu klik kanan This PC.
Pilih Peta drive jaringan.
Tempel jalur SMB yang disalin di folder.
Saat login, nonaktifkan opsi Hubungkan Kembali.
Klik Selesai.
Klik kanan drive jaringan yang dipetakan, lalu pilih Properties.
Dari tab Security, klik Edit.
Hapus Semua orang dan tambahkan penginstal SQL Server dan akun layanan SQL Server dengan izin kontrol penuh.
Konfirmasi prompt elevasi dengan mengklik Yes.
Mencadangkan alamat IP cluster
Reservasi dua alamat IP statis di VPC Anda, satu untuk alamat IP cluster WSFC dan satu lagi untuk load balancer internal.
Cadangkan IP statis untuk load balancer internal dan ambil alamatnya dalam variabel lingkungan baru bernama
LOADBALANCER_ADDRESS
:gcloud compute addresses create wsfc \ --region $(gcloud config get-value compute/zone | rev | cut -c 3- | rev) \ --subnet $SUBNET_NAME LOADBALANCER_ADDRESS=$(gcloud compute addresses describe wsfc \ --region $(gcloud config get-value compute/zone | rev | cut -c 3- | rev) \ --format=value\(address\)) && \ echo "Load Balancer IP: $LOADBALANCER_ADDRESS"
Catat alamat IP-nya karena Anda akan memerlukannya nanti.
Cadangkan alamat IP statis lainnya yang Anda gunakan sebagai IP cluster:
gcloud compute addresses create wsfc-cluster \ --subnet $SUBNET_NAME \ --region $(gcloud config get-value compute/zone | rev | cut -c 3- | rev) && \ CLUSTER_ADDRESS=$(gcloud compute addresses describe wsfc-cluster \ --region $(gcloud config get-value compute/zone | rev | cut -c 3- | rev) \ --format=value\(address\)) && \ echo "Cluster IP: $CLUSTER_ADDRESS"
Catat alamat IP-nya karena Anda akan memerlukannya nanti.
Project dan VPC Anda kini siap untuk men-deploy WSFC dan SQL Server.
Buat berbagi file saksi
Untuk menyiapkan witness
agar berfungsi sebagai saksi berbagi file, buat fitur berbagi file dan beri
diri Anda serta dua node WSFC akses ke berbagi file:
- Hubungkan ke
witness
menggunakan Desktop Jarak Jauh. Login dengan akun pengguna domain Anda. - Klik kanan tombol Start (atau tekan Win+X), lalu klik Windows PowerShell (Admin).
- Konfirmasi prompt elevasi dengan mengklik Yes.
Buat folder saksi dan bagikan foldernya:
New-Item "C:\QWitness" –type directory icacls C:\QWitness\ /grant 'node-1$:(OI)(CI)(M)' icacls C:\QWitness\ /grant 'node-2$:(OI)(CI)(M)' New-SmbShare ` -Name QWitness ` -Path "C:\QWitness" ` -Description "SQL File Share Witness" ` -FullAccess $env:username,node-1$,node-2$
Men-deploy cluster failover
Sekarang Anda akan menggunakan instance VM untuk men-deploy WSFC dan SQL Server.
Men-deploy WSFC
Sekarang Anda siap membuat cluster failover:
- Hubungkan ke
node-1
menggunakan Desktop Jarak Jauh. Login dengan akun pengguna domain Anda. - Klik kanan tombol Start (atau tekan Win+X), lalu klik Windows PowerShell (Admin).
- Konfirmasi prompt elevasi dengan mengklik Yes.
Buat cluster baru:
New-Cluster ` -Name windows-fci ` -Node node-1,node-2 ` -NoStorage ` -StaticAddress
CLUSTER_ADDRESS
Ganti
CLUSTER_ADDRESS
dengan alamat IP cluster yang Anda buat sebelumnya.Kembali ke sesi PowerShell di
witness
, lalu berikan izin mengakses fitur berbagi file kepada objek komputer virtual cluster tersebut:icacls C:\QWitness\ /grant 'windows-fci$:(OI)(CI)(M)' Grant-SmbShareAccess ` -Name QWitness ` -AccountName 'windows-fci$' ` -AccessRight Full ` -Force
Kembali ke sesi PowerShell di
node-1
, lalu konfigurasikan cluster untuk menggunakan fitur berbagi file diwitness
sebagai kuorum cluster:Set-ClusterQuorum -FileShareWitness \\witness\QWitness
Pastikan bahwa cluster berhasil dibuat:
Test-Cluster
Anda mungkin melihat beberapa peringatan yang dapat diabaikan dengan aman:
WARNING: System Configuration - Validate All Drivers Signed: The test reported some warnings.. WARNING: Network - Validate Network Communication: The test reported some warnings.. WARNING: Test Result: HadUnselectedTests, ClusterConditionallyApproved Testing has completed for the tests you selected. You should review the warnings in the Report. A cluster solution is supported by Microsoft only if you run all cluster validation tests, and all tests succeed (with or without warnings).
Anda juga dapat meluncurkan snap-in MMC Pengelola Cluster Failover untuk meninjau kondisi cluster dengan menjalankan
cluadmin.msc
.Jika Anda menggunakan AD Terkelola, tambahkan akun komputer yang digunakan oleh WSFC ke grup Akun Penggabungan Domain Layanan Cloud agar dapat menggabungkan instance VM ke domain:
Add-ADGroupMember ` -Identity "Cloud Service Domain Join Accounts" ` -Members windows-fci$
Menghapus penginstalan SQL Server default
Sekarang Anda akan menghapus penginstalan SQL Server default dari kedua node dan menggantinya dengan konfigurasi FCI baru.
Untuk masing-masing dari dua node WSFC, node-1
dan node-2
, lakukan langkah-langkah berikut:
- Klik kanan tombol Start (atau tekan Win+X), lalu klik Windows PowerShell (Admin).
- Konfirmasi prompt elevasi dengan mengklik Yes.
Hapus instance SQL Server default:
C:\sql_server_install\Setup.exe /Action=Uninstall /FEATURES=SQL,AS,IS,RS /INSTANCENAME=MSSQLSERVER /Q
Menghapus Driver OLE Microsoft:
Get-Package -Name "Microsoft OLE*" | Uninstall-Package -Force
Menghapus Driver ODBC Microsoft:
Get-Package -Name "Microsoft ODBC*" | Uninstall-Package -Force
Mulai ulang komputer:
Restart-Computer
Tunggu hingga instance VM dimulai ulang.
Menginstal FCI SQL Server
Sebelum menginstal konfigurasi FCI baru, pastikan bahwa node-1
adalah
node aktif di cluster:
- Hubungkan kembali ke
node-1
menggunakan Desktop Jarak Jauh, lalu login menggunakan pengguna domain Anda. - Klik kanan tombol Mulai (atau tekan Win+X), lalu pilih Jalankan.
- Masukkan
cluadmin.msc
lalu pilih OK. Di panel jendela kiri, buka Failover Cluster Manager > windows-fci, lalu lakukan tindakan berikut:
Pastikan bahwa server host saat ini disetel ke
node-1
.Jika server host saat ini disetel ke
node-2
, klik kanan windows-fci di panel jendela kiri, lalu pilih Tindakan lainnya > Pindahkan resource cluster inti> Pilih node… > node-1 lalu klik OK.
Anda akan membuat penginstalan cluster failover SQL Server baru di node-1
:
- Klik kanan tombol Start (atau tekan Win+X), lalu klik Windows PowerShell (Admin).
Konfirmasi prompt elevasi dengan mengklik Yes.
Mulai penyiapan SQL Server:
& c:\sql_server_install\setup.exe
Di menu di sebelah kiri, pilih Penginstalan.
Pilih Penginstalan cluster failover SQL Server baru.
Di halaman Edition, masukkan kunci produk, pilih jenis lisensi software, lalu klik Next.
Di halaman Persyaratan Lisensi, pelajari persyaratan dan, jika Anda menyetujuinya, klik Berikutnya.
Di halaman Microsoft Update, klik Berikutnya untuk memulai penginstalan.
Di halaman Aturan Penginstalan Cluster Failover, Anda akan melihat Peringatan Peringatan verifikasi cluster MSCS dan firewall Windows. Anda dapat mengabaikan peringatan ini dan mengklik Berikutnya.
Di halaman Pemilihan Fitur, pilih Layanan Mesin Database, lalu klik Berikutnya.
Di halaman Instance Configuration, masukkan
sql
sebagai nama jaringan, lalu klik Next.Di halaman Grup Resource Cluster, Anda dapat mengabaikan peringatan kualifikasi dan mengklik Berikutnya.
Di halaman Pemilihan Disk Cluster, klik Berikutnya.
Di halaman Cluster Network Configuration, konfigurasikan setelan berikut, lalu klik Next:
- DHCP: kosong
- Alamat IP: masukkan alamat IP load balancer internal
Di halaman Konfigurasi server, konfigurasikan setelan berikut untuk SQL Server Agent dan SQL Server Database Engine:
- Nama akun:
DOMAIN\sql_server
denganDOMAIN
adalah nama NetBIOS domain Active Directory Anda - Sandi: masukkan sandi pengguna
sql_server
- Nama akun:
Pilih tab Kolasi, lalu pilih kolasi yang ingin Anda gunakan. Kemudian klik Berikutnya.
Di halaman Konfigurasi Mesin Database, pilih Tambahkan pengguna saat ini untuk menetapkan pengguna saat ini sebagai administrator SQL Server. Di tab Data Directories, masukkan jalur SMB di kolom Data root directory, lalu pilih Next. Jendela pesan akan muncul yang memberi tahu Anda untuk memverifikasi bahwa akun layanan SQL Server memiliki izin berbagi kontrol penuh. Pilih Ya untuk melanjutkan.
Di halaman Siap Menginstal, tinjau setelan, lalu pilih Instal.
Setelah penginstalan selesai, pilih Tutup.
Sekarang tambahkan node-2
ke cluster failover SQL Server:
- Hubungkan ke
node-2
menggunakan Desktop Jarak Jauh, lalu login menggunakan pengguna domain Anda. - Klik kanan tombol Start (atau tekan Win+X), lalu klik Windows PowerShell (Admin).
- Konfirmasi prompt elevasi dengan mengklik Yes.
Mulai penyiapan SQL Server:
& c:\sql_server_install\setup.exe
Di menu di sebelah kiri, pilih Penginstalan.
Pilih Tambahkan node ke cluster failover SQL Server.
Ikuti petunjuk wizard penginstalan dan setujui setelan default hingga Anda mencapai halaman Akun Layanan.
Di halaman Akun Layanan, masukkan sandi yang Anda buat sebelumnya untuk SQL Server Agent dan SQL Server Database Engine. Kemudian pilih Berikutnya.
Di halaman Siap Menginstal, tinjau setelan, lalu pilih Instal.
Setelah penginstalan selesai, pilih Tutup.
Mengonfigurasi health check
Sebagai langkah terakhir, konfigurasikan cluster untuk mengekspos endpoint health check yang dapat digunakan oleh load balancer internal:
- Kembali ke sesi PowerShell di
node-2
Lakukan inisialisasi variabel dengan alamat IP load balancer.
$LoadBalancerIP = '
IP_ADDRESS
'Ganti
IP_ADDRESS
dengan alamat IP dari alamatwsfc
yang Anda cadangkan sebelumnya.Konfigurasikan Cluster Failover untuk merespons layanan health check:
$SqlGroup = Get-ClusterGroup | Where-Object {$_.Name.StartsWith("SQL Server")} $SqlIpAddress = Get-ClusterResource | Where-Object {$_.Name.StartsWith("SQL IP Address")} $SqlIpAddress | Set-ClusterParameter -Multiple @{ 'Address'=$LoadBalancerIP; 'ProbePort'= 59997; 'SubnetMask'='255.255.255.255'; 'Network'= (Get-ClusterNetwork).Name; 'EnableDhcp'=0; }
Mulai ulang resource cluster:
$SqlIpAddress | Stop-ClusterResource $SqlIpAddress | Start-ClusterResource
Mulai ulang grup cluster:
$SqlGroup | Stop-ClusterGroup $SqlGroup | Start-ClusterGroup
Membuat load balancer internal
Untuk menyediakan satu endpoint bagi klien SQL Server, Anda sekarang akan men-deploy load balancer internal. Load balancer menggunakan health check yang memastikan bahwa traffic diarahkan ke node aktif WSFC.
- Kembali ke sesi Cloud Shell yang ada.
Buat grup instance tidak terkelola, lalu tambahkan dua node ke grup itu:
REGION=$(gcloud config get-value compute/region) gcloud compute instance-groups unmanaged create wsfc-group-a \ --zone $REGION-a gcloud compute instance-groups unmanaged add-instances wsfc-group-a \ --zone $REGION-a --instances node-1 gcloud compute instance-groups unmanaged create wsfc-group-b \ --zone $REGION-b gcloud compute instance-groups unmanaged add-instances wsfc-group-b \ --zone $REGION-b --instances node-2
Buat health check yang dapat digunakan oleh load balancer untuk memastikan mana yang merupakan node aktif.
gcloud compute health-checks create tcp wsfc-healthcheck \ --check-interval="2s" \ --healthy-threshold=1 \ --unhealthy-threshold=2 \ --port=59997 \ --timeout="1s"
Port pemeriksaan health check
59997
, yaitu port yang sebelumnya Anda konfigurasikan sebagaiProbePort
untuk alamat IP cluster WSFC.Buat layanan backend, lalu tambahkan grup instance:
gcloud compute backend-services create wsfc-backend \ --load-balancing-scheme internal \ --region $REGION \ --health-checks wsfc-healthcheck \ --protocol tcp gcloud compute backend-services add-backend wsfc-backend \ --instance-group wsfc-group-a \ --instance-group-zone $REGION-a \ --region $REGION gcloud compute backend-services add-backend wsfc-backend \ --instance-group wsfc-group-b \ --instance-group-zone $REGION-b \ --region $REGION
Buat load balancer internal:
gcloud compute forwarding-rules create wsfc-sql \ --load-balancing-scheme internal \ --address $LOADBALANCER_ADDRESS \ --ports 1433 \ --network $VPC_NAME \ --subnet $SUBNET_NAME \ --region $REGION \ --backend-service wsfc-backend
Menguji cluster failover
Penginstalan cluster failover telah selesai, tetapi Anda masih harus menguji apakah cluster berfungsi dengan benar.
Menyiapkan klien
Buat instance VM baru yang dapat Anda gunakan untuk terhubung dengan cluster failover:
- Kembali ke sesi Cloud Shell yang ada.
Buat instance VM baru:
gcloud compute instances create sqlclient \ --machine-type n2-standard-2 \ --subnet $SUBNET_NAME \ --image-family sql-ent-2022-win-2022 \ --image-project windows-sql-cloud \ --boot-disk-size 50 \ --boot-disk-type pd-ssd
Pantau proses inisialisasi VM dengan melihat output port serialnya:
gcloud compute instances tail-serial-port-output sqlclient
Tunggu beberapa menit hingga Anda melihat penyiapan Instance output selesai, lalu tekan Ctrl+C. Pada tahap ini, instance VM siap digunakan.
Buat nama pengguna dan sandi untuk instance VM.
Hubungkan ke VM menggunakan Desktop Jarak Jauh dan login menggunakan nama pengguna dan sandi yang dibuat di langkah sebelumnya.
Klik kanan tombol Start (atau tekan Win+X), lalu klik Windows PowerShell (Admin).
Konfirmasi prompt elevasi dengan mengklik Yes.
Gabungkan instance VM ke domain Active Directory Anda:
Add-Computer -Domain
DOMAIN
Ganti
DOMAIN
dengan nama DNS domain Active Directory Anda.Mulai ulang instance VM:
Restart-Computer
Tunggu hingga instance VM dimulai ulang.
Menjalankan pengujian
Gunakan VM sqlclient
untuk menguji apakah Anda dapat terhubung dengan cluster failover dan
untuk memastikan bahwa failover berfungsi dengan benar:
- Hubungkan ke
sqlclient
menggunakan Desktop Jarak Jauh, lalu login menggunakan pengguna domain Anda. - Klik kanan tombol Start (atau tekan Win+X), lalu klik Windows PowerShell.
Hubungkan ke cluster SQL Server menggunakan nama jaringannya
sql
, lalu buat kueri tabeldm_os_cluster_nodes
:& "$env:ProgramFiles\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\SQLCMD.EXE" ` -S sql -E -Q "SELECT * FROM sys.dm_os_cluster_nodes"
Output-nya akan terlihat seperti ini:
NodeName status status_description is_current_owner ------------------------------ ----------- ------------------ ---------------- NODE-1 0 up 1 NODE-2 0 up 0 (2 rows affected)
Perhatikan bahwa
node-1
adalah pemilik resource cluster failover SQL Server saat ini.Kembali ke Cloud Shell, lalu turunkan VM node-1 untuk menguji skenario failover:
gcloud compute instances stop node-1
Ulangi kueri:
& "$env:ProgramFiles\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\SQLCMD.EXE" ` -S sql -E -Q "SELECT * FROM sys.dm_os_cluster_nodes"
Output Anda sekarang akan terlihat seperti ini:
NodeName status status_description is_current_owner ------------------------------ ----------- ------------------ ---------------- NODE-1 1 down 0 NODE-2 0 up 1 (2 rows affected)
Perhatikan bahwa meskipun
node-1
hilang, kueri berhasil, dan menunjukkan bahwanode-2
sekarang menjadi pemilik cluster failover saat ini.
Pembersihan
Setelah menyelesaikan tutorial, Anda dapat membersihkan resource yang dibuat agar resource tersebut berhenti menggunakan kuota dan dikenai biaya. Bagian berikut menjelaskan cara menghapus atau menonaktifkan resource ini.
Menghapus project
Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.