共用方式為


重複資料刪除 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 存放裝置。

  • 在我們的測試範例中,我們將檔案伺服器設定為一個向外延展的檔案伺服器(SOFS),這是使用從直接連接的 SAS 磁碟驅動器建立的儲存空間集區配置的儲存容量來部署的。 此部署可確保大規模效能。

請注意:

  • 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 負載平衡原則設定為僅在故障轉移時生效

      • 針對配置為回寫快取 (WBC) 的 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

      • 配置單元大小=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 會改變其運作方式,使 Deduplication 僅考慮那些在指定天數內未變更的檔案。 因為我們希望去重功能能夠立即開始處理所有 DPM VHDX 文件中的備份資料,所以必須將 MinFileAgeDays 設為 0。

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

設定 DPM 儲存裝置

若要避免碎片化問題及維護效率,DPM 儲存是使用重複資料刪除磁碟區上的 VHDX 檔案進行配置。 每個磁碟區上會建立 1 TB 的 10 個動態 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 小時中進行。 您設定的實際重複資料刪除時間將取決於磁碟區大小。 如需詳細資訊,請參閱 重設大小磁碟區以進行重複數據刪除。 備份視窗結束之後,從上午 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 小時;然而,強烈建議重複資料移除和備份視窗應填滿,以便因應每日工作負載和數據變動帶來的處理時間變化。

對備份效能的影響

在一組檔案經過重複資料刪除之後,存取這些檔案時可能會有輕微的效能影響。 這是因為需要額外的處理來存取用於已去重的文件的檔案格式。 在此情況下,這些檔案是由 DPM 在備份時間持續使用的一組 VHDX 檔案。 讓這些檔案重複數據刪除的效果表示備份和復原作業可能會比不使用重複數據刪除稍微慢一點。 對於任何備份產品,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 取得排程狀態。

監控事件

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

  • 若要檢視重複資料刪除事件,請在檔案總管中,瀏覽至 Applications and Services Logs\Microsoft\Windows\Deduplication。

  • 如果 LastOptimizationResult = 0x00000000出現在 Get-DedupStatus |fl Windows PowerShell 結果中,則會由先前的優化作業處理整個數據集。 如果沒有,則系統無法完成重複資料刪除處理程序,您可能想要檢查您的組態設定,例如磁碟區大小。

如需詳細的 Cmdlet 範例,請參閱 監視和報告重複資料刪除

監視備份記憶體

在我們的配置範例中,7.2 TB 的磁碟區被填入了 10 TB 的「邏輯」數據(即未經重複資料刪除的數據大小),這些數據存放在 10 個各 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 的檔案磁碟區?

A: 不可以。 DPM 會將多個磁碟區彙總為一個以儲存備份。 因此,1 TB 的檔案大小對於 DPM 可以備份的數據源大小沒有任何影響。

問: DPM 存放集區 VHDX 檔案似乎只能部署在遠端 SMB 檔案共用上。 如果我將備份 VHDX 檔案儲存在啟用了重複資料刪除功能的磁碟區上,而該磁碟區與執行 DPM 虛擬機器的系統相同,會發生什麼事?

答: 如上所述,DPM、Hyper-V 和重複數據刪除是記憶體和計算密集型作業。 在單一系統中結合這三項,可能會導致 I/O 和程式密集的作業,而該作業可能會耗盡 Hyper-V 及其 VM。 如果您決定在 VM 中使用相同電腦上的備份記憶體磁碟區來實驗設定 DPM,您應該仔細監視效能,以確保有足夠的 I/O 頻寬和計算容量,以維持相同電腦上的這三項作業。

問: 您建議使用專用且個別的去重和備份時段。 為什麼在 DPM 備份時無法啟用重複資料消除? 我需要每隔 15 分鐘備份一次 SQL DB。

A: 重複數據刪除和 DPM 是存儲密集型的操作,同時運行兩者可能會效率低下,並導致 I/O 匱乏。 因此,若要保護工作負載一天以上一次(例如 SQL Server 每 15 分鐘一次),並同時啟用重複數據刪除,請確定有足夠的 I/O 帶寬和計算機容量,以避免資源耗盡。

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

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

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

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