天天看點

Windows Server 2016 Storage Replica

Windows Server 2016 Storage Replica

存儲副本是Windows Server 2016中的一個新的功能,它是一種與傳統儲存設備種類(NAS/DAS/SAN)無關,基于Block級别的存儲副本機制。存儲副本支援采用同步複制和異步複制兩種不同的資料複寫方式,存儲副本以SMB通訊協定來進行資料的複寫和傳送。它可以使用任何固定的磁盤存儲,以及任何的存儲結構。存儲副本不需要群集技術,并且它可以使用故障轉移群集管理器、PowerShell、WMI進行管理。

同步複制和異步複制兩種不同的複寫方式的差別如下:

同步複寫機制:當采用「同步(Synchronous)」複寫機制時,系統将會保證每次的資料 IO 作業完成之前,都會将資料寫入至少兩個不同的位置之後,才會回複給上層的應用程式已完成 IO 作業。 是以,當來源端節點主機發生故障損壞事件時,便可以進行容錯備援的切換動作,接着讓應用程式使用目的端節點主機的資料快速恢複運作。是以,它适合應用于需要高可用性及災難複原,也就是「零資料損失(Zero Data Loss)」的營運服務。

下列為采用同步複寫機制時,兩端主機之間資料複寫的動作如下:

1.應用程式發出寫入資料需求。

2.來源端節點主機将資料寫入至本地端儲存資源「日志(Log)」當中,同時透過 SMB 3 協定将資料傳輸至目的端節點主機。

3.目的端節點主機,将所收到的資料寫入至本地端儲存資源「日志(Log)」當中。

4.目的端節點主機寫入完成後,回複給來源端主機已完成 IO 動作。

5.來源端節點主機回複應用程式确認已完成 IO 動作。

<a href="http://s3.51cto.com/wyfs02/M00/89/78/wKiom1gUS8KTNBSAAABSH4Ogn9s208.jpg" target="_blank"></a>

異步複寫機制:當采用「異步(Asynchronous)」複寫機制時,系統會在本地端完成 IO 作業後便立即回複給上層的應用程式,之後才将資料複寫到另一個位置。是以,這樣的資料複寫機制仍然有資料遺失的風險存在,隻能達成「近乎零資料損失(Near Zero Data Loss)」的運作環境,是以并不适合用于需要高可用性的運作環境中(例如,故障轉移叢集)。

下列為采用異步複寫機制時,兩端主機之間資料複寫的動作如下:

2.來源端節點主機将資料寫入至本地端儲存資源「日志(Log)」當中。

3.來源端節點主機回複應用程式确認已完成 IO 動作。

4.透過 SMB 3 協定将資料傳輸至目的端節點主機。

5.目的端節點主機,将所收到的資料寫入至本地端儲存資源「日志(Log)」當中。

6.目的端節點主機寫入完成後,回複給來源端主機已完成 IO 動作。

<a href="http://s3.51cto.com/wyfs02/M02/89/76/wKioL1gUS8PSUbVMAABVBJkjz6k062.jpg" target="_blank"></a>

在本次實驗中,我将使用兩台Windows Server 2016 Datacenter進行測試,兩台伺服器位于同一域(VCloud.Lab)内。我們假設兩台伺服器在不同樓層,以能夠應對故障損壞。在Windows Server 2016中,并沒有GUI界面可以進行配置,是以本次實驗環境我們統一采用PowerShell進行配置。

<a href="http://s3.51cto.com/wyfs02/M00/89/76/wKioL1gUS8TzaZcgAABBH26j05I723.jpg" target="_blank"></a>

1、建立複制夥伴關系

在本次實驗中我分别為兩台伺服器增加了兩塊磁盤,分别是資料盤(Data),大小50GB;日志盤(Log),大小15GB。如下圖所示:

SRNode1:

<a href="http://s3.51cto.com/wyfs02/M01/89/76/wKioL1gUS8SydLYUAAAenjC88fU903.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/89/76/wKioL1gUS8WS--YqAAAUe82XWlA573.png" target="_blank"></a>

SRNode2:

<a href="http://s3.51cto.com/wyfs02/M02/89/76/wKioL1gUS8aB874sAAAecteQtEo317.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/89/76/wKioL1gUS8eRg_LvAAATrMacD84232.png" target="_blank"></a>

為兩台伺服器安裝存儲副本角色,使用如下PS指令:

Invoke-Command -ComputerName SRNode1,SRNode2 -Command {Install-WindowsFeature -Name Storage-Replica,FS-FileServer -Restart }

<a href="http://s3.51cto.com/wyfs02/M00/89/79/wKiom1gUS8iyPYg0AAA1Nqx5f-0858.jpg" target="_blank"></a>

使用Test-SRTopology指令來進行存儲副本測試,運作如下PS指令:

Test-SRTopology -SourceComputerName SRNode1 -SourceVolumeName d: -SourceLogVolumeName e: -DestinationComputerName SRNode2 -DestinationVolumeName d: -DestinationLogVolumeName e: -DurationInMinutes 5 -ResultPath c:\Log\

<a href="http://s3.51cto.com/wyfs02/M01/89/79/wKiom1gUS8nx2ndNAABAHMRLJwQ278.jpg" target="_blank"></a>

測試完成以後如下圖所示:

<a href="http://s3.51cto.com/wyfs02/M00/89/76/wKioL1gUS8qxVmxuAABWXcxlGGw503.jpg" target="_blank"></a>

測試完成以後會生産測試報告,如下圖所示:

<a href="http://s3.51cto.com/wyfs02/M01/89/79/wKiom1gUS8uBUFmPAACYjsLPiXI875.jpg" target="_blank"></a>

使用New-SRPartnership指令來進行建立存儲副本,具體指令如下所示:

New-SRPartnership -SourceComputerName SRNode1 -SourceRGName SR-SRNode1 -SourceVolumeName D: -SourceLogVolumeName E: -DestinationComputerName SRNode2 -DestinationRGName SR-SRNode2 -DestinationVolumeName D: -DestinationLogVolumeName E: -LogSizeInBytes 5GB -Verbose

<a href="http://s3.51cto.com/wyfs02/M02/89/76/wKioL1gUS8ygu4WyAAA5iTgLIzY905.jpg" target="_blank"></a>

建立完成,如下圖所示:

<a href="http://s3.51cto.com/wyfs02/M00/89/76/wKioL1gUS83RuCENAABbzZzBN-U420.jpg" target="_blank"></a>

建立完成以後切換到節點SRNode2會發現其Data(D)盤已經不可用:

<a href="http://s3.51cto.com/wyfs02/M01/89/76/wKioL1gUS83iO-50AAAdpVJbQU8332.png" target="_blank"></a>

2、監控複制性能:

打開性能螢幕,點選綠色的+:

<a href="http://s3.51cto.com/wyfs02/M02/89/79/wKiom1gUS87jmIiFAABAiiF6UEg111.jpg" target="_blank"></a>

點選 Storage Replica Statistics,然後點選添加,點選确定:

<a href="http://s3.51cto.com/wyfs02/M00/89/79/wKiom1gUS8-QH7baAACiueRBVUg745.jpg" target="_blank"></a>

運作如下PS指令進行測試Copy-Item C:\Windows\System32\Drivers d: -Recurse

<a href="http://s3.51cto.com/wyfs02/M00/89/79/wKiom1gUS9DyF_ERAAAbDmX9P6E375.jpg" target="_blank"></a>

資料開始複制以後觀察性能螢幕,如下圖所示:

<a href="http://s3.51cto.com/wyfs02/M01/89/79/wKiom1gUS9Gwn4s0AACidzCWUHw881.jpg" target="_blank"></a>

3、配置反向複制

在這個步驟中我會将SRNode2配置為源伺服器,SRNode1配置為目标伺服器。

以管理者身份打開Windows PowerShell,鍵入如下PS指令:

Set-SRPartnership -NewSourceComputerName SRNode2 -SourceRGName SR-SRNode2 -DestinationComputerName SRNode1 -DestinationRGName SR-SRNode1 -Confirm:$False

<a href="http://s3.51cto.com/wyfs02/M01/89/76/wKioL1gUS9LyDUTjAAAhVnw8bjo034.jpg" target="_blank"></a>

指令執行完成,如下圖所示:

<a href="http://s3.51cto.com/wyfs02/M01/89/76/wKioL1gUS9Pyuu_eAAAybp896qk159.jpg" target="_blank"></a>

登陸到SRNode1可以看到D盤以标記為不可用:

<a href="http://s3.51cto.com/wyfs02/M02/89/76/wKioL1gUS9TznDZXAAAWVVGNMj0659.jpg" target="_blank"></a>

4、删除複制副本

在此步驟中我将删除Windows卷複制。

以管理者身份打開Windows PowerShell:

在開始删除之前,我将通過以下兩個PS指令查詢存儲副本組和存儲的夥伴關系:Get-SRGroup、Get-SRPartnership.如下圖所示:

<a href="http://s3.51cto.com/wyfs02/M00/89/76/wKioL1gUS9WRYQ6tAACZL_x5IkE919.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/89/76/wKioL1gUS9bix_uFAAAYXSI2tMU737.png" target="_blank"></a>

使用如下指令删除複制:

Get-SRPartnership | Remove-SRPartnership -Confirm:$False

<a href="http://s3.51cto.com/wyfs02/M02/89/79/wKiom1gUS9eDf33kAAAZdJ_kRO0357.jpg" target="_blank"></a>

Remove-SRGroup -Name SR-SRNode2:

<a href="http://s3.51cto.com/wyfs02/M00/89/79/wKiom1gUS9exfwUTAAAGY0hLriI845.png" target="_blank"></a>

成功删除,如下圖所示:

<a href="http://s3.51cto.com/wyfs02/M00/89/76/wKioL1gUS9iwghVYAABKsrqIQ4U366.jpg" target="_blank"></a>

切換到SRNode1删除SRGroup:

Remove-SRGroup -Name SR-SRNode1

<a href="http://s3.51cto.com/wyfs02/M00/89/79/wKiom1gUS9nwKzMeAAAGb_BAx8M202.png" target="_blank"></a>

檢視SRNode1和SRNode2的磁盤驅動器都已正常:

确認每個伺服器的D盤都存在之前複制的Drivers檔案夾:

<a href="http://s3.51cto.com/wyfs02/M01/89/79/wKiom1gUS9vyQkLmAAARtxHFCPU207.png" target="_blank"></a>

本文轉自wuyvzhang 51CTO部落格,原文連結:http://blog.51cto.com/wuyvzhang/1867094,如需轉載請自行聯系原作者

繼續閱讀