移除伺服器並停用保護
本文說明如何將「復原服務」保存庫中的伺服器取消註冊,以及如何針對由 Site Recovery 保護的機器停用保護。
將組態伺服器取消註冊
如果您將 VMware VM 或 Windows/Linux 實體伺服器複寫到 Azure,您可以將未連線的組態伺服器從保存庫取消註冊,方法如下:
取消註冊 VMM 伺服器
- 在您想要移除的 VMM 伺服器上,停止在雲端複寫虛擬機器。
- 在您想要刪除的 VMM 伺服器上,刪除任何由雲端使用的網路對應。 在 [Site Recovery 基礎結構]>[適用於 System Center VMM]>[網路對應] 中,以滑鼠右鍵按一下網路對應 > [刪除]。
- 記下 VMM 伺服器的識別碼。
- 將您想要移除的 VMM 伺服器上取消雲端和複寫原則的關聯。 在 [Site Recovery 基礎結構]>[適用於 System Center VMM]>[複寫原則] 中,按兩下相關聯的原則。 以滑鼠右鍵按一下雲端 > [取消關聯]。
- 刪除 VMM 伺服器或作用中的節點。 在 [Site Recovery 基礎結構]>[適用於 System Center VMM]>[VMM 伺服器] 中,以滑鼠右鍵按一下伺服器 > [刪除]。
- 如果您的 VMM 伺服器處於中斷連線的狀態,則在 VMM 伺服器上下載並執行清除指令碼。 使用 [以系統管理員身分執行] 選項開啟 PowerShell,以變更預設 (LocalMachine) 範圍的執行原則。 在指令碼中,指定您想要移除的 VMM 伺服器的識別碼。 該指令碼會從伺服器移除註冊及雲端配對資訊。
- 在任何次要 VMM 伺服器上執行清除指令碼。
- 在已安裝提供者的任何其他被動 VMM 叢集節點上執行清除指令碼。
- 在 VMM 伺服器上手動將提供者解除安裝。 如果您有叢集,請將它從所有節點中移除。
- 如果您的虛擬機器是複寫到 Azure,必須將 Microsoft 復原服務代理程式從已刪除之雲端中的 Hyper-V 主機上解除安裝。
取消註冊 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 站台移除所有主機之後,將 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 上執行以下指令碼。 將 SQLVM1 取代成您的虛擬機器的名稱。
Remove-VMReplication –VMName "SQLVM1"