Linux

LVM 快照是這樣工作的嗎?

  • June 25, 2021

我試圖弄清楚 LVM 快照是如何工作的,以便我可以在我的文件伺服器上實現它,但我很難在Google上找到任何解釋它是如何工作的東西,而不是如何將它用於基本備份系統。

從我讀過的內容來看,我認為它的工作原理是這樣的:

  • 您有一個帶有主分區的 LVM,並且該分區中沒有大量未分配的可用空間
  • 然後您拍攝快照並將其安裝在新的邏輯卷上。快照應該有變化,所以第一個快照將是一個完整的副本,對嗎?
  • 然後,第二天你拍攝另一個快照(這個分區的大小不必那麼大)並掛載它。
  • LVM 以某種方式跟踪快照,並且不會在主卷上儲存未更改的位。
  • 然後你決定你有足夠的快照並擺脫第一個。我不知道這是如何工作的,也不知道這將如何影響下一個快照。

有人可以糾正我哪裡錯了。充其量,我猜,我在Google上找不到任何東西。


vgdiplay

obu1:/home/jail/home/qps/backup/D# vgdisplay
--- 卷組 ---
VG 名稱文件伺服器LVM
系統編號
lvm2 格式
元數據區 1
元數據序列號 3
VG 訪問讀/寫
VG 狀態可調整大小
最大低壓 0
帶LV 2
打開LV 2
最大 PV 0
目前 PV 1
行動 PV 1
VG 大小 931.51 GB
PE 大小 4.00 MB
總PE 238467
分配 PE / 大小 238336 / 931.00 GB
免費 PE / 大小 131 / 524.00 MB
VG UUID qSGaG1-SQYO-D2bm-ohDf-d4eG-oGCY-4jOegU

為什麼不看看LVM-HOWTO 的快照部分

LVM 快照是您基本的“寫入時複製”快照解決方案。快照實際上只不過是要求 LVM 給您一個指向文件系統目前狀態的“指針”,並將快照後所做的更改寫入指定區域。

LVM 快照“活動”在卷組內,該卷組託管受快照影響的捲 - 而不是另一個卷。您的陳述“…大量未分配的可用空間而不是分區”聽起來您的想法是快照在受快照影響的捲組之外“存在”,這是不准確的。您的捲組位於硬碟分區中,該卷受快照以及您拍攝的任何快照都位於該卷組中。

使用 LVM 快照的正常方式不是用於長期儲存,而是獲取文件系統的一致“圖片”,以便可以進行備份。備份完成後,快照將被丟棄。

創建 LVM 快照時,您指定一定量的空間來保存快照處於活動狀態時所做的任何更改。如果所做的更改多於您為快照指定的空間,則會變得不可用並且必須丟棄。您不希望留下快照,因為 (a) 它們會填滿並變得無法使用,以及 (b) 快照處於活動狀態時系統的性能會受到影響——事情會變慢。

編輯:

Microsoft 卷影複製服務和 LVM 快照所做的並沒有太大的不同。微軟的解決方案更加全面(就像微軟的典型情況一樣——無論好壞,他們的工具和產品通常尋求解決相當大的問題而不是專注於一件事)。

VSS 是一個更全面的解決方案,它將支持快照和基於軟體的快照的硬體設備的支持統一到一個 API 中。此外,VSS 的 API 允許通過快照 API 使應用程序處於靜止狀態,而 LVM 快照只關心快照——任何靜止的應用程序都是您的問題(將數據庫置於“備份”狀態等)。

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