理解inode
1994
2022-05-28
存儲空間存儲分層
在談到存儲分層之前,我們需要了解Windows Server存儲空間里面包含了多少層以及如何定義每一個分層。基于讀寫性能快慢的相對值,存儲空間分為兩個數據存儲層,一個存儲層為快速層,通常由SSD硬盤提供,用于存儲熱數據,也即經常訪問的數據;另一個存儲層為慢速層,通常由HDD硬盤提供,用于存儲冷數據,也即不經常訪問的數據。默認情況下,存儲空間具有這兩個存儲速率不同的存儲層的虛擬磁盤,存儲分層目的在于平衡 SSD性能和硬盤驅動器 (HDD)容量。在存儲層都有可用空間時,新的數據通常往慢速層寫入,然后存儲空間將會根據訪問數據的頻率,以透明方式在兩個層之間移動子文件級的數據。存儲層可以通過將最常用的熱數據移到SSD存儲來滿足熱數據的性能要求,將冷數據移動到HDD層來滿足普通數據的容量要求。
存儲控制器服務器操作系統Windows Server 2012和Windows 8及后續版本內置了存儲分層管理服務(Storage Tiers Management Service),該服務在安裝Windows Server文件服務器角色后被激活處于運行狀態。存儲分層管理服務可以自動計算數據熱度并按照默認策略在每天晚上1點啟動冷熱數據移動。要觀察存儲分層任務和行為,可以登錄存儲控制器服務器,打開服務器的控制面板里找到計劃任務程序,在計劃任務程序里依次展開“計劃任務程序”—“Microsoft”—“Windows”下找到名為“Storage TiersManagement”的項目, 打開Storage Tiers Optimization?屬性,在觸發器選項卡里我們就能看到存儲分層管理服務在每天凌晨1點觸發冷熱數據遷移的計劃任務。這個默認設置不是一成不變的,可按照需求和實際情況修改觸發分層任務的時間。
除了修改分層操作任務的觸發時間,還可以不依賴計劃任務程序完成存儲分層。為了找到Storage Tiers Management Service如何實現存儲分層,我們可以從預置的計劃任務里找到分層操作相關的命令和參數。點擊Storage Tiers Optimization 屬性窗口的操作選項卡,在詳細信息欄可看到Storage Tiers Management Service所執行的具體任務和相關參數,事實上存儲分層使用defrage命令和-c -h -g -#這4個參數完成。
圖3存儲空間分層調度操作
獲取到分層存儲命令及參數后,我們就可以使用命令手動觸發冷熱數據遷移了,只要在命令提示符里輸入C:\ Windows\system32\defrag.exe-c -h -g -#即可。
如果熟悉Windows里磁盤優化(碎片整理)會發現做存儲分層移動的命令和磁盤碎片整理的命令一樣,只是參數不同。在Windows Server2012/Windows 8之前的版本里微軟并沒有引入存儲空間,也沒有存儲分層這個技術,所以使用defrag.exe /? 命令獲取幫助后,在Windows Server2012 R2/Windows 8.1系統里面會多出-g這個參數。這個參數非常重要,其意義意義在于優化存儲層,按照數據熱度為數據找到合適的存儲層。
需要強調的是,存儲分層基于數據的粒度而非文件的粒度,存儲分層服務按照1MB的單位分析和移動數據。如果文件大于1MB,而且只有部分“熱”數據,那么一個文件只有一定比例的數據會被移動到SSD層,比如有一個虛機虛擬磁盤上面的數據只有20%熱數據,只有這20%的數據會被移動到SSD分區,而不會把整個虛擬磁盤文件移動到SSD分區。舉個實際的例子,一臺虛機的VHDX大小一共100GB,里面安裝了SQL Server 實例,在實例下20GB的數據庫和日志文件用于交易系統,該交易系統每天產生過萬條交易,那么這20GB的數據將會移動到SSD分區,而剩余的80GB系統文件和其他文件的數據則不一定會移動到SSD分區。
存儲分層是后臺自動運行數據遷移的過程,如果某些特定的虛機需要持續運行在高速的SSD層,或者對性能要求不高的虛機需要固定在大容量的HDD層來為其他虛機提供更多的快速SSD層,則可以考慮使用固定命令將該文件固定到某個磁盤層。固定和分層不同的是分層是數據級別操作的,而固定是文件級別操作的。比如要將\\FileServer\Share\VM01.VHDX固定在SSD層,按照如下步驟完成:
運行PS C:\>Get-StorageTier|ft FriendlyNamePowerShell命令獲取已有分層友好名。
返回如下結果,根據MediaType選擇類型為SSD的層。
FriendlyName
MediaType
------------
---------
SSDTier
SSD
HDDTier
HDD
運行以下示例命令將VM01的虛擬磁盤固定到SSD層,使用Clear-FileStorageTier解除將文件固定到某一層。
PS ?C:\> Set-FileStorageTier -FilePath "\\FileServer\Share\VM01.VHDX ?" -DesiredStorageTierFriendlyName ?"SSDTier" SSD
運行固定文件的命令,存儲不會立刻將文件數據移動到指定的分層,而是等待下一次磁盤分層優化運行任務開始才開始,如果等不及,那么就按上面提到的方法,在計劃任務程序、命令提示符或者PowerShell里手動觸發數據移動操作。
存儲空間緩存管理
在傳統存儲中,存儲包含了讀緩存命中和寫緩存,寫緩存又分為回寫(Write-back)和透寫(Write-through)緩存,在緩存機制中還具備緩存鏡像和緩存保管等技術防止掉電等故障造成緩存數據的丟失。在Windows Server SDS里我們同樣具備相似的緩存技術,我們先看看Windows Server SDS的回寫緩存。
回寫緩存
應用通常都是以小數據隨機寫入到存儲,作為SSD硬盤重要屬性,回寫緩存可以將小的隨機寫入緩存到SSD硬盤避免發生過多次數的磁盤寫入I/O。從Windows Server 2012 R2 開始,存儲空間支持創建回寫式緩存,緩存使用池中SSD上的少量空間來緩沖小規模隨機寫入操作并減小對其他并行的數據寫入的影響,并通過降低隨機寫入的延遲來提高存儲的寫入性能。常見的工作負載隨機寫入操作將定向到 SSD緩存,稍后再寫入 HDD。回寫緩存另外的用途在于對數據進行掉電保護。存儲空間如果存在SSD硬盤,虛擬磁盤會默認創建大小為1GB的回寫緩存空間。回寫緩存對管理員來說是透明的,存儲空間在有足夠數量的SSD的前提下,新建虛擬磁盤的同時將創建好回寫緩存。磁盤布局和對SSD數量要求說明如下:
簡單布局要求具有一塊SSD硬盤;
雙重鏡像和單奇偶校驗要求具有兩塊SSD硬盤;
三重鏡像和雙奇偶校驗要求具有三塊SSD硬盤。
Journal
我們在設置硬盤用途的時候硬盤的Usage參數里有個Journal值,Journal(暫無信達雅的中文翻譯)和回寫緩存有著類似的作用,都是負責處理重新組織路徑上活動的I/O,但是在存儲空間里,二者的作用和設置有明顯的區別。Journal只能用于奇偶校驗布局的存儲空間,回寫緩存適用于所有的存儲空間布局,并能支持分層存儲。我們可以為奇偶校驗的存儲空間設置專用的Journal硬盤,通常使用快速的SSD硬盤,配置了專用Journal硬盤的奇偶校驗存儲空間能很大程度上提高存儲寫入性能,尤其是順序寫入的時候,此外,使用兩塊以上的Journal硬盤可以實現自身的鏡像保證I/O的冗余。
本文轉載自異步社區。
網絡 云計算 邊緣數據中心管理 EDCM windows
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。