Linux

CentOS,無需物理訪問伺服器即可恢復到干淨狀態(通過備份或快照)

  • November 18, 2020

我正在執行 CentOS 8,我想回滾到某個時間點(備份或快照),但不必從 USB 啟動。許多工具在 Windows 上允許這樣做(例如 Macrium Reflect),我非常希望在 Linux 上類似。

**為什麼這很重要/有用:**我的閣樓裡有一個 CentOS 系統,另一個是遠端的(在我父母那裡)。這些不是高端企業解決方案,但我希望能夠恢復它們而無需使用 USB 記憶棒訪問它們。

請注意:這個問題與虛擬機無關*;*我經常在工作和家裡使用 VM,但這個問題是關於管理裸機安裝的。答案中提到了 LVM,但這些都是高度侵入性的,涉及對分區結構的巨大改變和極其複雜的企業伺服器管理(但我毫不懷疑 LVM 是任務關鍵型企業環境的優秀技術)。

例如,我希望能夠執行以下場景,並從系統遠端執行所有這些操作(備份或還原不需要 USB 記憶棒):

• 在裸機上安裝 CentOS 8 的干淨版本。

• 安裝一些工具,然後使用該工具獲取目前作業系統狀態的快照/備份(例如“快照 0”或“備份 0”)。

• 進行大量更改並製作新快照(例如“快照 1”或“備份 0”)。

然後,我可以指示我的系統回滾到“備份 0”或“備份 1”。它繼續並重新啟動自己進入恢復狀態,執行恢復,然後重新啟動回到 CentOS。當然需要重新啟動,但不必使用 USB 記憶棒或其他老式繁瑣的方法來實際訪問遠端伺服器,這是關鍵 - 問題是,這一切都非常簡單和容易使用 Macrium 之類的工具在 Windows 上做反映,我希望有人能讓我知道像 CentOS 這樣的作業系統具有“2020 年功能”,而不是陷入不得不使用 USB 記憶棒回滾等糟糕的過去( CentOS 很棒,所以我真的很感激知道如何做到這一點)?

那麼,我們是否可以對正在執行的 Linux 伺服器進行裸機快照/備份,然後回滾到這些還原點,無需 USB 引導,就像 Macrium Reflect 或 Windows 上的各種其他軟體可以在 Windows 上輕鬆完成一樣?

不,創建文件系統的快照並在 CentOS 中恢復它並不是非常複雜和復雜。然而,這也不是世界上最簡單的事情。

訣竅是理解邏輯卷的概念,一旦你這樣做了,只需執行一些命令來創建一個快照,比如說你的根分區。恢復快照最多是 2 個命令。

這是關於捲管理概念的基本入門:

邏輯卷 (LV) 位於物理儲存和文件系統之間。鑑於您的文件系統位於 LV1 上,您可以創建第二個邏輯卷 LV2,並在 LV2 上拍攝整個文件系統的快照。恢復快照只是將 LV2 的內容恢復到文件系統的問題。

舉一個更具​​體的例子,假設:

  • 您有 2 個磁碟(物理卷或 PV) -sdasdb
  • 您的根 (/) 文件系統位於 sda 上,而 sdb 上沒有任何內容
  • 您的邏輯卷被分組在一個名為myvolgrp
  • 您的根文件系統位於一個名為的邏輯卷上myvolgrp-root(您可以在 /dev/mapper 下看到它)
  • 你已經切換到root

# Extend current volume group to unused disk: sdb

vgextend myvolgrp /dev/sdb

# Create logical volume called snapshot1_root, assuming 4 GB is the size of sdb and that 4 GB is enough for your purposes

lvcreate --size 4 GB --name snapshot1_root --snapshot /dev/mapper/myvolgrp-root

# Restore root fs on original LV

lvconvert --mergesnapshot myvolgrp/snapshot1_root

reboot

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