WindowsServer2012的重復數據刪除包括什么?
擦除技術是Windows Server 2012和Windows Server 2012 R2的自帶功能。這種技術在磁盤卷中查找重復的內容,保留一份副本并刪除其余重復的部分——而且在數據被移除的位置會插入一個“鏈接”指向保留的那份數據塊上面去。
這是一項很有效的用于回收可用存儲空間的技術,前提是磁盤卷很多內容與其他內容沒有太大差別。
想象一下ISO庫,同一個文件多個版本的文件共享(類似修正跟蹤);還有你可能不會想到的另一個應用: VDI部署。在VDI部署中的這些虛擬機,即使你使用不一樣的磁盤,里面也包含了成千上萬相似的操作系統庫和可執行文件。
在VDI部署環境中啟用數據刪除功能省下的磁盤空間能夠超過90%,其他類型的內容可以壓縮50%甚至更多的空間,而且這一切不會對性能產生可感知的影響。
所有的這些都包含在你的Windows許可證里面。Windows Server 2012 R2在數據刪除功能上引入了幾個改進,包括在擴展文件服務器和集群共享卷上啟用這個功能的能力。
Windows Server 2012 R2也特別針對VHD和VHDX文件進行了算法的優化,并且增強了Windows寫入磁盤的效率和磁盤算法的優化,從性能的角度來說,不會怪罪于為生產部署的虛擬桌面基礎架構中活動的VHDX文件。需要注意到的一點是,Hyper-V宿主機和托管存儲卷的機器啟用的數據刪除一定是不一樣的,因為使用Hyper-V上有活動的虛擬機負載,數據刪除可能會消耗Hyper-V所能承受的系統資源。數據刪除作業數據刪除包含了3種在一定間隔時間重復執行的作業:
優化作業:這個工作執行著核心的分析和從磁盤卷中移除重復內容。
它還執行著使用內置算法壓縮大塊文件的工作,使文件的大小得到平衡,而不會受到解壓時對性能的影響。
數據清洗作業:有的時候隨著數據刪除或者隨后的大塊文件壓縮,數據可能被損壞。
這需要使用校驗和和對文件元數據的一致性檢查來對其進行驗證。在這個過程中,數據清洗作業嘗試修復損壞的文件,這個過程通過從一個私有備份Windows上頻繁訪問的非重復內容恢復一份副本來,或者從類似Windows Storage Spaces的容錯磁盤卷上恢復文件,或者在文件被寫入的時候將損壞的數據塊替代為新的,正確的數據塊。垃圾回收作業:這個作業收集那些沒有優化或長期不需要的文件碎片,刪除它們來增加磁盤可利用的空間。數據刪除啟用及配置開始使用數據刪除最簡單的方法是使用PowerShell在你想要安裝的服務器上添加該特性。
你也可以通過GUI使用Server Manager來完成,不過需要執行很多點擊和選擇。用PowerShell的方法只需要3行cmdlets,所以省了很多工作——有時候我非常贊同這個方法。在需要安裝的機器上,以管理員身份打開PowerShell命令行,輸入以下cmdlets:
Import-Module ServerManagerAdd-WindowsFeature -name FS-Data-DeduplicationImport-Module Deduplication一旦正確的組件安裝完畢后,還需要一些另外的PowerShell cmdlets讓特定的磁盤卷啟用數據刪除。舉個例子,以下cmdlet可以在虛擬桌面部署的H盤啟用數據刪除 (因此UsageType標記為”HyperV”)
Enable-DedupVolume H: -UsageType HyperV以下cmdlet在磁盤S上啟用了常規的數據刪除Enable-DedupVolume S: -UsageType Default默認的情況下,一旦你對磁盤運行了這些cmdlets,優化程序就會每個小時運行一次,數據清洗和垃圾回收則每個星期運行一次。
你也可以利用以下的PowerShell cmdlet按需手動地啟動這些進程。
Start-DedupJob –Volume S: –Type Optimization你可以使用以下cmdlet來查看Windows設置好自動運行的計劃。
Get-DedupSchedule優化作業默認只能每個星期運行一次,你可以使用Task Scheduler自定義任務來讓優化作業運行得更頻繁。我想在這個時代,我們將一整個系統的副本放到了一個巨大的VHDX文件里面,而且我們需要存儲的數據容量一直在增加,數據刪除對可用存儲的管理以及存儲數據成本的控制來說將會變成重要的一部分。鑒于數據刪除特性是包含在Windows Server許可證里面的,如今沒有什么理由不使用這個功能了。