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