重複資料刪除 DPM 記憶體
System Center Data Protection Manager (DPM) 可以使用重複數據刪除。
重複資料刪除 (dedup) 會尋找並移除磁碟區中的重複資料,同時確保資料保持正確且完整。 深入瞭解 重複資料刪除規劃。
重複資料刪除可減少記憶體耗用量。 雖然一組數據的備援量將取決於工作負載和數據類型,但通常備份數據會在使用重複資料刪除時顯示有力節省。
當備份類似類型和工作負載的數據一起處理時,數據備援可進一步降低。
Dedup 是設計成安裝在主要數據磁碟區上,而不需要額外的專用硬體,因此不會影響伺服器上的主要工作負載。 默認設定為非侵入性,因為它們允許數據在處理特定檔案前保留五天,且預設的檔案大小下限為 32 KB。 實作是專為低記憶體及 CPU 使用率設計的。
重複資料移除可以在下列工作負載上實作:
一般檔案共用:群組內容發佈及共用、使用者主資料夾,以及資料夾重新導向/離線檔案
軟體部署共用:軟體二進位檔、映像及更新
VHD 程式庫:佈建到 Hypervisor 的虛擬硬碟 (VHD) 檔案儲存體
VDI 部署 (僅 Windows Server 2012 R2):使用 Hyper-V 的虛擬桌面基礎結構 (VDI) 部署
虛擬化備份:備份解決方案(例如在 Hyper-V 虛擬機中執行的 DPM),可將備份數據儲存至 Windows 檔案伺服器上的 VHD/VHDX 檔案
DPM 和重複數據刪除
搭配 DPM 使用重複資料刪除可能會導致節省大量成本。 優化 DPM 備份資料時,重複資料刪除所節省的空間量會根據備份的數據類型而有所不同。 例如,加密的資料庫伺服器的備份可能會造成最小節省,因為任何重複的資料都會被加密程序隱藏。 不過,大型虛擬桌面基礎結構 (VDI) 部署的備份可能會導致在 70-90+ 的範圍內節省大量成本,因為虛擬桌面環境之間通常會有大量數據重複。 在本文所述的組態中,我們執行了各種測試工作負載,並看到節省的範圍介於 50% 到 90% 之間。
若要針對 DPM 記憶體使用重複資料刪除,DPM 應該在 Hyper-V 虛擬機中執行,並將備份數據儲存至已啟用重複資料刪除的共享資料夾中的 VHD。
建議部署
若要將 DPM 部署為虛擬機,將數據備份至卸載磁碟區,我們建議使用下列部署拓撲:
在 Hyper-V 主機叢集中的虛擬機器中執行的 DPM。
使用儲存在檔案伺服器上 SMB 3.0 共用上的 VHD/VHDX 檔案的 DPM 存放裝置。
在我們的測試範例中,我們將檔伺服器設定為使用從直接連線 SAS 磁碟驅動器所建置之 儲存空間 集區所部署的向外延展檔伺服器 (SOFS)。 此部署可確保大規模效能。
請注意:
DPM 2012 R2 和更新版本支援此部署,以及 DPM 2012 R2 和更新版本可備份的所有工作負載數據。
DPM 虛擬硬碟所在的所有 Windows 檔案伺服器節點,以及將會啟用重複數據刪除的所有 Windows 檔案伺服器節點,都必須執行 Windows Server 2012 R2,且更新 匯總 2014 年 11 月或更新版本。
我們將提供案例部署的一般建議和指示。 只要指定特定硬體範例,就會使用在 Microsoft 雲端平台系統 (CPS) 中部署的硬體做為參考。
此範例會使用遠端 SMB 3.0 共用來儲存備份數據,因此主要硬體需求會以文件伺服器節點而非 Hyper-V 節點為中心。 下列硬體組態用於 CPS 進行備份和生產記憶體。 整體硬體同時用於備份和生產記憶體,但磁碟驅動器機箱中列出的磁碟驅動器數目只是用於備份的磁碟驅動器數目。
四個節點向外延展檔伺服器叢集
每個節點組態
2x Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00 GHz, 2001 MHz, 8 核心, 16 個邏輯處理器
128 GB 1333 MHz RDIMM 記憶體
記憶體連線:2 個 SAS 埠、1 個埠 10 GbE iWarp/RDMA
四個 JBOD 磁碟驅動器機箱
每個 JBOD 18 個磁碟 - 16 x 4 TB HDD + 2 x 800 GB SSD
每個磁碟驅動器的雙重路徑 - 設定為僅故障轉移的多路徑 I/O 負載平衡原則
針對回寫快取設定的 SSD,以及專用日誌磁碟驅動器的其餘 SSD
設定重複資料刪除磁碟區
讓我們來考慮應該有多大磁碟區,以支援包含 DPM 資料的重複數據刪除 VHDX 檔案。 在 CPS 中,我們已建立每個磁碟區 7.2 TB。 最佳的磁碟區大小主要取決於磁碟區上資料變更的數量和頻率,以及磁碟存放裝置子系統的資料存取輸送量速率。 請務必注意,如果重複數據刪除處理無法跟上每日數據變更的速率(變換),節省率將會下降,直到處理完成為止。 如需詳細資訊,請參閱 重設大小磁碟區以進行重複數據刪除。 建議針對重複資料刪除磁碟區使用下列一般指導方針:
使用具有機箱感知的同位檢查儲存空間以取得備援和更大的磁碟使用量。
使用 64 KB 配置單位和大型檔案記錄區段格式化 NTFS,以更妥善地使用疏鬆檔案。
在建議的 7.2 TB 磁碟區大小上方的硬體組態中,磁碟區將會設定如下:
機箱感知雙重同位 7.2 TB + 1 GB 回寫快取
ResiliencySettingName == 同位檢查
PhysicalDiskRedundancy == 2
NumberOfColumns == 7
交錯 == 256 KB(64 KB 交錯時的雙重同位效能遠低於預設 256 KB 交錯時)
IsEnclosureAware == $true
AllocationUnitSize=64 KB
大型 FRS
在指定的存放集區中設定新虛擬磁碟,如下所示:
New-VirtualDisk -Size 7.2TB -PhysicalDiskRedundancy 2 -ResiliencySettingName Parity -StoragePoolFriendlyName BackupPool -FriendlyName BackupStorage -NumberOfColumns 7 -IsEnclosureAware $true
接著每個此類磁碟區必須格式化為:
Format-Volume -Partition <volume> -FileSystem NTFS -AllocationUnitSize 64 KB -UseLargeFRS -Force
在 CPS 部署中,接著設定成 CSV。
在這些磁碟區中,DPM 會儲存一系列 VHDX 檔案來保存備份數據。 在格式化磁碟區之後,在磁碟區上啟用重複數據刪除,如下所示:
Enable-DedupVolume -Volume <volume> -UsageType HyperV Set-DedupVolume -Volume <volume> -MinimumFileAgeDays 0 -OptimizePartialFiles:$false
這個指令也會修改下列磁碟區層級重複資料刪除設定:
將 UsageType 設定為 HyperV:這會導致重複資料刪除處理開啟的檔案,這是必要的,因為 DPM 用於備份記憶體的 VHDX 檔案會隨著 DPM 在其虛擬機中執行的 DPM 保持開啟狀態。
停用 PartialFileOptimization:這會導致重複資料刪除將開啟檔案的所有區段優化,而不是掃描最小存留期的已變更區段。
將 MinFileAgeDays 參數設定為 0:停用 PartialFileOptimization 時,MinFileAgeDays 會變更其行為,讓重複數據刪除只會考慮該天數未變更的檔案。 因為我們想要重複資料刪除開始處理所有 DPM VHDX 檔案的備份資料,沒有任何延遲,所以我們需要將 MinFileAgeDays 設為 0。
如需設定重複資料刪除的詳細資訊,請參閱安裝和設定重複數據。
設定 DPM 記憶體
若要避免分散問題及維護效率,DPM 存放裝置是使用重複資料刪除磁碟區上的 VHDX 檔案進行配置。 每個磁碟區上會建立 1 TB 的 10 個動態 VHDX 檔案,並連結至 DPM。 此外,會執行 3 TB 的過度布建記憶體,以利用重複資料刪除所產生的記憶體節省。 由於重複資料刪除會產生額外的儲存空間,因此可以在這些磁碟區上建立新的 VHDX 檔案,以取用儲存的空間。 我們已測試 DPM 伺服器,並附加最多 30 個 VHDX 檔案。
執行下列命令以建立後續會新增至 DPM 伺服器的虛擬硬碟:
New-SCVirtualDiskDrive -Dynamic -SCSI -Bus $Bus -LUN $Lun -JobGroup $JobGroupId -VirtualHardDiskSizeMB 1048576 -Path $Using:Path -FileName <VHDName>
然後將建立的虛擬硬碟新增至 DPM 伺服器,如下所示:
Import-Module "DataProtectionManager" Set-StorageSetting -NewDiskPolicy OnlineAll $dpmdisks = @() $dpmdisks = Get-DPMDisk -DPMServerName $env:computername | ? {$_.CanAddToStoragePool - eq $true -and $_.IsInStoragePool -eq $false -and $_.HasData -eq $false} Add-DPMDisk $dpmdisks
此步驟會將存放集區設定為 DPM 儲存復本和受保護數據恢復點的磁碟或磁碟。 這個集區是 DPM 組態的一部分,與上一節所述之用來建立資料磁碟區的儲存空間集區分隔開來。 如需 DPM 存放集區的詳細資訊,請參閱 設定磁碟記憶體和存放集區。
設定 Windows 檔案伺服器叢集
重複資料刪除需要一組特殊的組態選項,以支援虛擬化的 DPM 存放裝置,原因是資料規模和個別檔案的大小。 這些選項對於叢集或叢集節點是全域的。 必須啟用重複資料刪除且叢集設定必須在每個叢集節點上個別設定。
在 Windows 檔案伺服器記憶體上啟用重複資料刪除 - 重複資料刪除角色必須安裝在 Windows 檔案伺服器叢集的所有節點上。 若要這樣做,請在叢集的每個節點上執行下列 PowerShell 命令:
Install-WindowsFeature -Name FileAndStorage-Services,FS-Data-Deduplication -ComputerName <node name>
微調備份數據檔的重複數據刪除處理 - 執行下列 PowerShell 命令來設定為不延遲地啟動優化,而不是優化部分檔案寫入。 根據預設,垃圾收集 (GC) 作業會排程每周,而每隔四周,GC 作業會以「深層 GC」模式執行,以更詳盡且需要大量時間搜尋數據以移除。 對於 DPM 工作負載,此「深層 GC」模式不會產生任何令人振作的收益,並減少重複數據刪除可以優化數據的時間量。 因此我們停用此深層模式。
Set-ItemProperty -Path HKLM:\Cluster\Dedup -Name DeepGCInterval -Value 0xFFFFFFFF
調整大規模作業的效能 - 執行下列 PowerShell 文稿以:
執行深層記憶體回收時停用其他處理和 I/O
保留額外記憶體以進行雜湊處理
啟用優先順序最佳化以允許立即重組大型檔案
Set-ItemProperty -Path HKLM:\Cluster\Dedup -Name HashIndexFullKeyReservationPercent -Value 70 Set-ItemProperty -Path HKLM:\Cluster\Dedup -Name EnablePriorityOptimization -Value 1
這些設定會修改下列項目:
HashIndexFullKeyReservationPercent:此值可控制現有區塊哈希與新區塊哈希所使用的優化工作記憶體數量。 在大規模作業中,70% 會導致比預設的 50% 更佳的最佳化輸送量。
EnablePriorityOptimization:檔案接近 1 TB 時,單一檔案的片段可以累積足夠的片段來接近每個檔案限制。 最佳化處理會合併這些片段並防止到達此限制。 藉由設定這個登錄機碼,重複資料刪除會加入額外的處理序以應付具有高優先順序的高度分散重複資料刪除檔案。
設定 DPM 和重複資料刪除排程
備份及重複資料刪除作業都需要大量 I/O。 如果在相同時間執行,在作業之間切換的額外負擔可能會很耗費資源,並且導致每天的備份或重複資料刪除的資料較少。 我們建議您設定專用和個別的重複資料刪除和備份時段。 這有助於確保每個此類作業的 I/O 流量在每日系統作業期間有效率地分散。 排程的建議指導方針:
將天數分成非重疊的備份及重複資料刪除時段。
設定自訂的備份排程。
設定自訂的重複資料刪除排程。
在每日重複資料刪除時段排程最佳化。
個別設定週末重複資料刪除排程,使用該時間進行記憶體回收和清除工作。
您可以使用下列 PowerShell 命令設定 DPM 排程:
Set-DPMConsistencyCheckWindow -ProtectionGroup $mpg -StartTime $startTime -
DurationInHours $duration
Set-DPMBackupWindow -ProtectionGroup $mpg -StartTime $startTime -DurationInHours
$duration
在此設定中,DPM 設定為在下午 10 點和上午 6 點之間備份虛擬機器。 重複資料刪除排程為在一天的剩餘 16 小時中進行。 您設定的實際重複資料刪除時間將取決於磁碟區大小。 如需詳細資訊,請參閱 重設大小磁碟區以進行重複數據刪除。 備份視窗結束之後,從上午 6 點開始的 16 小時重複資料刪除視窗會設定為來自任何個別叢集節點的下列內容:
#disable default schedule
Set-DedupSchedule * -Enabled:$false
#Remainder of the day after an 8 hour backup window starting at 10pm $dedupDuration = 16
$dedupStart = "6:00am"
#On weekends GC and scrubbing start one hour earlier than optimization job.
# Once GC/scrubbing jobs complete, the remaining time is used for weekend
# optimization.
$shortenedDuration = $dedupDuration - 1
$dedupShortenedStart = "7:00am"
#if the previous command disabled priority optimization schedule
#reenable it
if ((Get-DedupSchedule -name PriorityOptimization -ErrorAction SilentlyContinue) -ne $null)
{
Set-DedupSchedule -Name PriorityOptimization -Enabled:$true
}
#set weekday and weekend optimization schedules
New-DedupSchedule -Name DailyOptimization -Type Optimization -DurationHours $dedupDuration -Memory 50 -Priority Normal -InputOutputThrottleLevel None -Start $dedupStart -Days Monday,Tuesday,Wednesday,Thursday,Friday
New-DedupSchedule -Name WeekendOptimization -Type Optimization -DurationHours $shortenedDuration -Memory 50 -Priority Normal -InputOutputThrottleLevel None -Start $dedupShortenedStart -Days Saturday,Sunday
#re-enable and modify scrubbing and garbage collection schedules
Set-DedupSchedule -Name WeeklyScrubbing -Enabled:$true -Memory 50 -DurationHours $dedupDuration -Priority Normal -InputOutputThrottleLevel None -Start $dedupStart -StopWhenSystemBusy:$false -Days Sunday
Set-DedupSchedule -Name WeeklyGarbageCollection -Enabled:$true -Memory 50 -DurationHours $dedupDuration -Priority Normal -InputOutputThrottleLevel None -Start $dedupStart -StopWhenSystemBusy:$false -Days Saturday
#disable background optimization
if ((Get-DedupSchedule -name BackgroundOptimization -ErrorAction SilentlyContinue) -ne $null)
{
Set-DedupSchedule -Name BackgroundOptimization -Enabled:$false
}
每當修改備份視窗時,重複數據刪除視窗與它一起修改就很重要,這樣它們就不會重疊。 重複資料移除和備份視窗不必填滿整整一天 24 小時:不過,強烈建議他們允許處理時間的變化,因為工作負載和數據變換的預期每日變更。
備份效能的影響
重複資料刪除一組檔案之後,存取檔案時可能會有輕微的效能成本。 這是因為存取重複資料刪除檔案使用的檔案格式所需的額外處理。 在此案例中,檔案是一組 VHDX 檔案,在備份時段期間查看 DPM 的連續使用量。 讓這些檔案重複數據刪除的效果表示備份和復原作業可能會比不使用重複數據刪除稍微慢一點。 對於任何備份產品,DPM 是寫入繁重工作負載,在還原作業期間最重要的是讀取作業。 解決由於重複資料刪除造成的備份效能影響的建議事項為:
讀取/還原作業:讀取作業的影響通常微不足道,而且不需要任何特殊考慮,因為重複數據刪除功能會快取重複數據刪除區塊。
寫入/備份作業:在定義備份視窗時,規劃增加 5-10% 的備份時間。 (這是相較於寫入非重複資料刪除磁碟區時預期備份時間的增加。)
監視
可以監視 DPM 和重複資料刪除以確定:
佈建足夠的磁碟空間以儲存備份的資料
DPM 備份作業正常完成
在備份磁碟區上啟用重複資料刪除
已正確設定重複資料刪除排程
每日正常完成重複資料刪除處理
重複資料刪除節省率符合對系統組態所做的假設
重複資料刪除的成功與否取決於整體系統硬體功能 (包括 CPU 處理速度、I/O 頻寬、儲存容量)、正確的系統組態、平均系統負載和每日的已修改資料量。
您可以使用 DPM 中央主控台監視 DPM。 請參閱 安裝中央主控台。
您可以使用下列 PowerShell 命令來監視重複資料刪除以檢查重複資料刪除狀態、儲存速率和排程狀態:
取得狀態:
PS C:\> Get-DedupStatus
FreeSpace SavedSpace OptimizedFiles InPolicyFiles Volume
-------------- ---------- -------------- ------------- ------
280.26 GB 529.94 GB 36124 36125 X:
151.26 GB 84.19 GB 43017 43017 Z:
取得節省:
PS C:\> Get-DedupVolume
Enabled SavedSpace SavingsRate Volume
------- ---------- ----------- ------
True 529.94 GB 74 % X:
使用 Get-DedupSchedule Cmdlet 取得排程狀態。
監視事件
監視事件記錄檔可以協助您了解重複資料刪除事件和狀態。
若要檢視重複資料刪除事件,請在 檔案總管 中,流覽至 [應用程式及服務記錄>檔] Microsoft>[Windows>重複數據刪除]。
如果 LastOptimizationResult = 0x00000000值出現在 Get-DedupStatus |fl Windows PowerShell 結果中,則會由先前的優化作業處理整個數據集。 如果沒有,則系統無法完成重複資料刪除處理程序,您可能想要檢查您的組態設定,例如磁碟區大小。
如需詳細的 Cmdlet 範例,請參閱 監視和報告重複資料刪除。
監視備份記憶體
在我們的設定範例中,7.2 TB 的磁碟區會填入 10 TB 的「邏輯」數據(未重複數據刪除時的數據大小),儲存在 10 x 1 TB 的動態 VHDX 檔案中。 當這些檔案累積其他備份數據時,它們會慢慢填滿磁碟區。 如果重複數據刪除所產生的節省百分比夠高,則所有10個檔案都能夠達到其最大邏輯大小,但仍符合7.2 TB磁碟區(可能甚至可能會有額外的空間來配置額外的 VHDX 檔案供 DPM 伺服器使用)。 但是,如果重複數據刪除的大小節省不足,磁碟區上的空間可能會在 VHDX 檔案達到其完整邏輯大小且磁碟區已滿之前耗盡。 若要防止磁碟區滿,我們建議使用下列專案:
對於磁碟區大小需求持保守態度,以及允許某些過度佈建的存放裝置。 建議您在規劃備份記憶體使用量時允許至少 10% 的緩衝區,以允許重複資料刪除節省和資料變換的預期變化。
監視用於備份存放區的磁碟區,以確定空間使用量和重複資料刪除節省率是在預期的層級。
如果磁碟區已滿,則會產生下列徵兆:
DPM 虛擬機器將會進入重大暫停狀態,該 VM 無法發行進一步的備份作業。
使用已滿磁碟區上 VHDX 檔案的所有備份作業將會失敗。
若要從此狀況復原並將系統還原為正常作業,可以布建額外的記憶體,並執行 DPM 虛擬機或其 VHDX 的記憶體移轉,以釋放空間:
停止擁有已滿磁碟區共用上 VHDX 檔案的 DPM 伺服器。
建立額外的磁碟區和備份共用,方法是使用與用於現有共用相同的組態和設定,包括 NTFS 和重複資料刪除的設定。
移轉 DPM 伺服器虛擬機的記憶體 ,並將至少一個 VHDX 檔案從完整備份共用移轉至步驟 2 中建立的新備份共用。
在已滿的來源備份共用上執行重複資料刪除記憶體回收 (GC) 作業。 GC 工作應該會成功並且回收可用空間。
重新啟動 DPM 伺服器虛擬機器
針對先前失敗的所有數據源,在下一個備份視窗中,將會觸發 DPM 一致性檢查作業。
所有備份作業現在應該都會成功。
摘要
重複資料刪除和 DPM 的組合提供大量空間節省。 如此可提供較高的保留率、更頻繁的備份以及 DPM 部署的更佳 TCO。 本文件的指引和建議應該會提供您工具和知識,以設定 DPM 存放裝置的重複資料刪除,並且親自體驗優點。
常見問題
問: DPM VHDX 檔案的大小必須是 1 TB。 這是否表示 DPM 無法備份 VM 或 SharePoint 或 SQL DB 或大小 > 為 1 TB 的檔案磁碟區?
A: 不可以。 DPM 會將多個磁碟區彙總為一個以儲存備份。 因此,1 TB 的檔案大小對於 DPM 可以備份的數據源大小沒有任何影響。
問: DPM 存放集區 VHDX 檔案好像只能部署在遠端 SMB 檔案共用上。 如果我在執行 DPM 虛擬機器所在的相同系統上的已啟用重複資料刪除磁碟區儲存備份的 VHDX 檔案,會發生什麼事?
答: 如上所述,DPM、Hyper-V 和重複數據刪除是記憶體和計算密集型作業。 在單一系統中結合這三項,可能會導致 I/O 和程式密集的作業,而該作業可能會耗盡 Hyper-V 及其 VM。 如果您決定在 VM 中使用相同電腦上的備份記憶體磁碟區來實驗設定 DPM,您應該仔細監視效能,以確保有足夠的 I/O 頻寬和計算容量,以維持相同電腦上的這三項作業。
問: 您建議使用專用且個別的重複資料刪除以及備份期間。 為什麼在 DPM 備份時無法啟用重複資料刪除? 我需要每隔 15 分鐘備份一次 SQL DB。
答: 重複數據刪除和 DPM 是需要大量記憶體的作業,同時執行兩者可能會效率不佳,並導致 I/O 饑餓。 因此,若要保護工作負載一天以上一次(例如 SQL Server 每 15 分鐘一次),並同時啟用重複數據刪除,請確定有足夠的 I/O 帶寬和計算機容量,以避免資源耗盡。
問: 根據所述的設定,DPM 需要在虛擬機器中執行。 為什麼無法直接在復本磁碟區和陰影複製磁碟區上啟用重複數據刪除,而不是在 VHDX 檔案上啟用重複資料刪除?
答: 重複資料刪除會對每個磁碟區的個別檔案進行重複資料刪除。 由於重複數據刪除在檔案層級優化,因此它的設計不是為了支援 DPM 用來儲存其備份數據的 VolSnap 技術。 藉由在 VM 中執行 DPM,Hyper-V 會將 DPM 磁碟區作業對應至 VHDX 檔案層級,允許重複資料刪除最佳化備份資料,並且提供更大的存放裝置節省。
問: 上述範例組態只建立了 7.2 TB 的磁碟區。 可以建立更大或更小的磁碟區嗎?
答: 重複資料刪除在每個磁碟區皆只執行一個執行緒。 當磁碟區大小變得更大時,重複資料刪除需要更多時間來完成其最佳化。 另一方面,使用小型磁碟區時,要尋找重複區塊的數據較少,這可能會導致節省成本。 因此,建議您根據總變換和系統硬體功能微調磁碟區大小,以獲得最佳節省成本。 如需關於判斷用於重複資料刪除的磁碟區大小的詳細資訊,請參閱「調整 Windows Server 中重複資料刪除磁碟區的大小」。 如需判斷重複資料刪除使用之磁碟區大小的詳細資訊,請參閱 調整重複數據刪除的磁碟區大小。