Linux 上節省空間的磁碟快照
我喜歡 VirtualBox 即時創建和恢復快照的能力,我想知道是否可以在主機上做類似的事情。
首先我查看了
lvm
快照,但一些探勘表明,與動態分配的圖像相比,它們有太多的缺點。例如:
- 它們很佔空間。如果您將 10% 寫入邏輯卷然後拍攝快照,則該卷的其他 90% 將變得不可用。
- 拍攝快照是即時的,但恢復到該快照是一項漫長的操作。
- 如果您寫入過多,則無法保護快照免於自動失效。
在 Windows 7 上,我成功地將附加差異 .vhd 圖像的能力與 VirtualBox GUI 相結合以管理快照,並且正在為 linux 尋找類似的選項。
為了完成@Lambert 的回答,還有Btrfs(一個 linux 文件系統),它允許創建和恢復文件系統子卷的快照。有關兩者之間的差異,請閱讀reddit 上的這篇文章。
Btrfs 包含在 linux 核心中,您可以在根文件系統中使用它。它似乎可以啟動它。
關於它的“實驗”狀態,我使用它已經 2 年多了,沒有任何問題。
它們很佔空間。如果您將 10% 寫入邏輯卷然後拍攝快照,則該卷的其他 90% 將變得不可用。
呃,不,不是。LVM 快照呈現兩個塊設備,原始 LV(您正在創建的快照)和快照 LV。只有在任一 LV 上發生更改的數據才會實際寫入快照 LV。您可以將任一 LV 掛載為正常文件系統並使用任一 100%。與使用者空間的唯一區別是快照 LV 似乎沒有改變(這當然是重點)。
拍攝快照是即時的,但恢復到該快照是一項漫長的操作。
取決於您說“還原”時執行的操作您像任何正常 LV(使用
lvcreate
命令)一樣創建快照。您可以保留一系列快照 LV,並告訴 VM 從幾週前的一個啟動,這只是給它一個不同的塊設備路徑的問題。如果您對快照進行更改並希望將這些更改送出到原始 LV ,您可以合併快照
如果您寫入過多,則無法保護快照免於自動失效。
不知道你是什麼意思。您的意思是快照 LV 是否因為原始或快照 LV 寫入過多而被填滿?我知道的唯一寫入問題是,可能需要向快照 LV 記錄比可用數據更多的數據,但只有當您為了節省空間而使快照 LV 小於其原始值時,這才是問題。