適用於︰Windows Server 2019、Windows Server 2016
本主題包含關於「儲存體複本」的常見問題集 (FAQ) 解答。
Azure 是否支援儲存體複本?
是。 您可以透過 Azure 使用下列案例:
- Azure 內部的伺服器對伺服器複寫 (在一或兩個資料中心容錯網域的 IaaS VM 之間同步或非同步複寫,或以非同步方式在兩個不同的區域之間複寫)
- Azure 與內部部署之間的伺服器對伺服器非同步複寫 (使用 VPN 或 Azure ExpressRoute)
- Azure 內部的叢集對叢集複寫 (在一或兩個資料中心容錯網域的 IaaS VM 之間同步或非同步複寫,或以非同步方式在兩個不同區域之間複寫)
- Azure 與內部部署之間的叢集對叢集非同步複寫 (使用 VPN 或 Azure ExpressRoute)
- 使用 Azure 共用磁碟的延展式叢集 (在一或兩個資料中心容錯網域的 IaaS VM 之間同步或非同步複寫,或以非同步方式在兩個不同的區域之間複寫)
如需取得 Azure 中客體叢集的進一步注意事項,請參閱:在 Microsoft Azure 中部署 IaaS VM 客體叢集。
重要事項:
- 使用儲存體複本建立儲存空間直接存取 SOFS 叢集以跨 Azure 區域進行災害復原中包含一些 Azure Resource Manager 範本,適用於以儲存空間直接存取為基礎的儲存體複本叢集。
- Azure 中的叢集對叢集 RPC 通訊 (叢集 API 需要該通訊以在叢集之間授與存取權) 需要為 CNO 設定網路存取權。 您必須允許 TCP 連接埠 135 和高於 TCP 連接埠 49152 的動態範圍。 請參考在 Azure IAAS VM 上建置 Windows Server 容錯移轉叢集 – 第 2 部分:網路和建立。
- 可以使用雙節點的客體叢集,其中每個節點都會針對儲存體複本所複寫的非對稱叢集使用回送 iSCSI。 但這可能會導致效能極差,並且應只用於非常有限的工作負載或測試。
如何在初始同步期間查看複寫的進度?
目的地伺服器上「儲存體複本系統管理」事件記錄檔中所示的事件 1237 訊息,每隔 10 秒會顯示已複製的位元組數目和剩餘的位元組數目。 您也可以使用目的地上的「儲存體複本」效能計數器,該計數器針對一或多個複寫的磁碟區顯示 \儲存體複本統計資料\已接收的位元組總數。 您也可以使用 Windows PowerShell 來查詢複寫群組。 例如,此範例命令會取得目的地上的群組名稱,然後每隔 10 秒查詢一個名為 Replication 2 的群組來顯示進度:
Get-SRGroup
do{
$r=(Get-SRGroup -Name "Replication 2").replicas
[System.Console]::Write("Number of remaining bytes {0}`n", $r.NumOfBytesRemaining)
Start-Sleep 10
}until($r.ReplicationStatus -eq 'ContinuouslyReplicating')
Write-Output "Replica Status: "$r.replicationstatus
我是否可以指定要用於複寫的特定網路介面?
是,請使用 Set-SRNetworkConstraint
。 這個 Cmdlet 會在介面層上運作,並在叢集與非叢集案例上使用。
例如,利用獨立伺服器 (在每個節點上):
Get-SRPartnership
Get-NetIPConfiguration
記下閘道和介面資訊 (在這兩部伺服器上) 及合作關係指引。 然後執行:
Set-SRNetworkConstraint -SourceComputerName sr-srv06 -SourceRGName rg02 -
SourceNWInterface 2 -DestinationComputerName sr-srv05 -DestinationNWInterface 3 -DestinationRGName rg01
Get-SRNetworkConstraint
Update-SmbMultichannelConnection
在延展式叢集上設定網路限制式:
Set-SRNetworkConstraint -SourceComputerName sr-cluster01 -SourceRGName group1 -SourceNWInterface "Cluster Network 1","Cluster Network 2" -DestinationComputerName sr-cluster02 -DestinationRGName group2 -DestinationNWInterface "Cluster Network 1","Cluster Network 2"
我是否可以設定一對多的複寫或可轉移 (A 到 B 到 C) 的複寫?
否,儲存體複本只支援伺服器、叢集或延展式叢集節點的一對一複寫。 這可能會在未來版本中變更。 當然,您可以設定特定磁碟區組的各種伺服器間任一方向的複寫。 例如,伺服器 1 可以將其 D 磁碟區複寫到伺服器 2,並從伺服器 3 複寫其 E 磁碟區。
我是否可以擴大或縮減儲存體複本所複寫的複寫磁碟區?
您可以增加 (擴充) 磁碟區,而不是進行壓縮。 根據預設,儲存體複本會防止系統管理員擴充複寫磁碟區;請在調整大小之前對來源群組使用 Set-SRGroup -AllowVolumeResize $TRUE
選項。 例如:
- 使用於來源電腦:
Set-SRGroup -Name YourRG -AllowVolumeResize $TRUE
- 使用您慣用的任何技術來擴大磁碟區
- 使用於來源電腦:
Set-SRGroup -Name YourRG -AllowVolumeResize $FALSE
我是否可以使目的地磁碟區上線以進行唯讀存取?
不在 Windows Server 2016 中。 複寫開始時,儲存體複本會卸載目的地磁碟區。
不過,在 Windows Server 2019 和 Windows Server 1709 之後的半年通道版本中,現在可以選擇裝載目的地儲存體,這項功能稱為「測試容錯移轉」。 若要這樣做,您必須擁有目前未在目的地上進行複寫且未使用的 NTFS 或 ReFS 格式化磁碟區。 然後,您可以暫時裝載複寫儲存體的快照集以作測試或備份之用。
例如,若要建立測試容錯移轉,亦即您要在目的地伺服器 "SRV2" 的複寫群組 "RG2" 中複寫磁碟區 "D:",並在 SRV2 上擁有未複寫的 "T:" 磁碟機,可以執行下列命令:
Mount-SRDestination -Name RG2 -Computername SRV2 -TemporaryPath T:\
現在可在 SRV2 上存取複寫磁碟區 D:。 您可以正常對其進行讀取和寫入、從其中複製檔案,或執行儲存在其他位置 (D: 路徑底下) 以妥善保存的線上備份。 T: 磁碟區只包含記錄檔資料。
若要移除測試容錯移轉快照集並捨棄其變更,請執行下列命令:
Dismount-SRDestination -Name RG2 -Computername SRV2
測試容錯移轉功能應只用於短期暫時作業。 該功能不適合長期使用。 在使用時,複寫作業會繼續複寫到實際的目的地磁碟區。
我是否可以在延展式叢集上設定「向外延展檔案伺服器 (SOFS)」?
儘管技術上可行,但這並非建議設定,因為連絡 SOFS 的計算節點中缺少網站感知。 如果使用校園遠距網路 (其中的延遲通常是以子毫秒為單位),此組態一般會正確運作而不會產生問題。
如果設定叢集對叢集複寫,在兩個叢集之間進行複寫時,「儲存體複本」可完全支援「向外延展檔案伺服器」,包括使用「儲存空間直接存取」。
在延展式叢集中或叢集之間複寫是否須使用 CSV?
否。 您可以使用叢集資源所擁有的 CSV 或永續性磁碟保留區 (PDR) 進行複寫,例如檔案伺服器角色。
如果設定叢集對叢集複寫,在兩個叢集之間進行複寫時,「儲存體複本」可完全支援「向外延展檔案伺服器」,包括使用「儲存空間直接存取」。
我是否可以在延展式叢集上使用「儲存體複本」來設定「儲存空間直接存取」?
Windows Server 中不支援此設定。 這可能會在未來版本中變更。 如果設定叢集對叢集複寫,「儲存體複本」可完全支援「向外延展檔案伺服器」和 Hyper-V 伺服器,包括使用「儲存空間直接存取」。
如何設定非同步複寫?
指定 New-SRPartnership -ReplicationMode
並提供引數 Asynchronous。 根據預設值,「儲存體複本」中的所有複寫都是同步的。 您也可以使用 Set-SRPartnership -ReplicationMode
來變更模式。
如何防止延展式叢集進行自動容錯移轉?
若要防止自動容錯移轉,您可以使用 PowerShell 來設定 Get-ClusterNode -Name "NodeName").NodeWeight=0
。 這將會在災害復原網站中移除每個節點上的投票。 接著,您可以在主要網站的節點上使用 Start-ClusterNode -PreventQuorum
,以及在災害網站的節點上使用 Start-ClusterNode -ForceQuorum
,以強制執行容錯移轉。 沒有任何圖形化選項可防止自動容錯移轉,且不建議防止自動容錯移轉。
如何停用虛擬機器復原功能?
若要防止新的 Hyper-V 虛擬機器復原功能運行,因而暫停虛擬機器,而不是將其容錯移轉到災害復原網站,請執行 (Get-Cluster).ResiliencyDefaultPeriod=0
如何減少初始同步的時間?
您可以使用精簡佈建的儲存體做為一種方式來加速初始同步時間。 「儲存體複本」會查詢並自動使用精簡佈建的儲存體,包括非叢集儲存空間、Hyper-V 動態磁碟與 SAN LUN。 啟動初始複寫後,磁碟區將無法壓縮或修剪。
您也可以使用植入的資料磁碟區來減少頻寬使用量,有時還可以減少時間,方法是確定目的地磁碟區含有來自主要磁碟區的一些資料子集,然後使用「容錯移轉叢集管理員」中的 [已植入] 選項或使用 New-SRPartnership
。 如果磁碟區大部分都是空的,則使用植入的同步可能會降減少時間和頻寬使用量。 有多種方式可植入資料,其功效也各不相同:
- 先前的複寫:藉由在包含磁碟和磁碟區的節點之間進行本機的一般初始同步複寫、移除複寫、將目的地磁碟傳送到其他位置,然後使用植入選項新增複寫。 這是最有效的方法,因為儲存體複本已保證區塊複製鏡像,唯一要複寫的是差異區塊。
- 還原的快照集或還原的快照集型備份:藉由將磁碟區型快照集還原至目的地磁碟區,區塊配置應具有最少的差異。 這是下一個最有效的方法,由於磁碟區快照是鏡像映像,因此區塊可能會相符。
- 複製的檔案:藉由在目的地上建立以前從未使用過的新磁碟區,並對資料執行完整的 robocopy/MIR 樹狀結構複製,可能會出現區塊相符項目。 使用 Windows 檔案總管或複製樹狀結構的某些部分並不會建立許多區塊相符項目。 手動複製檔案是效率最低的植入方法。
我是否可以委派使用者管理複寫?
您可以使用 Grant-SRDelegation
Cmdlet。 這可讓您在伺服器對伺服器、叢集對叢集及延展式複寫案例中設定特定使用者,就像擁有建立、修改或移除複寫的權限,而不需是本機系統管理員群組的成員。 例如:
Grant-SRDelegation -UserName contso\tonywang
這個 Cmdlet 將提醒您,使用者必須登出,然後登入其正準備進行管理的伺服器,以便讓變更生效。 您可以使用 Get-SRDelegation
和 Revoke-SRDelegation
進一步控制此動作。
我有哪些適用於複寫磁碟區的備份與還原選項?
「儲存體複本」支援備份及還原來源磁碟區。 它也支援建立及還原來源磁碟區的快照。 您無法在目的地磁碟區受儲存體複本保護的情況下備份或還原該磁碟區,因為目的地磁碟區既未裝載,也無法存取。 如果您遇到來源磁碟區遺失的災害時,使用 Set-SRPartnership
將前一個目的地磁碟區立即升級為讀取/可寫入來源,即可供您備份或還原該磁碟區。 您也可以使用 Remove-SRPartnership
和 Remove-SRGroup
來移除複寫,以重新掛接該磁碟區做為讀取/可寫入來源。
若要定期建立應用程式一致快照,您可以在來源伺服器上使用 VSSADMIN.EXE 以建立複寫資料磁碟區的快照。 例如,您正在其中使用「儲存體複本」來複寫 F: 磁碟區:
vssadmin create shadow /for=F:
接著,在您切換複寫方向、移除複寫,或者就只是仍位於相同來源磁碟機之後,您可以將任何快照還原到它的時間點。 例如,仍然使用 F:
vssadmin list shadows
vssadmin revert shadow /shadow={shadown copy ID GUID listed previously}
您也可以使用排程的工作,定期排程此工具來執行。 如需使用 VSS 的詳細資訊,請檢閱 Vssadmin。 備份記錄檔磁碟區時沒有任何需要或值。 嘗試這麼做時,VSS 將會加以忽略。
使用 Windows Server Backup、Microsoft Azure 備份、Microsoft DPM 或其他快照,只要 VSS、虛擬機器或以檔案為基礎的技術是在磁碟區層內運作,就受到「儲存體複本」所支援。 「儲存體複本」不支援以區塊為基礎的備份及還原。
儲存體複本需要哪些網路連接埠?
儲存體複本仰賴 SMB 和 WSMAN 進行其複寫和管理。 這表示須使用下列連接埠:
- 445 (SMB:複寫傳輸通訊協定、叢集 RPC 管理通訊協定)
- 5445 (iWARP SMB:只有在使用 iWARP RDMA 網路時才需要)
- 5985 (WSManHTTP:WMI/CIM/PowerShell 的管理通訊協定)
注意
Test-SRTopology Cmdlet 須使用 ICMPv4/ICMPv6,但不適用於複寫或管理。
記錄檔磁碟區最佳做法為何?
記錄檔的最佳大小會因環境和工作負載而大不相同,其取決於工作負載執行的寫入 IO 數量。
- 記錄檔的大小對執行速度沒有任何影響
- 例如,記錄檔的大小對 10GB 資料磁碟區與 10TB 資料磁碟區沒有任何影響
較大的記錄檔只會在寫入 IO 換出之前收集並保留更多寫入 IO。這可讓來源電腦與目的地電腦之間的服務中斷 (例如,網路中斷或目的地離線) 持續較長時間。 如果記錄檔可保存 10 小時的寫入,且網路中斷 2 小時,在網路恢復時,來源電腦可將未同步變更的差異輕鬆快速地播放到目的地電腦,進而極其迅速地再次提供保護。 如果記錄檔可保存 10 小時,而中斷時間為 2 天,來源電腦現在必須從稱為點陣圖的不同記錄檔播放,因此可能較慢才能恢復同步。同步後,就會恢復使用記錄檔。
儲存體複本仰賴記錄檔來達成所有寫入效能。 記錄檔效能對於複寫效能至關重要。 您必須確保記錄檔磁碟區的執行效能優於資料磁碟區,因為記錄檔會將所有寫入 IO 序列化和循序化。 您應該一律在記錄檔磁碟區上使用 SSD 這類快閃媒體。 您絕不能允許任何其他工作負載在記錄檔磁碟區上執行,同樣絕不能允許其他工作負載在 SQL 資料庫記錄檔磁碟區上執行。
再次說明:Microsoft 強烈建議,記錄檔儲存體的速度應比資料儲存體還快,而且記錄檔磁碟區絕對不能用於其他工作負載。
您可以執行 Test-SRTopology 工具來取得調整記錄檔大小的建議。 或者,也可以使用現有伺服器上的效能計數器來判斷記錄檔大小。 公式很簡單:監視工作負載底下的資料磁碟輸送量 (平均寫入位元組數/秒),並使用該輸送量來計算填滿不同大小的記錄檔所需的時間量。 例如,50 MB/秒的資料磁碟輸送量會導致 120GB 的記錄檔在 120GB/50 MB 的秒數 (2400 秒或 40 分鐘) 內折返。 因此,在記錄檔折返之前,會有 40 分鐘無法連線到目的地伺服器。 如果記錄檔折返,但目的地伺服器可再次連線,則來源伺服器會透過點陣圖記錄檔重新播放區塊,而不是主要記錄檔。 記錄檔的大小不會影響效能。
僅應備份來源叢集中的資料磁碟。 不應備份儲存體複本記錄檔磁碟,因為備份可能會與儲存體複本作業發生衝突。
為何選擇延展式叢集、叢集對叢集與伺服器對伺服器拓撲?
儲存體複本有三種主要組態:延展式叢集、叢集對叢集,以及伺服器對伺服器。 每種組態的優點各有不同。
延展式叢集拓撲非常適合需要透過協調流程進行自動容錯移轉的工作負載,例如 Hyper-V 私人雲端叢集和 SQL Server FCI。 該組態還具有使用容錯移轉叢集管理員的內建圖形化介面。 可透過持續保留,利用儲存空間、SAN、iSCSI 和 RAID 的傳統非對稱叢集共用儲存體架構。 您可以使用最少 2 個節點來執行此作業。
叢集對叢集拓撲使用兩個不同的叢集,非常適合需要進行手動容錯移轉的系統管理員,特別是當佈建第二個網站以進行災害復原,而不是日常使用時。 協調流程是手動作業。 與延展式叢集不同,儲存空間直接存取可用於此組態 (注意:請參閱「儲存體複本常見問題集」和「叢集對叢集說明文件」)。 您可以使用最少 4 個節點來執行此作業。
伺服器對伺服器拓撲非常適用於執行硬體無法叢集化的客戶。 該組態需要手動容錯移轉和協調流程。 適用於分公司與中央資料中心之間的低成本部署,特別是在使用非同步複寫時。 此組態通常可以取代用於單一主機災害復原案例的受 DFSR 保護檔案伺服器的執行個體。
在所有情況下,這些拓撲都支援在實體硬體和虛擬機器上執行。 在虛擬機器中執行時,基礎 Hypervisor 為必要是 Hyper-V,也可以是 VMware、KVM、Xen 等。
儲存體複本也有伺服器對自我模式,您可以在該模式中將複寫指向同一部電腦的兩個不同磁碟區。
儲存體複本是否支援重複資料刪除?
是,儲存體複本支援重複資料刪除。 在來源伺服器上的磁碟區上啟用重複資料刪除,而在複寫期間,目的地伺服器會收到磁碟區的重複資料刪除複本。
雖然您應該在來源和目的地伺服器上安裝重複資料刪除 (請參閱安裝並啟用重複資料刪除),但請不要在目的地伺服器上啟用重複資料刪除。 儲存體複本僅允許在來源伺服器上寫入。 因為重複資料刪除會對磁碟區進行寫入,所以應僅在來源伺服器上執行。
我是否可以在 Windows Server 2019 與 Windows Server 2016 之間複寫?
很抱歉,我們不支援在 Windows Server 2019 與 Windows Server 2016 之間建立新的 合作關係。 您可以將執行 Windows Server 2016 的伺服器或叢集安全地升級至 Windows Server 2019,而且任何現有的 合作關係都將保持有效。
但是,若要提高 Windows Server 2019 的複寫效能,合作關係的所有成員都必須執行 Windows Server 2019,而且您必須刪除現有的合作關係和相關聯的複寫群組,然後使用植入的資料重新加以建立 (適用於 Windows Admin Center 中建立合作關係或使用 New-SRPartnership Cmdlet 建立合作關係的情況)。
我該如何回報有關「儲存體複本」或本指南的問題?
如需儲存體複本的技術協助,您可以將需求發佈於 Microsoft 論壇。 您也可以寄送電子郵件給 srfeed@microsoft.com 以洽詢儲存體複本的問題。 有關本文件的問題,請參閱此頁面底部的<意見反應>一節,然後選取本頁面。
儲存體複本是否可以設定為雙向複寫?
儲存體複本是一種單向複寫技術。 其只會根據每個磁碟區從來源複寫到目的地。 這個方向可隨時反轉,但仍然只有一個方向。 但是,這並不表示您不能以一個方向複寫一組磁碟區 (來源和目的地),而以相反的方向複寫另一組的磁碟區 (來源和目的地)。 例如,您想要設定伺服器對伺服器的複寫。 Server1 和 Server2 的磁碟機代號分別為 L:、M:、N: 及 O:,而且您想要將磁碟機 M: 從 Server1 複寫到 Server2,但將磁碟機 O: 從 Server2 複寫到 Server1。 只要每個群組都有個別的記錄檔磁碟機,就可以這麼做。 亦即
- Server1 來源磁碟機 M: 和來源記錄檔磁碟機 L: 複寫到 Server2 目的地磁碟機 M: 和目的地記錄檔磁碟機 L:
- Server2 來源磁碟機 O: 和來源記錄檔磁碟機 N: 複寫到 Server1 目的地磁碟機 O: 和目的地記錄檔磁碟機 N:
是否可以將叢集磁碟置於維護模式?
儲存體複本會封鎖任何叢集磁碟,使其無法進入維護模式。 對於啟用或停用 Bitlocker 等工作,磁碟必須處於維護模式。 若要執行需要磁碟處於維護模式的工作,必須先中斷合作關係,並在工作完成後再次建立。