Este tutorial fornece uma visão geral de como configurar um sistema altamente resiliente Google Cloudambiente para SQL Server instalado no armazenamento de compartilhamento de arquivos Server Message Block (SMB) usando NetApp Cloud Volumes Service (CVS) para Google Cloud.
Os grupos de disponibilidade (AG) Always On do Microsoft SQL Server permitem replicar bancos de dados em várias instâncias do SQL Server Enterprise. As instâncias Always On tradicionais do SQL Server normalmente exigem que cada nó mantenha uma cópia dos dados, o que pode rapidamente se tornar caro à medida que os bancos de dados crescem. Por exemplo, em uma implantação tradicional do SQL Server Always On, se os bancos de dados tiverem 10 TB de tamanho, cada réplica deverá ter pelo menos 10 TB de armazenamento provisionado. Um dos benefícios de ter um Cluster de Failover do Windows Server (WSFC) implantado para SQL Server é que você só precisa ter uma cópia dos dados, que é compartilhada entre os nós do cluster. Portanto, executar o SQL Server Always On em uma instância de cluster de failover (FCI) em um WSFC pode obter economias de custos imediatamente, reduzindo a quantidade de armazenamento necessária.
O NetApp Cloud Volumes Service é uma solução de armazenamento em nuvem para executar cargas de trabalho de alto desempenho do SQL Server em combinação com instâncias de mecanismo de computação. O banco de dados SQL Server sobre SMB no Cloud Volumes Service fornece um nível muito alto de resiliência entre o Google Cloud instâncias e o serviço de armazenamento. O Failover Transparente para SMB permite operações de manutenção no Cloud Volumes Service sem interromper a conectividade com aplicativos de servidor que armazenam e acessam dados em volumes SMB. Para oferecer suporte ao failover transparente SMB, o Cloud Volumes Service oferece suporte à opção de compartilhamentos de CA (disponibilidade contínua) SMB para uso com cargas de trabalho do SQL Server. Isso fornece melhorias de desempenho, escalabilidade e benefícios de custo para instâncias únicas, instâncias de cluster de failover Always On (AOFC) e implantações de grupos de disponibilidade Always On.
Esta página é destinada a administradores de banco de dados NetApp Cloud Volumes Service e SQL Server responsáveis pela implantação do Microsoft SQL Server em Google Cloud. Ele assume o seguinte:
- Você está familiarizado com os vários componentes da solução
- Você já implantou o Active Directory no Google Cloud
Objetivos
Este tutorial visa atingir os seguintes objetivos:- Criar um volume do Cloud Volumes Service para SQL Server
- Implantar cluster de failover Always On sobre SMB no Cloud Volumes Service
Custos
Este tutorial usa componentes faturáveis de Google Cloud, incluindo:
Use a calculadora de preços para gerar uma estimativa de custo com base no uso projetado.
Antes de começar
Para este tutorial, você precisa de um projeto do Google Cloud. Você pode criar um novo ou selecionar um projeto já criado:
-
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.
- Um domínio do Active Directory com pelo menos um controlador de domínio. Você pode criar um domínio do Active Directory usando o Managed Microsoft AD . Como alternativa, você pode implantar um ambiente personalizado do Active Directory no Compute Engine e configurar uma zona de encaminhamento de DNS privada que encaminhe consultas de DNS para seus controladores de domínio.
- Um usuário do Active Directory que tem permissão para ingressar computadores no domínio e pode fazer login usando RDP. Se estiver usando o Microsoft AD gerenciado, você poderá usar o usuário
setupadmin
. - Um projeto do Google Cloud e uma VPC com conectividade aos controladores de domínio do Active Directory.
- Certifique-se de que a API NetApp Cloud Volumes esteja ativada para seu projeto do Google Cloud .
-
In the Google Cloud console, activate Cloud Shell.
Prepare seu projeto e rede
Para preparar seu projeto do Google Cloud e sua nuvem privada virtual (VPC) para a implantação de grupos de disponibilidade Always On do SQL Server, faça o seguinte:
No console do Google Cloud, abra o Cloud Shell clicando em Ativar Cloud Shell
botão.
Inicialize as seguintes variáveis:
VPC_NAME=
VPC_NAME
SUBNET_NAME=SUBNET_NAME
Substitua o seguinte:
-
VPC_NAME
: nome da sua VPC -
SUBNET_NAME
: nome da sua sub-rede
-
Defina seu ID de projeto padrão:
gcloud config set project
PROJECT_ID
Substitua
PROJECT_ID
pelo ID do seu projeto do Google Cloud.Defina sua região padrão:
gcloud config set compute/region
REGION
Substitua
REGION
pelo ID da região na qual você deseja implantar.Defina sua zona padrão:
gcloud config set compute/zone
ZONE
Substitua
ZONE
pelo ID da zona na qual você deseja implantar.
Criar SMB no serviço Cloud Volumes para SQL Server
Para criar um volume do Cloud Volumes Service, deve-se criar uma política do Active Directory, acesso a serviços privados, conjunto de armazenamento e volume de armazenamento.
Para criar um novo Private Service Access , faça o seguinte:
No console do Google Cloud, acesse a página da rede VPC .
Clique no nome da rede VPC que você usará.
Clique na guia Acesso a serviços privados e, em seguida, clique em Alocar intervalo de IP .
- Insira um nome para o intervalo de IP interno.
- Selecione Automático e insira o valor 24 para o Comprimento do prefixo .
- Clique no botão Alocar .
Clique na guia Conexões privadas com serviços e faça o seguinte:
- Clique no botão Criar conexão .
- Selecione o intervalo de IP alocado anteriormente para o menu suspenso Alocação atribuída.
- Clique no botão Conectar .
Para criar uma nova política do Active Directory , faça o seguinte:
No console do Google Cloud, acesse a página NetApp Volumes .
No painel de navegação, clique em Políticas do Active Directory na seção Políticas .
Clique no botão Criar .
Especifique um nome para a política do Active Directory.
Em Região , selecione a região disponível mais próxima de onde as instâncias do SQL Server serão hospedadas.
Na seção Detalhes da conexão do Active Directory , forneça as seguintes informações:
- Nome do domínio
- Endereços de servidor DNS do Active Directory
- Nome do site do Active Directory
- Nome da unidade organizacional
- Prefixo do nome NetBIOS
Na seção Credenciais do Active Directory , forneça as credenciais de um usuário que tem permissão para ingressar computadores no domínio especificado.
Na seção Configurações de SMB , forneça os operadores de backup e os usuários com privilégios de segurança , se aplicável.
Clique em Criar para concluir o processo de criação de uma nova política do Active Directory.
Para criar um novo pool de armazenamento, faça o seguinte:
- No painel de navegação, clique em Pools de armazenamento na seção Armazenamento .
- Clique no botão Criar .
- Insira um nome para o conjunto de armazenamento.
- Em Localização , selecione a região disponível mais próxima de onde as instâncias do SQL Server serão hospedadas.
- Selecione um nível de serviço que satisfaça o desempenho de armazenamento esperado.
- Insira a capacidade do pool de armazenamento. A capacidade do pool de armazenamento define a capacidade total de armazenamento que pode ser alocada para todos os volumes do pool.
- Na lista Rede , selecione a VPC em que as instâncias do SQL Server serão hospedadas, conforme a seguir:
- Clique no botão Configurar conexão .
- Selecione o intervalo de endereços IP reservado nas etapas anteriores e clique em Continuar .
- Clique no botão Criar conexão .
- Na seção Política do Active Directory , selecione Atribuir uma política do Active Directory ao pool de armazenamento e selecione a política do Active Directory criada na etapa anterior.
- Clique no botão Criar para concluir o processo de criação de um novo pool de armazenamento.
Para criar um novo volume de armazenamento , faça o seguinte:
- No painel de navegação, clique em Volumes na seção Armazenamento .
- Clique no botão Criar .
- Especifique um nome para o volume de armazenamento.
- Em Detalhes do pool de armazenamento , clique em Selecionar pool de armazenamento para selecionar o pool de armazenamento criado na etapa anterior.
- Na seção Detalhes do volume , forneça as seguintes informações:
- Compartilhar nome
- Capacidade de volume
- Na seção Configuração de grande capacidade , selecione Protocolo SMB.
- Na seção Configuração para protocolo(s) selecionado(s) , selecione Habilitar suporte de compartilhamento de CA para SQL Server, FSLogix .
- Clique no botão Criar para concluir o processo de criação de um novo volume de armazenamento.
Crie regras de firewall
Para permitir que os clientes se conectem ao SQL Server, permitir a comunicação entre os nós do Windows Server Failover Cluster (WSFC) e para permitir que o balanceador de carga execute verificações de integridade , você precisa criar várias regras de firewall. Para simplificar a criação dessas regras de firewall, você pode usar tags de rede :
- O WSFC que você usa é anotado com a tag
wsfc-node
. - Todos os servidores, incluindo a testemunha, são anotados com a tag
wsfc
.
Para criar regras de firewall que usam essas tags de rede, siga as seguintes etapas:
- Retorne à sessão existente do Cloud Shell.
Crie regras de firewall para os nós 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
Crie uma regra de firewall que permita verificações de integridade dos intervalos de IP do Google Cloud sondadores :
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
Criar instâncias de VM
Agora você implantará três instâncias de VM para o cluster de failover.
Node-1
hospedará a réplica primária do banco de dados SQL Server e node-2
hospedará a réplica secundária. As duas instâncias de VM devem:
- estar localizados na mesma região para que possam ser acessados por um Network Load Balancer de passagem interna
ter o WSFC e o SQL Server 2022 instalados usando a imagem premium do SQL Server
ter o suporte WSFC do Compute Engine ativado
Para fornecer um voto de desempate e obter um quorum para o cenário de failover, você implanta uma terceira instância de VM node-3
que serve como testemunha de compartilhamento de arquivos .
- Retorne à sessão existente do Cloud Shell.
Crie um script para os nós WSFC. O script instala o recurso necessário do Windows e cria regras de firewall para WSFC e 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
Crie as instâncias de VM. Nas duas VMs que servem como nós WSFC, anexe um disco de dados adicional e habilite o cluster de failover do Windows Server definindo a chave de metadados
enable-wsfc
comotrue
: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"
Para associar as três instâncias de VM ao Active Directory, faça o seguinte para cada uma das três instâncias de VM:
Monitore o processo de inicialização da VM visualizando a saída da porta serial:
gcloud compute instances tail-serial-port-output
NAME
Substitua
NAME
pelo nome da instância de VM.Aguarde alguns minutos até ver a saída
Instance setup finished
e pressione Ctrl+C. Neste ponto, a instância da VM está pronta para ser usada.Crie um nome de usuário e uma senha para a instância de VM
Conecte-se à VM usando a Área de Trabalho Remota e faça login usando o nome de usuário e a senha criados na etapa anterior.
Clique com o botão direito do mouse no botão Iniciar (ou pressione Win+X ) e clique em Windows PowerShell (Admin) .
Confirme o prompt de elevação clicando em Sim .
Junte a instância de VM ao seu domínio do Active Directory e reinicie:
Add-Computer -Domain
DOMAIN -Restart
Substitua
DOMAIN
pelo nome DNS do seu domínio do Active Directory.Aguarde a reinicialização da instância de VM.
Atribuir permissões de armazenamento
Para atribuir permissões ao armazenamento de volume em nuvem, conclua as etapas a seguir:
No console do Google Cloud, selecione Cloud Volumes e selecione o volume que acabou de ser criado.
Conecte-se ao
node-1
usando a Área de Trabalho Remota . Faça login com sua conta de usuário de domínio.Abra o Windows Explorer e clique com o botão direito em Este PC .
Selecione Mapear unidade de rede .
Cole o caminho SMB copiado na pasta.
Ao fazer login, desative a opção Reconectar.
Clique em Concluir .
Clique com o botão direito na unidade de rede mapeada e selecione Propriedades .
Na guia Segurança , clique em Editar .
Remova Todos e adicione o instalador do SQL Server e as contas de serviço do SQL Server com permissões de controle total.
Confirme o prompt de elevação clicando em Sim .
Reservar endereços IP de cluster
Reserve dois endereços IP estáticos em sua VPC, um para o endereço IP do cluster WSFC e outro para o balanceador de carga interno.
Reserve um IP estático para o balanceador de carga interno e capture o endereço em uma nova variável de ambiente chamada
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"
Anote o endereço IP, você precisará dele mais tarde.
Reserve outro endereço IP estático que você usa como IP do 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"
Anote o endereço IP, você precisará dele mais tarde.
Seu projeto e VPC agora estão prontos para a implantação do WSFC e do SQL Server.
Criar um compartilhamento de arquivo testemunha
Para preparar witness
para servir como testemunha de compartilhamento de arquivos, crie um compartilhamento de arquivos e conceda a si mesmo e aos dois nós do WSFC acesso ao compartilhamento de arquivos:
- Conecte-se à
witness
usando a Área de Trabalho Remota . Faça login com sua conta de usuário de domínio. - Clique com o botão direito do mouse no botão Iniciar (ou pressione Win+X ) e clique em Windows PowerShell (Admin) .
- Confirme o prompt de elevação clicando em Sim .
Crie a pasta testemunha e compartilhe a pasta:
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$
Implantando o cluster de failover
Agora você usará as instâncias de VM para implantar um WSFC e um SQL Server.
Implantar WSFC
Agora você está pronto para criar o cluster de failover:
- Conecte-se ao
node-1
usando a Área de Trabalho Remota . Faça login com sua conta de usuário de domínio. - Clique com o botão direito do mouse no botão Iniciar (ou pressione Win+X ) e clique em Windows PowerShell (Admin) .
- Confirme o prompt de elevação clicando em Sim .
Crie um novo cluster:
New-Cluster ` -Name windows-fci ` -Node node-1,node-2 ` -NoStorage ` -StaticAddress
CLUSTER_ADDRESS
Substitua
CLUSTER_ADDRESS
pelo endereço IP do cluster criado anteriormente.Retorne à sessão do PowerShell na
witness
e conceda ao objeto de computador virtual do cluster permissão para acessar o compartilhamento de arquivos:icacls C:\QWitness\ /grant 'windows-fci$:(OI)(CI)(M)' Grant-SmbShareAccess ` -Name QWitness ` -AccountName 'windows-fci$' ` -AccessRight Full ` -Force
Retorne à sessão do PowerShell no
node-1
e configure o cluster para usar o compartilhamento de arquivos nawitness
como um quorum de cluster:Set-ClusterQuorum -FileShareWitness \\witness\QWitness
Verifique se o cluster foi criado com sucesso:
Test-Cluster
Você poderá ver alguns avisos que podem ser ignorados com segurança:
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).
Você também pode iniciar o snap-in MMC do Gerenciador de Cluster de Failover para revisar a integridade do cluster executando
cluadmin.msc
.Se você estiver usando o Managed AD, adicione a conta de computador usada pelo WSFC ao grupo Cloud Service Domain Join Accounts para que ele possa ingressar instâncias de VM no domínio:
Add-ADGroupMember ` -Identity "Cloud Service Domain Join Accounts" ` -Members windows-fci$
Remova a instalação padrão do SQL Server
Agora você removerá a instalação padrão do SQL Server dos dois nós e a substituirá por uma nova configuração de FCI.
Para cada um dos dois nós WSFC, node-1
e node-2
, execute as seguintes etapas:
- Clique com o botão direito do mouse no botão Iniciar (ou pressione Win+X ) e clique em Windows PowerShell (Admin) .
- Confirme o prompt de elevação clicando em Sim .
Remova a instância padrão do SQL Server:
C:\sql_server_install\Setup.exe /Action=Uninstall /FEATURES=SQL,AS,IS,RS /INSTANCENAME=MSSQLSERVER /Q
Remova o driver OLE da Microsoft:
Get-Package -Name "Microsoft OLE*" | Uninstall-Package -Force
Remova o driver ODBC da Microsoft:
Get-Package -Name "Microsoft ODBC*" | Uninstall-Package -Force
Reinicie o computador:
Restart-Computer
Aguarde a reinicialização da instância de VM.
Instale o SQL Server FCI
Antes de instalar a nova configuração de FCI, verifique se node-1
é o nó ativo no cluster:
- Reconecte-se ao
node-1
usando a Área de Trabalho Remota e entre usando seu usuário de domínio. - Clique com o botão direito no botão Iniciar (ou pressione Win+X ) e selecione Executar
- Digite
cluadmin.msc
e selecione OK . No painel esquerdo da janela, navegue até Failover Cluster Manager > windows-fci e faça o seguinte:
Verifique se o servidor host atual está configurado como
node-1
.Se o servidor host atual estiver configurado como
node-2
, clique com o botão direito em windows-fci no painel esquerdo da janela e selecione More actions > Move core cluster resources > Select node… > node-1 e clique em OK .
Você criará uma nova instalação de cluster de failover do SQL Server em node-1
:
- Clique com o botão direito do mouse no botão Iniciar (ou pressione Win+X ) e clique em Windows PowerShell (Admin) .
Confirme o prompt de elevação clicando em Sim .
Inicie a configuração do SQL Server:
& c:\sql_server_install\setup.exe
No menu à esquerda, selecione Instalação .
Selecione Nova instalação de cluster de failover do SQL Server .
Na página Edição , insira a chave do produto, selecione o tipo de licença do software e clique em Avançar .
Na página Termos de Licença , revise os termos e, se aceitar, clique em Avançar .
Na página do Microsoft Update , clique em Avançar para iniciar a instalação.
Na página Instalar regras de cluster de failover , você verá um aviso Avisos de verificação de cluster MSCS e firewall do Windows . Você pode ignorar esses avisos e clicar em Avançar .
Na página Seleção de Recursos , selecione Serviços de Mecanismo de Banco de Dados e clique em Avançar .
Na página Configuração da instância , insira
sql
como nome da rede e clique em Avançar .Na página Grupo de Recursos de Cluster , você pode ignorar os avisos de qualificação e clicar em Avançar .
Na página Seleção de disco de cluster , clique em Avançar .
Na página Configuração de rede do cluster , defina as seguintes configurações e clique em Avançar :
- DHCP : claro
- Endereço IP: insira o endereço IP do balanceador de carga interno
Na página Configuração do servidor , defina as seguintes configurações para SQL Server Agent e SQL Server Database Engine :
- Nome da conta :
DOMAIN \sql_server
ondeDOMAIN
é o nome NetBIOS do seu domínio do Active Directory - Senha : digite a senha do usuário
sql_server
- Nome da conta :
Selecione a guia Agrupamento e selecione o agrupamento que deseja usar. Em seguida, clique em Avançar .
Na página Configuração do Mecanismo de Banco de Dados , selecione Adicionar usuário atual para designar o usuário atual como administrador do SQL Server. Na guia Diretórios de dados , insira o caminho SMB no campo Diretório raiz de dados e selecione Próximo . Uma janela de mensagem aparecerá informando que você deve verificar se a conta de serviço do SQL Server tem permissão de compartilhamento de controle total. Selecione Sim para continuar.
Na página Pronto para instalar , revise as configurações e selecione Instalar .
Após a conclusão da instalação, selecione Fechar .
Agora adicione node-2
ao cluster de failover do SQL Server:
- Conecte-se ao
node-2
usando a Área de Trabalho Remota e entre usando seu usuário de domínio. - Clique com o botão direito do mouse no botão Iniciar (ou pressione Win+X ) e clique em Windows PowerShell (Admin) .
- Confirme o prompt de elevação clicando em Sim .
Inicie a configuração do SQL Server:
& c:\sql_server_install\setup.exe
No menu à esquerda, selecione Instalação .
Selecione Adicionar nó a um cluster de failover do SQL Server .
Siga as instruções do assistente de instalação e aceite as configurações padrão até chegar à página Contas de serviço .
Na página Contas de Serviço , insira a senha que você criou anteriormente para o SQL Server Agent e o SQL Server Database Engine . Em seguida, selecione Próximo .
Na página Pronto para instalar , revise as configurações e selecione Instalar .
Após a conclusão da instalação, selecione Fechar .
Configurar verificações de integridade
Como etapa final, configure o cluster para expor um endpoint de verificação de integridade que pode ser usado por um balanceador de carga interno:
- Retorne à sessão do PowerShell no
node-2
Inicialize uma variável com o endereço IP do balanceador de carga.
$LoadBalancerIP = '
IP_ADDRESS
'Substitua
IP_ADDRESS
pelo endereço IP do endereçowsfc
que você reservou anteriormente.Configure o Cluster de Failover para responder ao serviço de verificação de integridade:
$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; }
Reinicie o recurso de cluster:
$SqlIpAddress | Stop-ClusterResource $SqlIpAddress | Start-ClusterResource
Reinicie o grupo de clusters:
$SqlGroup | Stop-ClusterGroup $SqlGroup | Start-ClusterGroup
Crie um balanceador de carga interno
Para fornecer um único ponto de extremidade para clientes do SQL Server, você implantará agora um balanceador de carga interno . O balanceador de carga usa uma verificação de integridade que garante que o tráfego seja direcionado para o nó ativo do WSFC.
- Retorne à sessão existente do Cloud Shell.
Crie um grupo de instâncias não gerenciadas e adicione os dois nós ao grupo:
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
Crie uma verificação de funcionamento que o balanceador de carga possa usar para determinar qual é o nó ativo.
gcloud compute health-checks create tcp wsfc-healthcheck \ --check-interval="2s" \ --healthy-threshold=1 \ --unhealthy-threshold=2 \ --port=59997 \ --timeout="1s"
A verificação de integridade investiga a porta
59997
, que é a porta que você configurou anteriormente comoProbePort
para o endereço IP do cluster WSFC.Crie um serviço de back-end e adicione o grupo de instâncias:
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
Crie o balanceador de carga interno:
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
Testando o cluster de failover
Você concluiu a instalação do cluster de failover, mas ainda precisa testar se o cluster funciona corretamente.
Prepare um cliente
Crie uma nova instância de VM que você possa usar para se conectar ao cluster de failover:
- Retorne à sessão existente do Cloud Shell.
Crie uma nova instância de VM:
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
Monitore o processo de inicialização da VM visualizando a saída da porta serial:
gcloud compute instances tail-serial-port-output sqlclient
Aguarde alguns minutos até ver a configuração da instância de saída concluída e pressione Ctrl+C. Neste ponto, a instância da VM está pronta para ser usada.
Crie um nome de usuário e uma senha para a instância de VM
Conecte-se à VM usando a Área de Trabalho Remota e faça login usando o nome de usuário e a senha criados na etapa anterior.
Clique com o botão direito do mouse no botão Iniciar (ou pressione Win+X ) e clique em Windows PowerShell (Admin) .
Confirme o prompt de elevação clicando em Sim .
Junte a instância de VM ao seu domínio do Active Directory:
Add-Computer -Domain
DOMAIN
Substitua
DOMAIN
pelo nome DNS do seu domínio do Active Directory.Reinicie a instância da VM:
Restart-Computer
Aguarde a reinicialização da instância de VM.
Execute o teste
Use a VM sqlclient
para testar se você pode se conectar ao cluster de failover e para verificar se o failover funciona corretamente:
- Conecte-se ao
sqlclient
usando a Área de Trabalho Remota e entre usando seu usuário de domínio. - Clique com o botão direito do mouse no botão Iniciar (ou pressione Win+X ) e clique em Windows PowerShell .
Conecte-se ao cluster do SQL Server usando seu nome de rede
sql
e consulte a tabeladm_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"
A saída deve ficar assim:
NodeName status status_description is_current_owner ------------------------------ ----------- ------------------ ---------------- NODE-1 0 up 1 NODE-2 0 up 0 (2 rows affected)
Observe que
node-1
é o proprietário atual do recurso de cluster de failover do SQL Server.Retorne ao Cloud Shell e desative a VM do nó 1 para testar o cenário de failover:
gcloud compute instances stop node-1
Repita a consulta:
& "$env:ProgramFiles\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\SQLCMD.EXE" ` -S sql -E -Q "SELECT * FROM sys.dm_os_cluster_nodes"
A saída agora deve ficar assim:
NodeName status status_description is_current_owner ------------------------------ ----------- ------------------ ---------------- NODE-1 1 down 0 NODE-2 0 up 1 (2 rows affected)
Observe que, apesar da perda de
node-1
, a consulta foi bem-sucedida e mostra quenode-2
agora é o proprietário atual do cluster de failover.
Limpar
Depois de concluir o tutorial, você poderá limpar os recursos criados para que eles parem de usar a cota e de incorrer em cobranças. As seções a seguir descrevem como excluir ou desativar esses recursos.
Excluindo o projeto
A maneira mais fácil de eliminar o faturamento é excluir o projeto que você criou para o tutorial.
Para excluir o projeto:
- 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.