刪除 DPM 存放集區的重複資料

重要

此版本的 Data Protection Manager (DPM) 已終止支援。 建議您 升級至 DPM 2022

System Center Data Protection Manager (DPM) 可以使用重複資料刪除。

重複資料刪除 (重複資料刪除) 尋找並移除磁碟區中的重複數據,同時確保數據保持正確且完整。 深入了解規劃重複資料刪除的部署

  • 重複資料刪除可減少記憶體耗用量。 雖然一組數據的備援量取決於工作負載和數據類型,但備份數據通常會在使用重複數據刪除時顯示強式節省。

  • 同時處理已備份的類似類型資料及工作負載時,使用重複資料刪除可以進一步降低資料冗餘。

  • 重複數據刪除是設計成安裝在主要數據磁碟區上,而不需要額外的專用硬體,因此不會影響伺服器上的主要工作負載。 默認設定為非干擾性,因為它們允許數據在處理特定檔案之前保留五天,且預設的最小檔案大小為 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 存放裝置。

  • 在我們的測試範例中,我們已將檔伺服器設定為向外延展檔伺服器, (SOFS) 使用使用直接連線 SAS 磁碟驅動器所建置的 儲存空間 集區進行部署。 此部署可確保大規模效能。

請注意:

  • DPM 2012 R2 和更新版本以及 DPM 2012 R2 和更新版本可備份的所有工作負載數據都支援此部署。

  • DPM 虛擬硬碟所在及會啟用重複資料刪除的的所有 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 (WBC) 和專用日誌磁碟驅動器的其餘部分

設定重複資料刪除磁碟區

讓我們考量一下要有多大的磁碟區才能支援包含 DPM 資料的重複資料刪除 VHDX 檔案。 在 CPS 中,我們已建立 7.2 TB 的磁碟區。 最佳的磁碟區大小主要取決於磁碟區上資料變更的數量和頻率,以及磁碟存放裝置子系統的資料存取輸送量速率。 請務必注意,如果重複數據刪除處理無法跟上每日數據變更的速率, (變換) ,則節省率會下降,直到處理完成為止。 如需詳細資訊,請參閱 重設大小磁碟區以進行重複數據刪除。 建議針對重複資料刪除磁碟區使用下列一般指導方針:

  • 使用具有機箱感知的同位檢查儲存空間以取得備援和更大的磁碟使用量。

  • 將 NTFS 格式化為 64 KB 配置單位和大型檔案記錄區段,以在重複資料刪除使用疏鬆檔案時更好。

  • 在高於建議磁碟區大小 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 在其虛擬機器中執行的狀態下保持開啟。

      • 停用 PartialFileOptimization:這會導致重複資料刪除優化已開啟檔案的所有區段,而不是掃描具有最小存留期的已變更區段。

      • 將 MinFileAgeDays 參數設為 0:在 PartialFileOptimization 已停用的情況下,MinFileAgeDays 會變更其行為,以便重複資料刪除只考慮那麼多天未變更的檔案。 因為我們想要重複資料刪除開始處理所有 DPM VHDX 檔案的備份資料,沒有任何延遲,所以我們需要將 MinFileAgeDays 設為 0。

如需設定重複資料刪除的詳細資訊,請參閱安裝和設定重複數據。

設定 DPM 儲存空間

若要避免分散問題及維護效率,DPM 存放裝置是使用重複資料刪除磁碟區上的 VHDX 檔案進行配置。 每個磁碟區上都會建立 1 TB 的十個動態 VHDX 檔案,並附加至 DPM。 此外,已完成 3 TB 的記憶體過度布建,以利用重複資料刪除所產生的記憶體節省量。 重複資料刪除會產生額外的儲存空間,因此可以在這些磁碟區上建立新的 VHDX 檔案,以取用儲存的空間。 我們所測試的 DPM 伺服器最多有 30 個附加到其中的 VHDX 檔案。

  1. 執行下列命令以建立後續會新增至 DPM 伺服器的虛擬硬碟:

    New-SCVirtualDiskDrive -Dynamic -SCSI -Bus $Bus -LUN $Lun -JobGroup $JobGroupId -VirtualHardDiskSizeMB 1048576 -Path $Using:Path -FileName <VHDName>
    
  2. 然後將建立的虛擬硬碟新增至 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 存放裝置,原因是資料規模和個別檔案的大小。 這些選項對於叢集或叢集節點是全域的。 必須啟用重複資料刪除且叢集設定必須在每個叢集節點上個別設定。

  1. 在 Windows 檔案伺服器存放裝置上啟用重複資料刪除:重複資料刪除角色必須安裝在 Windows 檔案伺服器叢集的所有節點上。 若要這樣做,請在叢集的每個節點上執行下列 PowerShell 命令:

    Install-WindowsFeature -Name FileAndStorage-Services,FS-Data-Deduplication -ComputerName <node name>
    
  2. 微調備份數據檔的重複數據刪除處理 - 執行下列 PowerShell 命令,以設定為啟動優化而不延遲,而不會優化部分檔案寫入。 根據預設,垃圾收集 (GC) 工作會排程每周,而第四周會以「深層 GC」模式執行 GC 作業,以更詳盡且耗時地搜尋要移除的數據。 針對 DPM 工作負載,此「深層 GC」模式不會產生任何可辨別的收益,並減少重複數據刪除可以優化數據的時間量。 因此我們停用此深層模式。

    Set-ItemProperty -Path HKLM:\Cluster\Dedup -Name DeepGCInterval -Value 0xFFFFFFFF
    
  3. 調整大規模作業的效能 - 執行下列 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 小時中進行。 您設定的實際重複資料刪除時間將取決於磁碟區大小。 如需詳細資訊,請參閱 重設重複資料刪除的磁碟區大小。 16 小時的重複資料刪除時段從備份時段結束之後的上午 6 點開始,從任何個別的叢集節點上設定如下:

#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 取得排程狀態。

監視事件

監視事件記錄檔可以協助您了解重複資料刪除事件和狀態。

  • 若要檢視重複資料刪除事件,在[檔案總管 {14}{15}中,瀏覽至 [應用程式及服務記錄檔] {16}{17}{18}{19}{20}{21}{22}{23}{24}{25}{26}。

  • 如果 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 的記憶體移轉以釋放空間:

  1. 停止擁有已滿磁碟區共用上 VHDX 檔案的 DPM 伺服器。

  2. 建立額外的磁碟區和備份共用,方法是使用與用於現有共用相同的組態和設定,包括 NTFS 和重複資料刪除的設定。

  3. 轉 DPM 伺服器虛擬機的記憶體,並將至少一個 VHDX 檔案從完整備份共用移轉至步驟 2 中建立的新備份共用。

  4. 在已滿的來源備份共用上執行重複資料刪除記憶體回收 (GC) 作業。 GC 工作應該會成功並且回收可用空間。

  5. 重新啟動 DPM 伺服器虛擬機器

  6. 針對先前失敗的所有數據源,會在下一個備份視窗中觸發 DPM 一致性檢查作業。

  7. 所有備份作業現在應該都會成功。

[摘要]

重複資料刪除和 DPM 的組合提供大量空間節省。 如此可提供較高的保留率、更頻繁的備份以及 DPM 部署的更佳 TCO。 本文件的指引和建議應該會提供您工具和知識,以設定 DPM 存放裝置的重複資料刪除,並且親自體驗優點。

常見問題

問: DPM VHDX 檔案的大小必須是 1 TB。 這表示 DPM 無法備份 VM 或 SharePoint 或 SQL DB 或大小 > 為 1 TB 的檔案磁碟區?

答: 否。 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 耗盡。 因此,若要保護工作負載一天多次 (,例如每隔 15) 分鐘 SQL Server 一次,並同時啟用重複數據刪除,請確定有足夠的 I/O 帶寬和計算機容量以避免資源耗盡。

問: 根據所述的設定,DPM 需要在虛擬機器中執行。 為何我無法在複本磁碟區和陰影複製磁碟區上直接啟用重複資料刪除,而是必須在 VHDX 檔案上啟用?

答: 重複資料刪除會在每個磁碟區的個別檔案上進行重複資料刪除。 由於重複數據刪除會在檔案層級優化,因此它並非設計來支援 DPM 用來儲存其備份數據的 VolSnap 技術。 藉由在 VM 中執行 DPM,Hyper-V 會將 DPM 磁碟區作業對應至 VHDX 檔案層級,允許重複資料刪除最佳化備份資料,並且提供更大的存放裝置節省。

問: 上述範例設定只建立了7.2 TB的磁碟區。 可以建立更大或更小的磁碟區嗎?

答: 重複資料刪除在每個磁碟區執行一個執行緒。 當磁碟區大小變得更大時,重複資料刪除需要更多時間來完成其最佳化。 另一方面,使用小型磁碟區時,要尋找重複區塊的數據較少,這可能會導致節省成本降低。 因此,建議您根據總變換和系統硬體功能微調磁碟區大小,以獲得最佳節省成本。 如需關於判斷用於重複資料刪除的磁碟區大小的詳細資訊,請參閱「調整 Windows Server 中重複資料刪除磁碟區的大小」。 如需判斷重複資料刪除所用磁碟區大小的詳細資訊,請參閱 重設大小磁碟區以進行重複數據刪除