Tutorial ini memberikan ringkasan tentang cara mengonfigurasi infrastruktur Google Cloud yang sangat tangguh lingkungan untuk SQL Server yang diinstal di penyimpanan fileshare Server (SMB) menggunakan NetApp Cloud Volumes Service (CVS) untuk Google Cloud.
Grup ketersediaan Selalu Aktif Microsoft SQL Server (AG) memungkinkan Anda mereplikasi database di beberapa instance SQL Server Enterprise. Instance Selalu Aktif SQL Server tradisional biasanya memerlukan setiap node untuk mempertahankan salinan data, yang dapat dengan cepat menjadi mahal saat database berkembang. Misalnya, dalam deployment Selalu Aktif SQL Server tradisional, jika database berukuran 10 TB, setiap replika harus memiliki penyimpanan minimal 10 TB disediakan. Salah satu manfaat memiliki Windows Server Failover Cluster (WSFC) di-deploy 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 dalam instance cluster failover (FCI) pada WSFC dapat langsung mewujudkan penghematan biaya dengan mengurangi jumlah penyimpanan yang diperlukan.
NetApp Cloud Volumes Service adalah solusi penyimpanan cloud untuk menjalankan workload 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 Cloud Volumes Service tanpa mengganggu konektivitas ke aplikasi server yang menyimpan dan mengakses data di volume SMB. Untuk mendukung Failover Transparan SMB, Cloud Volumes Service mendukung opsi berbagi ketersediaan berkelanjutan (CA) SMB untuk digunakan dengan beban kerja SQL Server. Layanan ini memberikan peningkatan performa, skalabilitas, dan manfaat biaya untuk instance tunggal, instance cluster failover Selalu Aktif (AOFC), dan deployment grup ketersediaan Selalu Aktif.
Halaman ini ditujukan untuk NetApp Cloud Volumes Service dan database SQL Server administrator yang bertanggung jawab untuk men-deploy Microsoft SQL Server di Google Cloud. Ini dengan asumsi 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 Cloud yang dapat ditagih, termasuk:
Gunakan kalkulator harga untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan.
Sebelum memulai
Untuk tutorial ini, Anda memerlukan proyek Google Cloud. Anda dapat membuat yang baru, atau pilih project yang sudah Anda buat:
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
- 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 sudah diaktifkan untuk project Google Cloud Anda.
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Menyiapkan project dan jaringan
Menyiapkan project Google Cloud dan Virtual Private Cloud (VPC) untuk deployment SQL Server Grup ketersediaan Selalu Aktif, lakukan tindakan berikut:
Di Konsol Google Cloud, buka Cloud Shell dengan mengklik Mengaktifkan Cloud Shell tombol.
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 Cloud Volumes Service 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 Allocate.
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 tindakan berikut:
Di konsol Google Cloud, buka halaman NetApp Volumes.
Di panel Navigation, klik Active Directory policies pada bagian Policies.
Klik tombol Create.
Tentukan nama untuk kebijakan Active Directory.
Pada Region, pilih region yang tersedia terdekat 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 Active Directory credentials, 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 berlaku.
Klik Create untuk menyelesaikan proses pembuatan kebijakan Active Directory baru.
Untuk membuat penyimpanan pool baru, lakukan tindakan berikut:
- Di panel Navigasi, klik Storage pool pada bagian Storage.
- Klik tombol Create.
- Masukkan nama untuk penyimpanan gabungan.
- Di bagian Location, pilih region yang tersedia paling dekat dengan tempat instance SQL Server akan dihosting.
- Pilih Tingkat Layanan yang akan memenuhi performa penyimpanan yang diharapkan.
- Masukkan Kapasitas untuk penyimpanan gabungan. Kapasitas gabungan penyimpanan menentukan total kapasitas penyimpanan yang dapat dialokasikan untuk semua volume dalam gabungan.
- Dalam 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 dan klik Lanjutkan.
- Klik tombol Create Connection.
- Di bagian Kebijakan Active Directory, pilih Tetapkan kebijakan Active Directory ke kumpulan penyimpanan, lalu pilih kebijakan Active Directory yang dibuat pada 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 pada bagian Storage.
- Klik tombol Create.
- Tentukan nama untuk volume penyimpanan.
- Di bagian Detail penyimpanan gabungan, klik Pilih penyimpanan gabungan untuk memilih penyimpanan gabungan yang dibuat pada langkah sebelumnya.
- Di bagian Detail volume, berikan informasi berikut:
- Nama yang dibagikan
- Kapasitas volume
- Di bagian Large kapasitas configuration, pilih SMB protocol.
- 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
Untuk mengizinkan klien terhubung ke SQL Server, izinkan komunikasi antara Windows Server Failover Cluster (WSFC) dan mengaktifkan load balancer melakukan health check, Anda harus membuat beberapa aturan firewall. Untuk menyederhanakan pembuatan aturan firewall, 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, ikuti 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 penguji Google Cloud:
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:
- ditempatkan di region yang sama sehingga dapat diakses Load Balancer Jaringan passthrough internal
menginstal WSFC dan SQL Server 2022 menggunakan image premium SQL Server
mengaktifkan dukungan WSFC Compute Engine
Untuk memberikan pemungutan suara yang mengikat dan mencapai kuorum untuk skenario failover,
Anda akan men-deploy instance VM ketiga node-3
yang berfungsi sebagai
saksi 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 dialog elevasi dengan mengklik Ya.
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 dan 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 ke dalam folder.
Saat login, nonaktifkan opsi Hubungkan kembali.
Klik Selesai.
Klik kanan drive jaringan yang dipetakan, lalu pilih Properties.
Dari tab Keamanan, klik Edit.
Menghapus Semua Orang dan menambahkan penginstal SQL Server dan akun layanan SQL Server dengan izin kontrol penuh.
Konfirmasi dialog elevasi dengan mengklik Ya.
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, Anda akan membutuhkannya 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 dialog elevasi dengan mengklik Ya.
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
Anda sekarang 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 dialog elevasi dengan mengklik Ya.
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 IKLAN Terkelola, tambahkan akun komputer yang digunakan oleh WSFC ke Cloud Service Domain Join Accounts agar dapat bergabung ke instance VM ke domain:
Add-ADGroupMember ` -Identity "Cloud Service Domain Join Accounts" ` -Members windows-fci$
Menghapus penginstalan SQL Server default
Anda sekarang akan menghapus instalasi SQL Server {i>default<i} dari kedua {i>node<i} dan mengganti 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 dialog elevasi dengan mengklik Ya.
Hapus instance SQL Server default:
C:\sql_server_install\Setup.exe /Action=Uninstall /FEATURES=SQL,AS,IS,RS /INSTANCENAME=MSSQLSERVER /Q
Hapus Microsoft OLE Driver:
Get-Package -Name "Microsoft OLE*" | Uninstall-Package -Force
Hapus Driver Microsoft ODBC:
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:
- Menghubungkan kembali ke
node-1
menggunakan Desktop Jarak Jauh dan login menggunakan domain Anda. - Klik kanan tombol Mulai (atau tekan Win+X), lalu pilih Jalankan.
- Masukkan
cluadmin.msc
lalu pilih OK. Di panel jendela sebelah kiri, buka Failover Cluster Manager > windows-fci, lalu lakukan langkah 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 pada node-1
:
- Klik kanan tombol Start (atau tekan Win+X), lalu klik Windows PowerShell (Admin).
Konfirmasi dialog elevasi dengan mengklik Ya.
Mulai penyiapan SQL Server:
& c:\sql_server_install\setup.exe
Di menu di sebelah kiri, pilih Penginstalan.
Pilih New SQL Server failover cluster installation.
Di halaman Edition, masukkan kunci produk, pilih jenis lisensi software, lalu klik Next.
Di halaman Persyaratan Lisensi, tinjau persyaratannya, lalu klik Berikutnya jika Anda menyetujuinya.
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, lalu mengklik Berikutnya.
Pada halaman Feature Selection, pilih Database Engine Services lalu klik Next.
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 Database Engine Configuration, pilih Add current user untuk menetapkan pengguna saat ini sebagai administrator SQL Server. Di tab Data Directories, masukkan jalur SMB di kolom Data root directory dan 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 dan login menggunakan domain Anda. - Klik kanan tombol Start (atau tekan Win+X), lalu klik Windows PowerShell (Admin).
- Konfirmasi dialog elevasi dengan mengklik Ya.
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 endpoint tunggal 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 sampai 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
Menghubungkan 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 dialog elevasi dengan mengklik Ya.
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 dan login menggunakan 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 dan hapus 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:
- Di konsol Google Cloud, buka halaman Manage resource.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.