你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
删除服务器并禁用保护
本文介绍了如何从恢复服务保管库中取消注册服务器,以及如何禁用对计算机的 Site Recovery 保护。
取消注册配置服务器
如果将 VMware VM 或 Windows/Linux 物理服务器复制到 Azure,则可从保管库中注销未连接的配置服务器,如下所示:
取消注册 VMM 服务器
- 停止在要删除的 VMM 服务器上复制云中的虚拟机。
- 删除由需要删除的 VMM 服务器上的云使用的任何网络映射。 在“Site Recovery 基础结构”>“对于 System Center VMM”>“网络映射”中,右键单击网络映射 >“删除”。
- 记下 VMM 服务器的 ID。
- 取消复制策略与要删除的 VMM 服务器上的云的关联。 在“Site Recovery 基础结构”>“对于 System Center VMM”>“复制策略”中,右键单击关联的策略。 右键单击云 >“取消关联”。
- 删除 VMM 服务器或主动节点。 在“Site Recovery 基础结构”>“对于 System Center VMM”>“VMM 服务器”中,右键单击服务器 >“删除”。
- 如果 VMM 服务器处于“已断开连接”状态,请对 VMM 服务器下载并运行清理脚本。 使用“以管理员身份运行”选项打开 PowerShell,以更改默认 (LocalMachine) 范围的执行策略。 在脚本中,指定要删除的 VMM 服务器的 ID。 脚本会从服务器中删除注册和云配对信息。
- 在所有辅助 VMM 服务器上,运行清理脚本。
- 在任何其他被动 VMM 群集节点(已安装提供程序)上运行清理脚本。
- 手动卸载 VMM 服务器上的提供程序。 如果有一个群集,请从所有节点删除。
- 若要将虚拟机复制到 Azure,需要在已删除的云中从 Hyper-V 主机中卸载 Microsoft 恢复服务代理。
取消注册 Hyper-V 站点中的 Hyper-V 主机
未由 VMM 托管的 Hyper-V 主机将收集到 Hyper-V 站点中。 在 Hyper-V 站点中删除主机,如下所示:
- 禁用位于主机上的 Hyper-V VM 的复制。
- 取消关联 Hyper-V 站点的策略。 在“Site Recovery 基础结构”>“对于 Hyper-V 站点”>“复制策略”中,右键单击关联的策略。 右键单击站点 >“取消关联”。
- 删除 Hyper-V 主机。 在“Site Recovery 基础结构”>“对于 Hyper-V 站点”>“Hyper-V 主机”中,右键单击服务器 >“删除”。
- 从 Hyper-V 站点中删除所有主机后,将该站点删除。 在“Site Recovery 基础结构”>“对于 Hyper-V 站点”>“Hyper-V 站点”中,右键单击站点 >“删除”。
- 如果 Hyper-V 主机处于“已断开连接”状态,请对已删除的每个 Hyper-V 主机运行以下脚本。 该脚本清理服务器上的设置,并从保管库中取消注册该服务器。
pushd .
try
{
$windowsIdentity=[System.Security.Principal.WindowsIdentity]::GetCurrent()
$principal=new-object System.Security.Principal.WindowsPrincipal($windowsIdentity)
$administrators=[System.Security.Principal.WindowsBuiltInRole]::Administrator
$isAdmin=$principal.IsInRole($administrators)
if (!$isAdmin)
{
"Please run the script as an administrator in elevated mode."
$choice = Read-Host
return;
}
$error.Clear()
"This script will remove the old Azure Site Recovery Provider related properties. Do you want to continue (Y/N) ?"
$choice = Read-Host
if (!($choice -eq 'Y' -or $choice -eq 'y'))
{
"Stopping cleanup."
return;
}
$serviceName = "dra"
$service = Get-Service -Name $serviceName
if ($service.Status -eq "Running")
{
"Stopping the Azure Site Recovery service..."
net stop $serviceName
}
$asrHivePath = "HKLM:\SOFTWARE\Microsoft\Azure Site Recovery"
$registrationPath = $asrHivePath + '\Registration'
$proxySettingsPath = $asrHivePath + '\ProxySettings'
$draIdvalue = 'DraID'
$idMgmtCloudContainerId='IdMgmtCloudContainerId'
if (Test-Path $asrHivePath)
{
if (Test-Path $registrationPath)
{
"Removing registration related registry keys."
Remove-Item -Recurse -Path $registrationPath
}
if (Test-Path $proxySettingsPath)
{
"Removing proxy settings"
Remove-Item -Recurse -Path $proxySettingsPath
}
$regNode = Get-ItemProperty -Path $asrHivePath
if($regNode.DraID -ne $null)
{
"Removing DraId"
Remove-ItemProperty -Path $asrHivePath -Name $draIdValue
}
if($regNode.IdMgmtCloudContainerId -ne $null)
{
"Removing IdMgmtCloudContainerId"
Remove-ItemProperty -Path $asrHivePath -Name $idMgmtCloudContainerId
}
"Registry keys removed."
}
# First retrieve all the certificates to be deleted
$ASRcerts = Get-ChildItem -Path cert:\localmachine\my | where-object {$_.friendlyname.startswith('ASR_SRSAUTH_CERT_KEY_CONTAINER') -or $_.friendlyname.startswith('ASR_HYPER_V_HOST_CERT_KEY_CONTAINER')}
# Open a cert store object
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine")
$store.Open('ReadWrite')
# Delete the certs
"Removing all related certificates"
foreach ($cert in $ASRcerts)
{
$store.Remove($cert)
}
}catch
{
[system.exception]
Write-Host "Error occurred" -ForegroundColor "Red"
$error[0]
Write-Host "FAILED" -ForegroundColor "Red"
}
popd
禁用对 VMware VM 或物理服务器(VMware 到 Azure)的保护
- 在“受保护的项”>“复制的项”中,右键单击计算机 >“禁用复制”。
- 在“禁用复制”页中,选择下列选项之一:
- 禁用复制并删除(推荐) - 此选项从 Azure Site Recovery 中删除复制的项,并停止复制计算机。 此外,还将清理配置服务器上的复制配置,并停止对这个受保护的服务器收取 Site Recovery 费用。 请注意,此选项仅在配置服务器处于连接状态时使用。
- 删除 - 只有在源环境已删除或无法访问(未连接)时,才应使用此选项。 此选项会从 Azure Site Recovery 中删除复制的项(停止计费)。 不过,并不会清理配置服务器上的复制配置。
注意
这两个选项都不会从受保护的服务器中卸载移动服务,需要手动卸载。 如果打算使用相同的配置服务器重新保护服务器,可以跳过卸载移动服务这一步。
注意
如果已对 VM 进行了故障转移并且该 VM 正在 Azure 中运行,请注意,禁用保护不会删除/影响故障转移的 VM。
禁用对 Azure VM 的保护(Azure 到 Azure)
- 在“受保护的项”>“复制的项”中,右键单击计算机 >“禁用复制”。
注意
不会从受保护的服务器中卸载移动服务,需要手动卸载。 如果你打算再次保护服务器,可以跳过卸载移动服务的步骤。
禁用对 Hyper-V 虚拟机(Hyper-V 到 Azure)的保护
注意
要在没有 VMM 服务器的情况下将 Hyper-V VM 复制到 Azure,请执行此过程。 若要使用 System Center VMM 到 Azure 方案复制虚拟机,请按照禁用对使用 System Center VMM 到 Azure 方案复制的 Hyper-V 虚拟机的保护中的说明操作
在“受保护的项”>“复制的项”中,右键单击计算机 >“禁用复制”。
在“禁用复制”中,可以选择下列选项:
- 禁用复制并删除(推荐) - 此选项从 Azure Site Recovery 中删除复制的项,并停止复制计算机。 此外,还将清理本地虚拟机上的复制配置,并停止对这个受保护的服务器收取 Site Recovery 费用。
- 删除 - 只有在源环境已删除或无法访问(未连接)时,才应使用此选项。 此选项会从 Azure Site Recovery 中删除复制的项(停止计费)。 不过,并不会清理本地虚拟机上的复制配置。
注意
如果选择“删除”选项,请运行下面的一组脚本,清理本地 Hyper-V 服务器上的复制设置。
注意
如果已对 VM 进行了故障转移并且该 VM 正在 Azure 中运行,请注意,禁用保护不会删除/影响故障转移的 VM。
在源 Hyper-V 主机服务器上,取消复制虚拟机。 将 SQLVM1 替换为虚拟机名称,并通过管理 PowerShell 运行以下脚本
$vmName = "SQLVM1"
$vm = Get-WmiObject -Namespace "root\virtualization\v2" -Query "Select * From Msvm_ComputerSystem Where ElementName = '$vmName'"
$replicationService = Get-WmiObject -Namespace "root\virtualization\v2" -Query "Select * From Msvm_ReplicationService"
$replicationService.RemoveReplicationRelationship($vm.__PATH)
禁用对使用 System Center VMM 到 Azure 方案复制到 Azure 的 Hyper-V 虚拟机的保护
在“受保护的项”>“复制的项”中,右键单击计算机 >“禁用复制”。
在“禁用复制”中,选择下列选项之一:
禁用复制并删除(推荐) - 此选项从 Azure Site Recovery 中删除复制的项,并停止复制计算机。 此外,还将清理本地虚拟机上的复制配置,并停止对这个受保护的服务器收取 Site Recovery 费用。
删除 - 只有在源环境已删除或无法访问(未连接)时,才应使用此选项。 此选项会从 Azure Site Recovery 中删除复制的项(停止计费)。 不过,并不会清理本地虚拟机上的复制配置。
注意
如果选择“删除”选项,请运行下面的脚本,清理本地 VMM 服务器上的复制设置。
从源 VMM 服务器上的 VMM 控制台使用 PowerShell(需要管理员权限)运行此脚本。 将占位符 SQLVM1 替换为虚拟机名称。
$vm = get-scvirtualmachine -Name "SQLVM1" Set-SCVirtualMachine -VM $vm -ClearDRProtection
上述步骤清理 VMM 服务器上的复制设置。 若要停止运行在 Hyper-V 主机服务器上的虚拟机的复制,请运行以下脚本。 将 SQLVM1 替换为虚拟机的名称,将 host01.contoso.com 替换为 Hyper-V 主机服务器的名称。
$vmName = "SQLVM1"
$hostName = "host01.contoso.com"
$vm = Get-WmiObject -Namespace "root\virtualization\v2" -Query "Select * From Msvm_ComputerSystem Where ElementName = '$vmName'" -computername $hostName
$replicationService = Get-WmiObject -Namespace "root\virtualization\v2" -Query "Select * From Msvm_ReplicationService" -computername $hostName
$replicationService.RemoveReplicationRelationship($vm.__PATH)
禁用对使用 System Center VMM 到 VMM 方案复制到辅助 VMM 服务器的 Hyper-V 虚拟机的保护
在“受保护的项”>“复制的项”中,右键单击计算机 >“禁用复制”。
在“禁用复制”中,选择下列选项之一:
- 禁用复制并删除(推荐) - 此选项从 Azure Site Recovery 中删除复制的项,并停止复制计算机。 此外,还将清理本地虚拟机上的复制配置,并停止对这个受保护的服务器收取 Site Recovery 费用。
- 删除 - 只有在源环境已删除或无法访问(未连接)时,才应使用此选项。 此选项会从 Azure Site Recovery 中删除复制的项(停止计费)。 不过,并不会清理本地虚拟机上的复制配置。 运行下面的一组脚本,清理本地虚拟机上的复制设置。
注意
如果选择“删除”选项,请运行下面的脚本,清理本地 VMM 服务器上的复制设置。
从源 VMM 服务器上的 VMM 控制台使用 PowerShell(需要管理员权限)运行此脚本。 将占位符 SQLVM1 替换为虚拟机名称。
$vm = get-scvirtualmachine -Name "SQLVM1" Set-SCVirtualMachine -VM $vm -ClearDRProtection
在辅助 VMM 服务器上,运行下面的脚本,清理辅助虚拟机的设置:
$vm = get-scvirtualmachine -Name "SQLVM1" Remove-SCVirtualMachine -VM $vm -Force
在辅助 VMM 服务器上刷新 Hyper-V 主机服务器上的虚拟机,以便在 VMM 控制台中重新检测辅助 VM。
上述步骤清理 VMM 服务器上的复制设置。 若要停止虚拟机的复制,请在主 VM 和辅助 VM 上运行以下脚本。 将 SQLVM1 替换为虚拟机名称。
Remove-VMReplication –VMName "SQLVM1"