虛擬桌面基礎架構 (VDI) 最大的存儲挑戰在於:每個桌面都是一個獨立 VM,作業系統、應用程式、補丁高度相似,造成大量重複資料佔用空間。Windows Server 2012 R2 針對 VDI 優化了重複資料刪除,本文解析其運作原理、部署前提與效能考量。
核心運作機制
- 區塊級去重:將 VHD/VHDX 切分為 32~128 KB 區塊,計算雜湊比對,僅保留唯一區塊。
- 背景排程作業:非即時,預設每天執行一次(可調整),針對「超過
MinimumFileAgeDays(預設 5 天)未變動」的檔案。
- 不影響 VM 運行:去重處理的是靜態區塊,活躍寫入區塊不在處理範圍,VM I/O 延遲極低。
部署必要條件
| 條件 | 說明 |
| VDI 儲存於獨立檔案伺服器 | 不能放在 Hyper-V 主機本機磁碟,需透過 SMB 3.0 存取遠端檔案伺服器,避免去重程序搶佔 Hyper-V CPU/記憶體 |
| SMB 3.0 協定 | 支援多通道、RDMA、加密,確保高吞吐、低延遲 |
| 擴展檔案伺服器 / 叢集共享磁碟 (CSV) | 提供 Scale-Out 與高可用性,單點故障不中斷 VDI |
| 格式化為 NTFS / ReFS | ReFS 結合去重可獲得更佳元資料效能 |
效能增益與限制
✅ 優點
- 典型 VDI 桌面池 節省 50%~80% 存儲空間,單伺服器可承載更多桌面
- 減少實體磁碟採購、機房機櫃、電力成本
- 搭配 SSD/NVMe 快取層,隨機讀效能大幅提升
⚠️ 限制與注意
- 非即時:新部署的桌面、剛打完補丁的 VHD,需等待
MinimumFileAgeDays 才會被去重
- CPU 開銷:去重作業需計算雜湊、比對索引,建議在離峰時段執行
- 不支援:加密檔案 (EFS)、壓縮檔案、極小檔 (<64 KB)、資料庫檔 (MDF/LDF) 建議排除
- 備份軟體相容性:部分備份軟體無法識別去重後的重新解析點,需驗證
關鍵 PowerShell 設定範例
# 啟用去重
Enable-DedupVolume -Volume "D:" -UsageType HyperV
# 調整最小檔案齡(預設 5 天,VDI 可改 1~2 天加快去重)
Set-DedupVolume -Volume "D:" -MinimumFileAgeDays 1
# 排除資料庫檔
Set-DedupVolume -Volume "D:" -ExcludeFolder "D:\SQLData"
# 查看去重率
Get-DedupStatus -Volume "D:" | Select Volume,OptimizedFilesCount,SavedSpace,SpaceSavingsRatio
總結:WS2012 R2 VDI 去重是「以空間換時間」的經典權衡,配合 SMB 3.0 Scale-Out File Server 與全快閃存儲,可將 VDI 單位桌面成本壓至極低。部署前務必做 I/O 模擬測試,確認去重排程不影響登入風暴。
- 上一篇文章: MySQL 系統庫深度解析:information_schema、mysql、performance_schema、sys 四大核心庫用途與權限
- 下一篇文章: MySQL 基礎入門 Day 13:SQL 分類、DDL/DML/DQL 實戰與完整性約束
Copyright ©
程式碼之家 All Rights Reserved