通过 Microsoft SQL Server Always On 可用性组,您可以跨多个 SQL Server Enterprise 实例复制数据库。
与 SQL Server 故障切换集群实例类似,Always On 可用性组使用 Windows Server 故障切换集群 (WSFC) 来实现高可用性。不过,这两种功能在以下方面有所不同:
Always On 可用性组 | 故障切换集群实例 | |
---|---|---|
故障切换的范围 | 数据库组 | 实例 |
存储 | 未共享 | 已共享 |
如需详细了解比较,请参阅故障切换集群实例与可用性组的比较。
Always On 可用性组支持多种可用性模式。本教程介绍如何在同步提交模式中部署 Always On 可用性组,以便为一个或多个数据库实现高可用性。
在设置过程中,您将创建三个虚拟机实例。node-1
和 node-2
两个虚拟机实例可充当集群节点并运行 SQL Server。第三个虚拟机实例 witness
用于在故障切换情景中实现仲裁。三个虚拟机实例分布在三个可用区,并且共享一个子网。
使用 SQL Server Always On 可用性组,您可以跨两个 SQL Server 实例同步复制示例数据库 bookshelf
。
在本地 Windows 集群环境中,地址解析协议 (ARP) 通知会触发IP 地址故障切换。但是,Google Cloud会忽略 ARP 通知。因此,您必须实现以下两个选项之一:使用内部负载均衡器和分布式网络名称 (DNN)。
本文假定您已在 Google Cloud上部署了 Active Directory,而且您已基本掌握 SQL Server、Active Directory 和 Compute Engine。如需详细了解 Google Cloud上的 Active Directory,请参阅开始前须知部分。
使用 SQL Server Always On 可用性组,您可以跨两个 SQL Server 实例同步复制示例数据库 bookshelf
。集群前面的分布式网络名称 (DNN) 监听器为 SQL Server 客户端提供单个端点。
如需详细了解 DNN,请参阅为可用性组配置 DNN 监听器。
该图包含以下部分:
- 两个虚拟机实例位于同一区域的不同可用区,分别称为
node-1
和node-2
,用于故障切换集群。其中一个节点托管 SQL Server 数据库的主副本,而另一个节点托管辅助副本。 - 第三个名为
witness
的虚拟机充当文件共享见证者,用于提供决定性投票权,实现故障切换所需的仲裁。 - 集群前面的 DNN 监听器为 SQL Server 客户端提供单个端点。
目标
- 部署由两个 SQL Server 虚拟机实例和第三个虚拟机实例(充当文件共享见证者)组成的 WSFC。
- 创建具有同步提交功能的可用性组。
- 配置分布式网络名称 (DNN),以使用 SQL Server 将流量路由到可用性组
- 通过模拟故障切换来验证设置是否正常工作。
费用
本教程使用 Google Cloud的收费组件,包括:
您可使用价格计算器根据您的预计使用情况来估算费用。
准备工作
如需完成本教程中的任务,请确保:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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.
-
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.
- 您拥有至少一台网域控制器的 Active Directory 网域。您可以使用代管式 Microsoft AD 创建 Active Directory 域。 或者,您也可以在 Compute Engine 上部署自定义 Active Directory 环境,并设置专用 DNS 转发可用区,用于将 DNS 查询转发到您的网域控制器。
-
您有一个 Active Directory 用户,该用户有权将计算机加入网域并且能够使用 RDP 登录。如果您使用的是代管式 Microsoft AD,则可以使用
setupadmin
用户。如需详细了解 Active Directory 用户账号预配,请参阅 Active Directory 用户账号预配 - Google Cloud 项目和连接到您的 Active Directory 域控制器的虚拟私有云 (VPC)。
- 用于 Windows Server 故障转移集群虚拟机实例的子网。
准备项目和网络
如需部署 SQL Server Always On 可用性组,您必须准备Google Cloud 项目和 VPC 以进行部署。以下部分详细介绍了如何执行此操作。
配置您的项目和区域
如需准备 Google Cloud 项目以部署 SQL Server Always On 可用性组,请执行以下操作:
在 Google Cloud 控制台中,点击激活 Cloud Shell 按钮,打开 Cloud Shell。
初始化以下变量。
VPC_NAME=
VPC_NAME
SUBNET_NAME=SUBNET_NAME
替换以下内容:
VPC_NAME
:您的 VPC 的名称SUBNET_NAME
:您的子网的名称
设置默认项目 ID。
gcloud config set project
PROJECT_ID
将
PROJECT_ID
替换为您的 Google Cloud 项目的 ID。设置默认区域。
gcloud config set compute/region
REGION
将
REGION
替换为要在其中部署的区域的 ID。
创建防火墙规则
如需允许客户端连接到 SQL Server 并允许集群节点之间进行通信,您需要创建多个防火墙规则。您可以使用网络标记来简化这些防火墙规则的创建操作,如下所示:
- 两个集群节点由
wsfc-node
标记注释。 - 所有服务器(包括
witness
)均由wsfc
标记注释。
如需创建使用这些网络标记的防火墙规则,请按以下步骤操作:
- 返回到现有的 Cloud Shell 会话。
创建防火墙规则,以允许在集群节点之间传递流量。
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
创建虚拟机实例
为故障切换集群创建并部署两个虚拟机实例。在任意时间点,其中一个虚拟机托管 SQL Server 数据库的主副本,而另一个节点托管辅助副本。这两个虚拟机实例必须:
- 已安装故障切换集群和 SQL Server。
- 已启用 Compute Engine WSFC 支持。
使用预安装了 SQL Server 2022 的 SQL Server 高级映像。
为了在故障切换情景中提供决定性投票权,实现仲裁,请按照以下步骤部署第三个虚拟机作为文件共享见证者:
- 返回到现有的 Cloud Shell 会话。
为 WSFC 节点创建专用脚本。此脚本会安装必要的 Windows 功能,并为 WSFC 和 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 WSFC 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
创建虚拟机实例。在充当集群节点的两个虚拟机上,通过将元数据键
enable-wsfc
设置为true
,再挂接一个数据磁盘并启用 Windows Server 故障切换集群:REGION=$(gcloud config get-value compute/region) ZONE1=
ZONE1
ZONE2=ZONE2
ZONE3=ZONE3
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 e2-medium \ --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"根据您使用的可用区替换 ZONE1、ZONE2、ZONE3。
若要将 3 个虚拟机实例加入 Active Directory,请对 3 个虚拟机实例中的每个实例执行以下操作:
通过查看虚拟机的串行端口输出来监控其初始化过程。
gcloud compute instances tail-serial-port-output
NAME
将
NAME
替换为虚拟机实例的名称。等待几分钟,直到您看到输出
Instance setup finished
,然后按 Ctrl+C。此时,该虚拟机实例已准备就绪,可以使用了。为虚拟机实例创建用户名和密码。
使用远程桌面连接到虚拟机,然后使用上一步中创建的用户名和密码登录。
右键点击开始按钮(或者按 Win+X),然后点击 Windows PowerShell(管理员)。
点击是以确认提升权限提示。
将该计算机加入您的 Active Directory 网域,然后重启。
Add-Computer -Domain
DOMAIN -Restart
将
DOMAIN
替换为您的 Active Directory 域的 DNS 名称。输入具有将虚拟机加入网域所需权限的账号的凭据
等待虚拟机重启。现在,您已将虚拟机实例加入 Active Directory。
部署故障切换集群
您现在可以使用虚拟机实例部署 Windows Server 故障切换集群和 SQL Server。以下部分详细介绍了如何执行此操作。
正在准备 SQL Server
请按照以下步骤在 Active Directory 中为 SQL Server 创建一个新用户账号。
- 使用远程桌面连接到
node-1
。 使用您的网域用户账号登录。 - 右键点击开始按钮(或者按 Win+X),然后点击 Windows PowerShell(管理员)。
- 点击是以确认提升权限提示。
为 SQL 服务器和 SQL 代理创建网域用户账号并分配密码:
$Credential = Get-Credential -UserName sql_server -Message 'Enter password' New-ADUser ` -Name "sql_server" ` -Description "SQL Admin account." ` -AccountPassword $Credential.Password ` -Enabled $true -PasswordNeverExpires $true
如需配置 SQL Server,请对 node-1
和 node-2
执行以下步骤:
- 打开 SQL Server 配置管理器。
- 在导航窗格中,选择 SQL Server 服务。
- 在服务列表中,右键点击 SQL Server (MSSQLSERVER),然后选择属性。
在登录身份下,按如下方式更改账号:
- 账号名称:
DOMAIN\sql_server
,其中DOMAIN
是 Active Directory 域的 NetBIOS 名称。 - 密码:输入您之前选择的密码。
- 账号名称:
点击确定。
当系统提示您重启 SQL Server 时,请选择是。
SQL Server 现在在网域用户账号下运行。
创建文件共享
在虚拟机实例 witness
上创建两个文件共享,以便其可以存储 SQL Server 备份并充当文件共享见证:
- 使用远程桌面连接到
witness
。 使用您的网域用户账号登录。 - 右键点击开始按钮(或者按 Win+X),然后点击 Windows PowerShell(管理员)。
- 点击是以确认提升权限提示。
创建一个见证文件共享并授予自己和两个集群节点对该文件共享的访问权限。
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$
创建另一个文件共享存储备份并授予 SQL Server 完整访问权限:
New-Item "C:\Backup" –type directory New-SmbShare ` -Name Backup ` -Path "C:\Backup" ` -Description "SQL Backup" ` -FullAccess $env:USERDOMAIN\sql_server
创建故障切换集群
如需创建故障切换集群,请按以下步骤操作:
- 返回到
node-1
上远程桌面会话。 - 右键点击开始按钮(或者按 Win+X),然后点击 Windows PowerShell(管理员)。
- 点击是以确认提升权限提示。
创建新集群。
New-Cluster ` -Name sql-cluster ` -Node node-1,node-2 ` -NoStorage ` -ManagementPointNetworkType Distributed
返回
witness
上的 PowerShell 会话,并授予集群的虚拟机对象访问文件共享的权限。icacls C:\QWitness\ /grant 'sql-cluster$:(OI)(CI)(M)' Grant-SmbShareAccess ` -Name QWitness ` -AccountName 'sql-cluster$' ` -AccessRight Full ` -Force
返回
node-1
上的 PowerShell 会话,并将集群配置为使用witness
上的文件共享作为集群仲裁。Set-ClusterQuorum -FileShareWitness \\witness\QWitness
验证是否已成功创建集群。
Test-Cluster
您可能会看到一些可以放心地忽略的警告:
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).
您还可以通过运行
cluadmin.msc
来启动故障切换集群管理器 MMC 管理单元以查看集群的健康状况。如果您使用的是托管式 AD,请将 Windows 集群使用的计算机账号添加到 Cloud 服务网域加入账号组,以便它可以将计算机加入网域。
Add-ADGroupMember ` -Identity "Cloud Service Domain Join Accounts" ` -Members sql-cluster$
在两个节点上启用 Always On 可用性组。
Enable-SqlAlwaysOn -ServerInstance node-1 -Force Enable-SqlAlwaysOn -ServerInstance node-2 -Force
正在创建可用性组
您现在可以创建一个示例数据库 bookshelf
,将其包含在名为 bookshelf-ag
的新可用性组中,并配置高可用性。
创建数据库
创建一个新数据库。就本教程而言,数据库不需要包含任何数据。
- 返回到
node-1
上远程桌面会话。 - 打开 SQL Server Management Studio。
- 在连接到服务器对话框中,验证服务器名称是否设置为
node-1
,然后选择连接。 - 在菜单中,依次选择文件 > 新建 > 使用当前连接查询。
将以下 SQL 脚本粘贴到编辑器中:
-- Create a sample database CREATE DATABASE bookshelf ON PRIMARY ( NAME = 'bookshelf', FILENAME='d:\Data\bookshelf.mdf', SIZE = 256MB, MAXSIZE = UNLIMITED, FILEGROWTH = 256MB) LOG ON ( NAME = 'bookshelf_log', FILENAME='d:\Logs\bookshelf.ldf', SIZE = 256MB, MAXSIZE = UNLIMITED, FILEGROWTH = 256MB) GO USE [bookshelf] SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON GO -- Create sample table CREATE TABLE [dbo].[Books] ( [Id] [bigint] IDENTITY(1,1) NOT NULL, [Title] [nvarchar](max) NOT NULL, [Author] [nvarchar](max) NULL, [PublishedDate] [datetime] NULL, [ImageUrl] [nvarchar](max) NULL, [Description] [nvarchar](max) NULL, [CreatedById] [nvarchar](max) NULL, CONSTRAINT [PK_dbo.Books] PRIMARY KEY CLUSTERED ([Id] ASC) WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO -- Create a backup EXEC dbo.sp_changedbowner @loginame = 'sa', @map = false; ALTER DATABASE [bookshelf] SET RECOVERY FULL; GO BACKUP DATABASE bookshelf to disk = '\\witness\Backup\bookshelf.bak' WITH INIT GO
该脚本会创建一个包含单个表的新数据库,并执行初始备份到
witness
。选择执行以运行 SQL 脚本。
配置高可用性
现在,您可以使用 T-SQL 或 Server Management Studio 为可用性组配置高可用性。
使用 T-SQL
如需使用 T-SQL 为可用性组配置高可用性,请按以下步骤操作:
连接到
node-1
,然后执行以下脚本以创建bookshelf-ag
可用性组。CREATE LOGIN [
NET_DOMAIN
\sql_server] FROM WINDOWS; GO USE [bookshelf]; CREATE USER [NET_DOMAIN
\sql_server] FOR LOGIN [NET_DOMAIN
\sql_server]; GO USE [master]; CREATE ENDPOINT bookshelf_endpoint STATE=STARTED AS TCP (LISTENER_PORT=5022) FOR DATABASE_MIRRORING (ROLE=ALL); GO GRANT CONNECT ON ENDPOINT::[bookshelf_endpoint] TO [NET_DOMAIN
\sql_server] GO连接到
node-2
并执行以下脚本。CREATE LOGIN [
NET_DOMAIN
\sql_server] FROM WINDOWS; GO CREATE ENDPOINT bookshelf_endpoint STATE=STARTED AS TCP (LISTENER_PORT=5022) FOR DATABASE_MIRRORING (ROLE=ALL); GO GRANT CONNECT ON ENDPOINT::[bookshelf_endpoint] TO [NET_DOMAIN
\sql_server] GO在
node-1
上,然后执行以下脚本以创建bookshelf-ag
可用性组。USE master; GO CREATE AVAILABILITY GROUP [bookshelf-ag] WITH (AUTOMATED_BACKUP_PREFERENCE = SECONDARY, CLUSTER_TYPE = WSFC, DB_FAILOVER = ON ) FOR DATABASE [bookshelf] REPLICA ON N'node-1' WITH ( ENDPOINT_URL = 'TCP://node-1:5022', AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, FAILOVER_MODE = AUTOMATIC, BACKUP_PRIORITY = 50, SEEDING_MODE = AUTOMATIC, SECONDARY_ROLE(ALLOW_CONNECTIONS = NO) ), N'node-2' WITH ( ENDPOINT_URL = 'TCP://node-2:5022', AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, FAILOVER_MODE = AUTOMATIC, BACKUP_PRIORITY = 50, SEEDING_MODE = AUTOMATIC, SECONDARY_ROLE(ALLOW_CONNECTIONS = NO) ); GO
连接到
node-2
,然后执行以下脚本,将辅助副本加入可用性组并启用自动初始化。USE master; GO ALTER AVAILABILITY GROUP [bookshelf-ag] JOIN; ALTER AVAILABILITY GROUP [bookshelf-ag] GRANT CREATE ANY DATABASE;
检查可用性组的状态。
SELECT * FROM sys.dm_hadr_availability_group_states; GO
您应该会看到
synchronization_health_desc
显示为HEALTHY
。
使用 SQL Server Management Studio
如需使用 SQL Server Management Studio 为可用性组配置高可用性,请按以下步骤操作:
- 在对象资源管理器窗口中,右键点击 Always On 高可用性,然后选择新建可用性组向导。
- 在指定选项页面上,将可用性组名称设置为
bookshelf-ag
,然后选择下一步。 - 在选择数据库页面上,选择
bookshelf
数据库,然后选择下一步。 在指定副本页面上,选择副本标签页。
- 选择添加副本。
在连接到服务器对话框中,输入服务器名称
node-2
,然后选择连接。可用性副本列表现在包含 SQL Server 实例、
node-1
和node-2
。将两个实例的可用性模式设置为同步提交。
将两个实例的自动故障切换设置为启用。
选择下一步。
在选择数据同步页面上,选择自动进行种子设定。
在验证页面上,验证所有检查是否都已成功。您可以忽略可用性组监听器检查。
在摘要页面上,选择完成。
在结果页面上,选择关闭。
为可用性组配置 DNN 监听器
DNN 监听器充当 SQL Server 客户端的单个端点。如需配置 DNN 监听器,请按以下步骤操作:
- 返回
node-1
上的 PowerShell 会话。 执行以下脚本以创建 DNN 监听器。
$Ag='bookshelf-ag' $Port='
DNN_PORT
' $Dns='DNN_NAME
' # create the DNN resource with the port as the resource name Add-ClusterResource -Name $Port -ResourceType "Distributed Network Name" -Group $Ag # set the DNS name of the DNN resource Get-ClusterResource -Name $Port | Set-ClusterParameter -Name DnsName -Value $Dns # start the DNN resource Start-ClusterResource -Name $Port # add the Dependency from availability group resource to the DNN resource Set-ClusterResourceDependency -Resource $Ag -Dependency "[$Port]" # restart the availability group resource Stop-ClusterResource -Name $Ag Start-ClusterResource -Name $Ag将
DNN_PORT
替换为 DNN 监听器端口。DNN 监听器端口必须配置一个唯一端口。如需了解详情,请参阅端口注意事项。将
DNN_NAME
替换为 DNN 监听器名称。在
node-1
和node-2
上为 DNN 监听器端口创建防火墙规则。netsh advfirewall firewall add rule name="Allow DNN listener" dir=in action=allow protocol=TCP localport=
DNN_PORT
测试故障切换
您现在可以测试故障切换是否按预期工作:
- 返回
witness
上的 PowerShell 会话。 运行以下脚本。
while ($True){ $Conn = New-Object System.Data.SqlClient.SqlConnection $Conn.ConnectionString = "Server=
DNN_NAME
,DNN_PORT
;Integrated Security=true;Initial Catalog=master" $Conn.Open() $Cmd = New-Object System.Data.SqlClient.SqlCommand $Cmd.Connection = $Conn $Cmd.CommandText = "SELECT SERVERPROPERTY('ServerName')" $Adapter = New-Object System.Data.SqlClient.SqlDataAdapter $Cmd $Data = New-Object System.Data.DataSet $Adapter.Fill($Data) | Out-Null $Data.Tables[0] + (Get-Date -Format "MM/dd/yyyy HH:mm:ss") Start-Sleep -Seconds 2 }将
DNN_NAME
替换为 DNN 监听器名称,将DNN_PORT
替换为 DNN 监听器端口。该脚本每两秒使用可用性组监听器连接到 SQL Server 一次,并查询服务器名称。
让该脚本保持运行。
返回到
node-1
上的远程桌面会话以触发故障切换。- 在 SQL Server Management Studio 中,转到 Always On > 高可用性 > 可用性组 > bookshelf-ag(主要),然后右键点击节点。
- 选择故障切换。
- 在选择新的主副本页面上,验证
node-2
是否被选为新的主副本,并且故障切换就绪列是否表示No data loss
。然后选择下一步。 - 在连接到副本页面上,选择连接。
- 在连接到服务器对话框中,验证服务器名称是否为
node-2
,然后点击连接。 - 选择下一步,然后选择完成。
- 在结果页面上,验证故障切换是否成功。
返回
witness
上的 PowerShell 会话。观察正在运行的脚本的输出,并注意服务器名称因故障切换从
node-1
更改为node-2
。按
Ctrl+C
停止该脚本。
清理
完成本教程后,您可以清理您创建的资源,让它们停止使用配额,以免产生费用。以下部分介绍如何删除或关闭这些资源。
删除项目
为了避免产生费用,最简单的方法是删除您为本教程创建的项目。
如需删除项目,请执行以下操作:
- 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.