[Storage] Windows Server 2016 攻略 (五) - 資料備援新選擇 Storage Replica

    Windows Server 2016 攻略系列文章分 Compute / Storage / Network 三大主題,其中 Compute 主題一月份已經由以下三篇文章涵蓋介紹:

二月份為各位帶來的是 Storage 主題系列文章,將由以下三篇涵蓋介紹:

      本文,將說明及實作在微軟新世代 Windows Server 2016 雲端作業系統當中,新的儲存特色功能稱之為「SR(Storage Replica)」,它是一種與傳統儲存設備種類(DAS / NAS / SAN)無關,屬於「 區塊層級(Block Level) 」的儲存複本機制,支援採用「 同步(Synchronous) 」及「 非同步(Asynchronous) 」兩種不同的資料複寫方式,以 SMB 3 通訊協定來進行資料的複寫傳送機制。探討的主題包括:


同步複寫機制

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

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

  1. 應用程式發出寫入資料需求。
  2. 來源端節點主機將資料寫入至本地端儲存資源「日誌(Log)」當中,同時透過 SMB 3 協定將資料傳輸至目的端節點主機。
  3. 目的端節點主機,將所收到的資料寫入至本地端儲存資源「日誌(Log)」當中。
  4. 目的端節點主機寫入完成後,回覆給來源端主機已完成 IO 動作。
  5. 來源端節點主機回覆應用程式確認已完成 IO 動作。

上圖為同步(Synchronous)複寫機制運作架構示意圖

( 圖片來源: TechNet Library – Storage Replica Overview )

非同步複寫機制

      當採用「 非同步(Asynchronous) 」複寫機制時,系統會在本地端完成 IO 作業後便立即回覆給上層的應用程式,之後才將資料複寫到另一個位置。因此,這樣的資料複寫機制仍然有資料遺失的風險存在,只能達成「 近乎零資料損失(Near Zero Data Loss) 」的運作環境,因此並不適合用於需要高可用性的運作環境中(例如,容錯移轉叢集)。

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

  1. 應用程式發出寫入資料需求。
  2. 來源端節點主機將資料寫入至本地端儲存資源「日誌(Log)」當中。
  3. 來源端節點主機回覆應用程式確認已完成 IO 動作。
  4. 透過 SMB 3 協定將資料傳輸至目的端節點主機。
  5. 目的端節點主機,將所收到的資料寫入至本地端儲存資源「日誌(Log)」當中。
  6. 目的端節點主機寫入完成後,回覆給來源端主機已完成 IO 動作。

上圖為非同步(Asynchronous)複寫機制運作架構示意圖

( 圖片來源: TechNet Library – Storage Replica Overview )

實作  Server to Server 資料複寫

     本文實作環境中,兩台主機將位於同一個站台同一個網域當中,但是擺放在不同樓層的實體位置,以期能夠因應故障損壞事件。此外,在 Windows Server 2016 TP4 技術預覽當中,針對此使用情境的部分,並沒有 GUI 圖形化工具可以進行組態設定作業,因此將統一採用 PowerShell 進行實作。

上圖為 Server to Server 儲存複本運作架構示意圖

( 圖片來源: TechNet Library – Storage Replica Overview )

      在本文的實作環境中,為兩台伺服器分別增加二顆硬碟,分別是 200GB 用來擔任資料磁碟區,並且給予 D 磁碟機代號及 SR-Data 的磁碟標籤,以及 20GB 用來擔任日誌磁碟,並且給予 L 磁碟機代號及 SR-Log 的磁碟標籤以利識別。

上圖為兩台主機分別新增 200GB 資料磁碟區及 20GB 日誌磁碟區

然後,請為兩台主機安裝「 檔案伺服器(File Server) 」角色及「 儲存體複本(Storage Replica) 」功能。

上圖為安裝檔案伺服器角色及儲存體複本功能

      接著,便可以執行 Test-SRTopology 指令進行儲存複本環境測試作業,指令的參數都非常直覺就是指定來源端及目的端節點主機相關資訊,例如,電腦名稱、資料磁碟區、日誌磁碟區、測試時間、測試間隔...等。

上圖為進行儲存複本環境測試

上圖為儲存複本環境測試報表

      執行建立儲存複本機制的 New-SRPartnership 指令,並指定日誌磁碟區大小為 10GB。執行後,可以直接執行 Get-SRGroup 指令查詢複寫資料,可以看到 ReplicationStatus 欄位為「InitialBlockCopy」,表示此時兩台主機正在進行資料區塊互相同步作業,當欄位值變更為「ContinuouslyReplicating」時便表示同步作業完成。

上圖為建立儲存複本機制

最後,你可以使用「(Get-SRGroup).Replicas」指令,搭配指定的來源端主機或目的端主機的電腦名稱,即可查詢磁碟複寫資訊,例如,資料磁碟區、複寫模式...等。

上圖為查詢磁碟複寫資訊

      至此,SR(Storage Replica)儲存複本機制已經實作完成。事實上,SR 機制可以跟 Hyper-V、Storage Spaces Direct、Cluster、SOFS(Scale-Out File Server)、Deduplication 等特色功能協同運作,並且支援採用 ReFS / NTFS / CSVFS 等新舊檔案系統。

此外,SR 機制在使用案例上,還有「Stretch Cluster」、「Cluster to Cluster」等不同的應用情境,在後續文章中也將為讀者陸續介紹。

以上是 Storage主題系列文章第二篇,想知道最新消息歡迎追蹤 TechNet 台灣 關注最新發佈唷!