Usa una imagen premium de SQL Server que tenga SQL Server 2022 preinstalado.
para proporcionar un voto de desempate y lograr un quórum para la situación de conmutación por error, implementa una tercera VM que sirva como testigo de archivos compartidos.
- Regresa a tu sesión actual de Cloud Shell.
Crea una secuencia de comandos de specialize para los nodos del clúster. La secuencia de comandos instala la función necesaria de Windows y crea reglas de firewall para el clúster de conmutación por error y 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 availability group listener netsh advfirewall firewall add rule name="Allow SQL Server Listener health check" dir=in action=allow protocol=TCP localport=59997 # Open firewall for the Failover Cluster netsh advfirewall firewall add rule name="Allow SQL Server health check" dir=in action=allow protocol=TCP localport=59998 # 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 # Format data disk Get-Disk | Where partitionstyle -eq 'RAW' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel 'Data' -Confirm:$false # Create data and log folders for SQL Server md d:\Data md d:\Logs EOF
Crea las instancias de VM. En las dos VMs que funcionan como nodos de clúster, conecta un disco de datos adicional y habilita el agrupamiento en clústeres de conmutación por error de Windows Server configurando la clave de metadatos
enable-wsfcentrue.REGION=$(gcloud config get-value compute/region) ZONE1=$(gcloud config get-value compute/zone) ZONE2=$(gcloud config get-value compute/zone) ZONE3=$(gcloud config get-value compute/zone) PD_SIZE=200 MACHINE_TYPE=n2-standard-8 gcloud compute instances create node-1 \ --zone $ZONE1 \ --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" \ --create-disk=name=node-1-datadisk,size=$PD_SIZE,type=pd-ssd,auto-delete=no \ --metadata enable-wsfc=true \ --metadata-from-file=sysprep-specialize-script-ps1=specialize-node.ps1 gcloud compute instances create node-2 \ --zone $ZONE2 \ --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" \ --create-disk=name=node-2-datadisk,size=$PD_SIZE,type=pd-ssd,auto-delete=no \ --metadata enable-wsfc=true \ --metadata-from-file=sysprep-specialize-script-ps1=specialize-node.ps1 gcloud compute instances create "witness" \ --zone $ZONE3 \ --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"
Para unir las 3 instancias de VM a Active Directory, haz lo siguiente para cada una de las 3 instancias de VM.
Supervisa el proceso de inicialización de la VM visualizando su salida de puerto en serie.
gcloud compute instances tail-serial-port-output
NAMEReemplaza
NAMEcon el nombre de la instancia de VM.Espera unos 3 minutos hasta que veas el resultado
Instance setup finishedy presiona Ctrl+C. En este punto, la instancia de VM está lista para usarse.Crea un nombre de usuario y una contraseña para la instancia de VM.
Conéctate a la VM mediante el escritorio remoto y accede con el nombre de usuario y la contraseña que creaste en el paso anterior.
Haz clic con el botón derecho en el botón Iniciar (o presiona Windows+X) y, luego, en Windows PowerShell (Admin).
- Para confirmar el símbolo de elevación, haz clic en Sí.
Une la computadora a tu dominio de Active Directory y reiníciala.
Add-Computer -Domain
DOMAIN -RestartReemplaza
DOMAINpor el nombre de DNS de tu dominio de Active Directory.Ingresa las credenciales de una cuenta que tenga permisos para unir una VM al dominio. Espera aproximadamente 1 minuto para que se complete el reinicio.