如何在VDI中啟用服務器原始重復數據刪除
Windows Server 2012 R2中,微軟對Hyper-V虛擬桌面基礎設施所做的最大改變之一就是允許對運行虛擬桌面的磁盤卷進行原始重復數據刪除。
重復數據刪除技術可以減少虛擬桌面占用的存儲空間,還可以更加合理地將固態(tài)存儲用于桌面。即便沒有固態(tài)存儲,在使用磁盤緩存的情況下,刪除重復數據也可以提高虛擬桌面的性能表現。
但是,使用針對VDI的Windows原始重復數據刪除也需要進行規(guī)劃。對于以Hyper-V為基礎的VDI部署來說,最常用的是使用Hyper-V服務器集群進行架構,每個集群節(jié)點都連接到基于存儲區(qū)域網絡(SAN)的集群共享卷(CSV)。盡管這個基礎架構可以和原始文件系統(tǒng)重復數據刪除共同使用,但是需要額外的組件。
如果使用Windows服務器重復數據刪除技術,Hyper-V服務器不能直接連接到物理存儲。它們必須連接到文件服務器,反過來也可以為物理存儲提供訪問權限。微軟需要使用運行Windows Server 2012 R2而不是運行Hyper-V的物理文件服務器來管理存儲。而對于底層的物理存儲則沒有任何要求,這已經超越了現在所有其他的文件服務器了。文件服務器可以使用本地存儲,或者連接到SAN上。
需要注意的是需要避免文件服務器出現單點故障的風險,所以其應該以集群的方式存在。完成架構之后,需要配置文件服務器來承載存儲卷,這個存儲卷可以為Hyper-V提供CSV。換句話說,一個Hyper-V集群連接到由集群文件服務器承載的CSV。
實現原始重復數據刪除的前提
微軟在Windows Server 2012中推出了重復數據刪除特性。在那個版本中,實施重復數據刪除需要通過幾個步驟。首先,需要確保將要進行重復數據刪除的存儲卷使用的是NTFS文件系統(tǒng)。其不支持對其他文件系統(tǒng)(包括最新的ReFS文件系統(tǒng))格式化的卷進行重復數據刪除。
之后必須安裝文件和存儲服務角色以及數據重復數據刪除子角色,這些默認是沒有安裝的。最后,通過使用Enable-DedupVolume PowerShell cmdlet命令來開啟存儲卷的重復數據刪除。
在Windows Server 2012中所有這些前提沒有發(fā)生變化。但是,如果要為VDI使用的存儲卷進行重復數據刪除,還必須在Windows中指定如何使用這些存儲卷??梢允褂靡粋€新的命令UsageType來進行。 在微軟VDI環(huán)境中,使用類型必須定義為Hyper-V。
還需要了解CSV為操作系統(tǒng)提供的路徑。不論CSV的實際路徑在哪,都會以C:\clusterstorage的子目錄方式呈現。了解這個之后,假設你要為一組虛擬桌面開啟重復數據刪除,而CSV上的虛擬硬盤以C:\clusterstorage\Volume1的方式呈現。在這種情況下,需要使用的啟用重復數據刪除的命令是:
Enable-DedupVolume C:\ClusterStorage\Volume1 –UsageType Hyper-V
手動啟用重復數據刪除
為VDI啟用重復數據刪除是一個相當簡單的過程。但是,有最后一件事情需要考慮。如果想要使用重復數據刪除,一種可能性很大的情況是CSV空間可能不能滿足所有虛擬桌面在非壓縮格式下的大小。畢竟,為什么要分配不需要的磁盤空間呢?
Windows使用后處理重復數據刪除技術。這意味著所有的數據(在這個例子中,也就是所有虛擬桌面)在開始時都必須以非壓縮格式進行存儲。那么,如果CSV空間太小該怎么辦?
這個問題的解決辦法是先復制一些虛擬桌面到CSV中,之后手動初始化重復數據刪除過程。在這個過程結束之后,可以復制另外一部分虛擬桌面,之后再對另外的部分進行重復數據刪除。重復這個過程直到所有的虛擬桌面都被復制到CSV當中。需要注意的是重復數據刪除過程需要一些自己的工作空間,所以應該保證至少有10GB的空閑磁盤空間。
使用下面的命令來手動進行重復數據刪除過程:
Start-DedupJob C:\ClusterStorage\Volume1 –Type Optimization