係統粉 > IT資訊 > 微軟資訊

深入了解微軟S2D軟件定義存儲技術

發布時間:2017-10-22    瀏覽數:

本文為友情轉發,供讀者參考學習,不完全代表編者觀點。作者高毅(Jason Gao),IT行業12年技術和培訓相關工作經驗,曾在Dell等公司任職,目前為微軟OEM產品技術專家。

微軟新發布的軟件定義存儲技術:Storage SpacesDirect,集成在Windows Server 2016 數據中心版內,它將連接本地驅動器的標準x86服務器組建成具備高可用、可擴展的軟件定義存儲,並且成本低於傳統SAN或者NAS陣列。同時由於架構簡化,並且運用緩存、存儲層和糾刪碼等新功能以及最新的硬件技術(如:RDMA網絡、NVMe閃存、Storage Class Memory)實現了更高的存儲效率和性能。本文內容就帶大家深入了解微軟軟件定義存儲技術產品:Storage Spaces Direct(下文簡稱S2D)。

部署方案選項:

S2D適用於兩種不同的部署方式:

1.融合架構:也稱為分離部署。將Hyper-V集群和運行著S2D橫向擴展文件服務器分開各自獨立,通過SMB3提供NAS文件共享。Hyper-V集群可以擴展到64台服務器,大規模部署建議才用這種部署方案。

深入了解微軟S2D軟件定義存儲技術(1)

2.超融合架構:直接在提供存儲的服務器上運行Hyper-V虛擬機。此架構無需配置文件服務訪問和權限,降低中小型企業部署的硬件成本。超融合架構是本文介紹的重點。

深入了解微軟S2D軟件定義存儲技術(2)

工作原理:

如上文所提,Storage Spaces Direct是由Storage Spaces演變而來,Storage Spaces最先在Windows Server 2012引入。它利用Windows Server 中已有的許多功能,比如:故障轉移集群、集群共享卷(CSV),SMB3.0及存儲空間(StorageSpaces)。它還引入一個非常重要的新技術:軟件存儲總線(Software Storage Bus),下圖是S2D技術堆棧概覽:

深入了解微軟S2D軟件定義存儲技術(3)

S2D技術主要優勢:

深入了解微軟S2D軟件定義存儲技術(4)

簡單易用:隻需要15分鍾就可以使用Power Shell命令將運行Windows Server 2016數據中心版的服務器,部署成S2D存儲集群。對於System Center用戶更加容易,部署S2D知識簡單的圖形化向導界麵。

深入了解微軟S2D軟件定義存儲技術(5)

高性能:無論是全閃存還是混合磁盤,每個節點都可以輕鬆達到15萬IOPS性能(4K隨機讀),並且具備較低延遲。一切源於S2D和Hyper-V集成的架構,內置讀寫緩存,以及對PCIe總線的 NVMe驅動器的支持。

深入了解微軟S2D軟件定義存儲技術(6)

容錯:內置的容錯還原功能可以在不影響業務可用性的情況下處理驅動器、服務器或組件的故障。大規模部署還可以配置機箱和機櫃的容錯,數據校驗位存放在不同的機箱或者機櫃上,提供跨機箱或者跨機櫃的容錯。如果硬件發生故障,隻需更換發生故障的硬件,而軟件會自行複原,不需要複雜的管理步驟。

深入了解微軟S2D軟件定義存儲技術(7)

提高資源效率:糾刪碼最多可提高 2.4 倍的存儲效率,它采用獨特的創新(如LRC和 ReFS 實時層),使效率優勢擴展到了硬盤驅動器及熱/冷數據層混合工作負載,同時最大程度降低了 CPU 使用率,為最需要的虛擬機提供資源。

深入了解微軟S2D軟件定義存儲技術(8)

可管理性:適用存儲QoS控件,使高負載的虛擬機保持符合每台虛擬機的 IOPS 上限和下限。運行狀況服務提供連續的內置監視和警報,並使用新的 API,可在群集範圍內輕鬆收集大量性能和容量指標。

深入了解微軟S2D軟件定義存儲技術(9)

可擴展性:可擴展從2台到 16 台服務器以及最多416個驅動器,每個群集擁有最高 1 PB (1,000 TB) 的存儲。隻需添加驅動器或添加更多服務器即可實現擴展,S2D自動載入新的驅動器,並開始使用。存儲效率和性能隨著擴展而大幅提升。

我們已經簡要了解S2D的架構、優勢和技術堆棧,為了讓您更加了解S2D存儲運行原理和規劃設計注意事項,接下來我們將深入分析S2D技術。(閱讀以下內容需要對存儲技術有一定基礎)

1.了解S2D的緩存技術

S2D具有內置服務器端緩存,以最大限度地提高存儲性能。這是一個大型、持久且實時的讀取和寫入緩存。啟用S2D時將自動配置緩存。在大多數情況下,無需任何手動管理。緩存如何工作取決於配置的驅動器類型。

六種組合方式,可以歸類為兩大類:“全閃存”和“混合”

全閃存部署:3種部署方式,可以最大提升存儲性能並優化成本。

深入了解微軟S2D軟件定義存儲技術(10)

混合部署:3種部署方式,平衡性能和容量需求,最大限度提高容量。

深入了解微軟S2D軟件定義存儲技術(11)

在具有多個驅動器類型的部署中,存儲空間直通自動將所有“最快”類型的驅動器用於緩存。剩餘的驅動器用作容量空間。注意:緩存不構成可用的存儲容量,存儲在緩存中的所有數據隻是暫存,並且所有緩存的數據也會存儲在其他的位置,或者取消暫存後存儲到其他位置。所以S2D存儲的裸容量僅計算容量驅動器的總和,而不計算緩存盤。

深入了解微軟S2D軟件定義存儲技術(12)

·大型、持久、實時的讀寫緩存 (DWPD≥3或者TBW≥4)

·如果使用緩存盤,每台服務器至少2塊緩存盤

·每台服務器至少包含4塊容量盤

·使用經過認證的SAS HBA卡,不支持RAID HBA控製器或 SAN設備

比如:同時有NVMe和SSD,NVMe作為SSD的緩存;同時有SSD和HDD,SSD作為HDD的緩存。

1.1自動設置緩存規則:

S2D存儲會根據緩存驅動器類型自動配置緩存規則。為固態硬盤提供緩存,比如同時有NVMe和SSD,NVMe隻能作為SSD的寫入緩存。為HDD提供緩存,比如SSD或NVMe為HDD提供緩存時,可作為讀取和寫入緩存。

深入了解微軟S2D軟件定義存儲技術(13)

如下表:總結了哪些驅動器用作緩存、哪些驅動器用作容量空間,以及每個部署方式對應於的緩存行為。

部署

緩存驅動器

容量驅動器

緩存行為(默認)

全SSD 或 全NVMe

無(可選:手動配置)

SSD 或 NVMe

隻寫(如果已配置)

NVMe + SSD

NVMe

SSD

隻寫

NVMe + HDD

NVMe

HDD

讀取 + 寫入

SSD + HDD

SSDSSD

HDDHDD

讀取 + 寫入

NVMe + SSD + HDD

NVMe

SSD + HDD

對HDD 為讀取 + 寫入

對SSD 為隻寫

1.2 驅動器綁定是動態的

緩存驅動器和容量驅動器之間的綁定比率可以是從 1:1 到 1:12 及更高的任意比率。無論是添加還是刪除驅動器(例如,縱向擴展或失敗後),比率都會自動調節。這意味著,你隨時可以獨立添加緩存驅動器或容量驅動器。為了對稱,我們建議將容量驅動器的數量設置為緩存驅動器數量的倍數。例如:如果你有 4 個緩存驅動器,則使用 8 個容量驅動器(1:2 的比率)。(下圖為GIF動畫)

深入了解微軟S2D軟件定義存儲技術(14)

1.3 處理緩存驅動器故障

當緩存盤發生故障時,本地服務器將丟失任何尚未取消暫存的寫入,這意味著緩存中的數據隻存在位於其他服務器的副本中。和其他任何驅動器發生故障後一樣,存儲空間能夠通過正常運行的副本自動恢複。在短時間內,與故障緩存盤綁定的容量驅動器將顯示不正常。一旦發生緩存重綁定且完成數據修複,它們將恢複顯示為正常(這一切均為自動)。這種情況就是每台服務器需要至少兩個緩存驅動器才能保障性能的原因。然後你可以像更換其他驅動器一樣更換緩存驅動器。(下圖為GIF動畫)

深入了解微軟S2D軟件定義存儲技術(15)

2.S2D的容錯和存儲效率

作為一款軟件定義存儲產品,除了提供優秀的存儲性能和靈活的架構,也要保障存儲數據的可靠性。本章節將介紹S2D的容錯技術,對不同存儲節點數量下可使用的容錯能力以及存儲效率進行分析。部分容錯技術沿用Storage Space技術,您可以直接瀏覽本文總結部分。

2.1概述

在本質上存儲空間提供數據容錯功能。實現方式與 RAID 的方式相似,除了S2D是在軟件中實現跨服務器實現數據容錯。大致可分為兩類:“鏡像”和“奇偶校驗”。

2.2鏡像

鏡像保留所有數據的多個副本,提供容錯。這最接近RAID-1。在 Windows Server 2016 中,存儲空間提供兩類鏡像:“雙向”和“三向”。

雙向鏡像

深入了解微軟S2D軟件定義存儲技術(16)

雙向鏡像為所有數據編寫兩個副本。存儲效率為 50%,即若要寫入 1 TB 的數據,需要至少 2 TB 的物理存儲容量。同樣地,需要至少兩節點“容錯域”,對存儲空間直通而言,這意味著兩台服務器。

三向鏡像

深入了解微軟S2D軟件定義存儲技術(17)

三向鏡像為所有數據編寫三個副本。存儲效率為33.3%,即若要寫入 1 TB 的數據,至少需要 3 TB 的物理存儲容量。對S2D而言,這意味著三台服務器。三向鏡像可以安全度過一次至少出現兩個硬件(驅動器或服務器)問題。例如,如果你在另一個驅動器或服務器突然發生故障時重新啟動一個服務器,則所有數據都將保持安全且可連續訪問。

2.3奇偶校驗

奇偶校驗不影響容錯的前提下提供更好的存儲效率

單奇偶校驗

單奇偶校驗僅保留一個按位奇偶校驗符號,這一次僅對一個失敗提供容錯。這最接近 RAID-5。若要使用單奇偶校驗,需要至少三個硬件容錯域,對存儲空間直通而言,這意味著三台服務器。因為三向鏡像在相同範圍內提供更多容錯,所以我們不推薦使用單奇偶校驗。但是,如果堅持使用,可隨時利用,並且完全受支持。

雙奇偶校驗

雙奇偶校驗實現 Reed-Solomon 錯誤更正代碼,保留兩個按位奇偶校驗符號,因此提供與三向鏡像提供的相同容錯(即最多同時兩個失敗),但存儲效率更高。這最接近RAID-6。若要使用雙奇偶校驗,需要至少四個硬件容錯域,對存儲空間直通而言,這意味著四台服務器。在該範圍內,存儲效率為 50%,即若要寫入 2 TB 的數據,需要至少 4 TB 的物理存儲容量。

深入了解微軟S2D軟件定義存儲技術(18)

雙奇偶校驗的存儲效率增加了用戶所擁有的硬件容錯域,即從 50% 增加到最高 80%。例如七台服務器時,效率提高到 66.7%,即若要存儲 4 TB 數據,隻需 6 TB 的物理存儲容量。

深入了解微軟S2D軟件定義存儲技術(19)

本地重建代碼LRC

Windows Server 2016 中的存儲空間引入了 微軟研究院開發的名為“本地重建代碼”或 LRC 的高級技術。在大範圍內,雙奇偶校驗使用 LRC 將編碼/解碼劃分為幾個較小的組,以減少從失敗寫入或恢複所需的開銷。對於硬盤驅動器 (HDD),組大小為四個符號;對於固態硬盤 (SSD),組大小為六個符號。例如,以下是硬盤驅動器和 12 個硬件容錯域(意味著 12 台服務器)布局(即有兩組的四個數據符號)的外觀。它實現了 72.7% 的存儲效率。

深入了解微軟S2D軟件定義存儲技術(20)

總結一下存儲空間直通可用的複原類型、使用每種類型的最低範圍要求、每種類型可容忍的失敗數以及相應的存儲效率。

容錯功能

失敗容差

所需最少節點數

存儲效率

雙向鏡像Two-way mirror

1

2

50.00%

三向鏡像Three-way mirror

2

3

33.30%

雙奇偶校驗Dual parity

2

4

50.0% - 80.0%

混合Mixed

2

4

33.3% - 80.0%

所有數據保持聯機的示例

這六個示例顯示三向鏡像或雙奇偶校驗可以容忍的故障。

深入了解微軟S2D軟件定義存儲技術(21)

離線了一個驅動器(包括緩存驅動器)

離線一台服務器

深入了解微軟S2D軟件定義存儲技術(22)

離線了一台服務器和一個驅動器

不同服務器離線了兩個驅動器

深入了解微軟S2D軟件定義存儲技術(23)

離線了超過兩個驅動器,前提是最多兩台服務器受影響

離線了兩台服務器

所有數據離線的示例

在生命周期內,存儲空間可容忍任何數量的失敗,因為如果時間充足,在每個失敗後,它都可以還原到完整複原。但是,在任何指定時刻,失敗可安全影響最多兩個容錯域。因此,以下是三向或雙奇偶校驗無法容忍的失敗示例。

深入了解微軟S2D軟件定義存儲技術(24)

三台或更多服務器同時丟失驅動器

同時丟失三台或更多服務器

3. S2D的硬件要求

本章節介紹測試S2D的最低硬件要求。對於生產環境,我們建議使用Dell S2D Ready Nodes超融合一體機,方案可靠性和兼容性經過驗證測試,工作負載和性能可估算,並且包括部署服務和售後服務。

所有係統、組件、設備和驅動程序必須標有“Certifiedfor Windows Server 2016”,可以登陸https://www.windowsservercatalog.com/查詢認證信息。

此外對於不同係統和組件有以下具體要求:

係統和組件

具體要求

服務器

·最少2台服務器,最多16台服務器

·所有服務器應是相同的廠商和型號

處理器

最低為 Intel Nehalem 或更高版本的兼容處理器

內存

·每台服務器應按緩存驅動器每TB容量配4GB內存,以存儲S2D元數據。例如:2個1.6TB緩存驅動器,應保留2X1.6X4096MB=13107MB(12.8GB)的供S2D使用的內存。

·Windows Server、虛擬機等其他應用負載使用的內存。

網絡

·最小 10 GbE 網卡用於超融合群集內通信,推薦25 GbE網卡提高東西流向帶寬

·建議:兩個 網卡進行NIC Teaming 用於冗餘和提升性能

·建議:支持遠程直接內存訪問 (RDMA) 的 網卡(iWARP 或 RoCE)

微軟認證網卡:(根據微軟測試數據,持續更新中)

Mellanox ConnectX Pro 3 (10GbE SFP+)

Intel Ethernet Connection X722(10GbE SFP+)

Cavium FastLinQ QL41262H(10GbE SFP+ or 25GbE SFP+)

Mellanox ConnectX Pro 4LX (25GbE SFP+)

驅動器

·服務器本地驅動器:支持SATA、SAS或NVMe。驅動器支持512n、512e或4Kn。每個驅動器隻能物理連接到一台服務器。

·所有服務器必須配置相同的驅動器類型。建議:相同驅動器配置(型號、容量和固件)

·SSD必須是企業級,具備斷電保護功能。

·建議:緩存驅動器必須具有寫入耐用性:每日寫入次數DWPD ≥3,日寫入量TBW ≥4TB。了解更多DWPD和TBW https://blogs.technet.microsoft.com/filecab/2017/08/11/understanding-dwpd-tbw/

·每台服務器至少2塊緩存驅動器,按緩存盤倍數添加容量盤。每台服務器至少配4個容量盤。

·配置專用驅動器或Raid-1用於安裝Windows Server 2016操作係統,建議大小200GB以上。

存儲池

每個存儲池最大1PB原始容量

HBA

·用於 SAS 和 SATA 驅動器的直通 SAS

·用於 SAS 和 SATA 驅動器的 SCSI Enclosure Services (SES)

·不支持:RAID HBA 控製器或 SAN(光纖通道、iSCSI、FCoE)設備

Dell 認證 HBA卡:HBA330

最低驅動器數量

·如果有用作緩存驅動器,則每個服務器必須至少有 2 個緩存驅動器

·每個服務器必須至少有 4 個容量(非緩存)驅動器

存在驅動器類型

所需的最小數量

所有 NVMe(同一型號)

4 個 NVMe

所有 SSD(同一型號)

4 個 SSD

NVMe + SSD

2 個 NVMe + 4 個 SSD

NVMe + HDD

2 個 NVMe + 4 個 HDD

SSD + HDD

2 個 SSD + 4 個 HDD

NVMe + SSD + HDD

2 個 NVMe + 4 個其他

4. 管理S2D

本章節將簡要介紹S2D的管理。S2D是一個基於Windows Server 的軟件定義存儲解決方案,管理S2D時,您可以使用 Windows PowerShell、System Center VirtualMachine Manager (VMM) 和 Operations Manager 或者故障轉移群集管理器。

用於管理存儲空間直通的工具

部署存儲後,您將執行某些管理任務,包括監視故障物理磁盤或其他問題、更換故障的磁盤以及更新固件和驅動程序。有關常見的管理選項,請參閱下表。

工具

優點

缺點

Windows PowerShell

- 全麵控製存儲的所有方麵

- 可以通過編寫腳本來自動執行

- 有功能強大的示例腳本可用

- 與視覺監視整體存儲運行狀況相比更好管理。

- 腳本需要開發和測試。

System Center Virtual Machine Manager (VMM) 和 Operations Manager

- 簡單易用

- 用於監視多個係統的圖形顯示

- 常見問題警報

- 用於管理 VM 和存儲的常見工具

- 一些任務需要 Windows PowerShell

- 需要 System Center 許可證

- 如果你還沒有 System Center 或者你的部署規模大於你的現有部署所能處理的規模,則可能需要額外的基礎結構

故障轉移群集管理器和服務器管理器

- 簡單易用

- 用於監視的圖形顯示

- 一些任務需要 Windows PowerShell

- 使用存儲時在服務器管理器中慢速自動刷新

- 性能和可用性因存在大量對象而降低

添加服務器

添加服務器(也稱作橫向擴展)可增加存儲容量、提高存儲性能並實現更高的存儲效率。如果你的部署是超融合的架構,則添加服務器還可為你的工作負載提供更多計算資源。比如2節點擴展到3節點,可以解鎖三向鏡像的容錯功能,提供更好容錯能力。(下圖為GIF動畫)

深入了解微軟S2D軟件定義存儲技術(25)

通過添加服務器,很容易通過典型部署實現橫向擴展。隻需兩個步驟:

1.使用故障轉移群集管理單元或者在 PowerShell 中使用 Test-Cluster命令,運行群集驗證向導(以管理員身份運行)。包括你要添加的新服務器。

2.在群集上運行Add-ClusterNode命令以完成服務器添加

添加驅動器

添加驅動器(也稱為縱向擴展)將增加存儲容量並提高性能。如果你有可用插槽,則無需添加服務器便可將驅動器添加到每個服務器,從而擴展你的存儲容量。您可以隨時獨立添加緩存驅動器或容量驅動器,但請注意確保所有服務器具有相同的驅動器配置。在短時間內,符合條件的驅動器將自動被“存儲空間直通”識別並添加到存儲池,卷將自動跨所有驅動器均勻地重新分發。此時,你已完成操作並準備擴展現有卷或創建新卷。(下圖為GIF動畫)

深入了解微軟S2D軟件定義存儲技術(26)

擴展S2D中的卷

擴展服務器節點或者添加驅動器,都將擴大存儲池,本章節您將了解如何調整卷大小。

在調整卷大小之前必須確認,請確保存儲池中有足夠的容量,以容納其新的、更大占用空間。例如,將三向鏡像卷的大小從 1 TB 調整為 2 TB 時,其占用空間將從 3 TB 增長到 6 TB。要成功調整大小,存儲池中將至少需要 (6 - 3) = 3 TB 的可用容量。

在S2D中,每個卷都由以下對象堆疊組成:群集共享卷 (CSV)(這是一個卷)、分區、磁盤(這是一個虛擬磁盤)以及一個或多個存儲層(如果適用)。若要調整卷的大小,你將需要調整其中一些對象的大小。

深入了解微軟S2D軟件定義存儲技術(27)

調整卷大小的兩步驟:

第 1 步 - 調整虛擬磁盤的大小:當調整虛擬磁盤大小時,磁盤也會自動跟著調整大小。

第 2 步 - 調整分區大小: 當調整分區大小時,卷和CSV也會自動跟著調整大小。

S2D節點維護性離線

在日常使用中,有時候需要停機維護操作,執行此操作需要暫停(掛起)你所要脫機的服務器,將角色移動到群集中的其他服務器,並驗證所有數據在群集中的其他服務器上可用,以便數據在整個維護過程中保持安全和可訪問。

暫停並清空服務器:重啟或關閉服務器之前,請暫停並清空(移除)任意角色(例如,在服務器上運行的虛擬機)。要在故障轉移群集管理器中執行此操作,請轉到節點,右鍵單擊該節點,然後依次選擇暫停 > 清空角色。

深入了解微軟S2D軟件定義存儲技術(28)

正在關閉服務器:服務器完成清空後,它將在故障轉移群集管理器和PowerShell 中顯示為暫停。現在,你可以像往常一樣安全重啟或關機。

深入了解微軟S2D軟件定義存儲技術(29)

恢複服務器:當準備好將服務器再次開始托管工作負載時,可以恢複它。要在故障轉移群集管理器中執行此操作,請轉到節點,右鍵單擊該節點,然後依次選擇恢複 > 故障回複角色。

深入了解微軟S2D軟件定義存儲技術(30)

重新同步存儲:服務器恢複時,需要重新同步在暫停時(當其驅動器不接收存儲 IO 時)發生的任何新寫入。此過程自動發生。這一過程可能需要數分鍾才能完成,具體取決於服務器暫停的時間和寫入的新數據量。

簡單易用、高可靠性的S2D存儲

通過本章節對S2D介紹,相信您對S2D存儲架構,硬件配置要求,磁盤性能及容錯技術等都有了深入的了解。通過S2D技術,能為您提供高性能、低延遲、簡單易管理的軟件定義存儲。同時結合微軟先進的Hyper-V虛擬化技術和網絡控製器SDN技術,為用戶構建靈活的超融合架構。特別適用於Hyper-V虛擬化,VDI,SQL Server等業務場景使用。

作者介紹:

深入了解微軟S2D軟件定義存儲技術(31)

高毅 Jason Gao Email:Jason.gao@qq.com

IT行業12年技術和培訓相關工作經驗,曾在Dell等公司任職,目前為微軟OEM產品技術專家。豐富的項目管理和數據中心方案構架經驗,熟悉數據中心硬件架構,以及SDDC解決方案。

深入了解微軟S2D軟件定義存儲技術(32)

上一篇:隨著Surface Book 2, 微軟正在向蘋果公司扔掉手套 下一篇:搭載驍龍835 Win10筆記本續航表現出色 Intel壓力山大

相關資訊

最新熱門應用

電腦問答