昨天發(fā)現公司的文件服務器(windows 2019 )上的磁盤空間快滿了,2T的空間只有200多G了,于是刪除了2020年12月31日前的所有文件,發(fā)現剩余空間居然一點都沒改變??! 這個問題我曾在一個客戶那邊也出現過,客戶使用的是存儲,我理所當然的就把問題歸咎于存儲設備了,并要求客戶找存儲廠商解決,我也就沒再跟進此事。 我自己的文件服務器并沒有用存儲,這是怎么回事呢?我用Diskginus 打開磁盤查看,發(fā)現System Volume Information\Dedup\ChunkStore下占用的空間與失去的空間一致,經研究,這是因為在該磁盤上啟用了重復數據刪除功能所致。 Data Deduplication是windows 2012開始增加的新功能,可以大大優(yōu)化存儲空間。不過在使用的時候需要注意,我已經經歷了2起因為這個功能引發(fā)的小問題了。 如下所示,Datadisk1上激活了Deduplication的功能,硬盤本身1.9T,但是實際保存了近乎3.5T的內容,節(jié)省空間45%以上。 需要注意的是,這個功能激活以后,存儲文件的方式就和windows 2008 以前的方式不太一樣了。每個文件把自己的內容分成了2個部分,自己所獨有的,以及和其他文件相同的部分。每個文件自己僅僅保留獨有的部分,比如名稱,屬性,創(chuàng)建時間等等,這些東西我們一般稱為metadata,另外占據90%以上的“真正內容”,是保存在chunk store中,也就是每個磁盤對應的隱藏文件夾 System Volume Information Store里面 (你如果打開VSS,快照也是保存在這里面) 比如說,查看一下其中一個文件的屬性就可以看見,該文件的Size,也就是邏輯大小應該是21.6G,但是Size On Disk只有258K,這個其實僅僅是他的metadata的內容。如果我刪掉這個文件夾,那么他僅僅會清空258K的文件??!我們還需要執(zhí)行一個Garbae collection(垃圾回收)的操作,才能將該文件關聯的內容從Chunk Store中刪除。這就是為什么我最初刪除了不用的文件,但是我的剩余空間并沒有增加,因為我并沒有刪除對應的Chunk Data。 知道了工作原理,那么我們來看看如何刪除? 首先看看當前的狀態(tài),這個可以通過GUI查看,也可以通過命令行,不過命令行可以獲取更多的信息,比如看看上一次的優(yōu)化,垃圾回收,和自我修復是什么時候執(zhí)行的?該磁盤總共多少個文件,有多少個已經優(yōu)化了?這些具體的數據GUI里面都看不見的,所以Powershell的相關命令真的很重要。 也可以查看一下默認的schedule task是什么時候,可以跟上一個結果進行對比 這個計劃任務也可以通過GUI查看 當我刪除了一個文件以后,為了釋放空間,我可以更改GarbeCollection schedule task的時間讓他執(zhí)行,也可以輸入以下命令強制立刻執(zhí)行磁盤清理 Start-DedupJob -Volume D: -Type GarbageCollection -full 總之,Data Deduplication是個很好的功能,他在windows傳統(tǒng)的文件壓縮功能上更進了一步,和VSS類似,是直接執(zhí)行在Volume磁盤上,激活了Dedup的磁盤不能和文件壓縮功能混用。 |
|