Windows-Server-2012-R2

ZFS 報告與 Windows 大不相同的大小以及應該可用的大小

  • October 10, 2019

在我們開始之前,是的,我知道設置不是最佳的,但我們正在製定一個從頭開始設置所有內容的計劃。我從一個不再在這里工作的兼職學生那裡繼承了這個。這是一個關於潛在解決方案的問題。

不過,我們有一個非常緊急的故障需要在重建 NAS 之前修復。

設置:2x 伺服器、1x Windows server 2012r2(稱為 Vmhost)和 1x FreeBSD(稱為 Nas)以及 Raidz2 中的 8x 300GB 磁碟。nas 使用 iscsi 向 vmhost 公開 2 個 lun。

Vmhost 正在執行幾個儲存在這些 iSCSI 磁碟上的虛擬機 (duh)。

問題:有 1 個 VM 在 hyper-v 中有 2 年的快照(或檢查點)(不要問為什麼),這導致快照文件與實際磁碟文件(vhdx)一樣大盤)。

我們在 NAS 上執行空間,這使我們的虛擬機變慢或無響應。

我不明白的一件事(但可能很容易解釋)是 Windows 報告說 iscsi 磁碟上有近 4TB 的數據,而我沒有安裝超過 300*6(+2 奇偶校驗)GB 的 HDD . 這只是 ZFS 方面的良好壓縮嗎?

windows中大小的截圖

建議的解決方案:將vm的磁碟移動到其他磁碟並更正vm config中的映射,然後只需在hyper-v中按“刪除檢查點”,讓hyper-v將快照合併到磁碟,然後將其移回iscsi磁碟.

問題是:如果vhdx磁碟為1tb,快照文件為1tb,那麼3tb的磁碟是否足以作為合併磁碟?它真的會解鎖1tb嗎?(vhdx 的大小是固定的)還是不會做很多事情(因為它顯然沒有報告正確的大小)?

更大的問題:由於尺寸在任何方向上都沒有任何意義,我可以相信哪些數字?如果我按數字計算,我在 1800gb 的空間上總共有超過 4tb 的數據。zfs 是否如此聰明以至於可以看到快照中的某些數據可能與磁碟上的相同並且不使用額外空間?

zfs 列表

zpool 列表

超V

Windows資源管理器

總的來說,ZFS 可以輕鬆實現 VM 磁碟的 1.2:1 壓縮。它也很智能,不會在磁碟上保存任何零塊。數據庫壓縮得更好。一般來說,如果某些可壓縮性好的 4Tb 虛擬磁碟適合具有 1.8T 物理空間的陣列,我不會感到驚訝。

如果你用 ZFS 做快照,它將是 CoW 快照。一開始,ZFS 會知道數據是相同的,只需將相同的數據儲存在磁碟上一次。當某個副本被寫入一個塊時,該塊被複製並儲存在其他地方(即寫時複製,CoW),然後其中一個副本被更改。從現在開始,即使您將副本還原為具有相同的數據,一般情況下它們也不會被合併。

您可以合併任何碰巧相同的塊,即使您不是從快照開始。你可以告訴它檢查數據區域是否有一些重複的塊,你猜對了,只儲存一次。此功能稱為重複數據刪除,但我沒有看到您在使用它,因為您在 zpool 列表中有 DEDUP 1.00x。另外,請注意,此功能會消耗大量記憶體。

我將從啟動可疑的 Windows VM 開始您的案例,一些磁碟備份軟體通過逐個扇區的副本進行備份,並從該 VM 內部對虛擬磁碟進行完整備份(即備份 Windows 看到的內容)。或/和備份虛擬磁碟映像。這將至少不會失去您當然可以訪問的數據。然後按照您的描述行事。

也是一個旁注。我在您的螢幕截圖上看到了一個叫做“虛擬備份”的東西。不要做這樣的備份。不要依賴相同的邏輯結構。如果堆棧中的一些罕見錯誤(虛擬磁碟中的 NTFS 上的 NTFS 上的基礎磁碟上的 ZFS 池)破壞磁碟上的結構,您將失去該備份以及它必須保護的數據,並且不可能對數據進行取證恢復從這樣的雙層蛋糕。通常最好將備份儲存到一個獨立於主記憶體儲的最簡單的結構中,即一個單獨的磁碟,只是沒有高級捲管理的裸分區表,最簡單的文件系統。在任何情況下都更容易訪問和恢復。

引用自:https://serverfault.com/questions/987522