CentOS,无需实际前往服务器即可恢复到干净状态(通过备份或快照)

CentOS,无需实际前往服务器即可恢复到干净状态(通过备份或快照)

我正在运行 CentOS 8,我想回滚到某个时间点(备份或快照),但是没有必须从 USB 启动。Windows 上有许多工具允许这样做(例如 Macrium Reflect),我非常希望 Linux 上也能有类似的功能。

为什么这很重要/有用:我的阁楼里有一个 CentOS 系统,而我的父母家则有一个远程系统。这些不是高端企业解决方案,但我希望能够恢复它们,而不必使用 USB 记忆棒。

请注意:这个问题是不是与 VM 相关;我经常在工作和家中使用 VM,但这个问题是关于管理裸机安装的。答案中提到了 LVM,但这些 LVM 具有高度侵入性,涉及对分区结构的巨大改动和极其复杂的企业服务器管理(但我毫不怀疑 LVM 是任务关键型企业环境的优秀技术)。

例如,我希望能够执行以下场景,并从系统远程执行所有这些操作(备份或恢复不需要 USB 记忆棒):

• 在裸机上安装干净版本的 CentOS 8。

• 安装一些工具,然后使用该工具对当前操作系统状态进行快照/备份(例如“快照 0”或“备份 0”)。

• 进行大量更改并创建一个新的快照(例如“快照 1”或“备份 0”)。

然后,我可以指示我的系统回滚到“备份 0”或“备份 1”。它将继续重新启动进入恢复状态,执行恢复,然后重新启动回到 CentOS。当然需要重新启动,但不必使用 USB 记忆棒或其他老式繁琐的方法亲自前往远程服务器,这就是重点 - 而且,这一切都非常简单,在 Windows 上使用 Macrium Reflect 等工具即可轻松完成,我希望有人可以让我知道像 CentOS 这样的操作系统具有“2020 年的功能”,而不是停留在必须使用 USB 记忆棒才能回滚等的糟糕旧时代(CentOS 很棒,所以我真的很想知道如何做到这一点)?

那么,我们可以对正在运行的 Linux 服务器进行裸机快照/备份,然后回滚到那些还原点吗?没有必须通过 USB 启动,就像 Macrium Reflect 或 Windows 上的其他各种软件一样,可以在 Windows 上轻松实现吗?

答案1

不,在 CentOS 中创建文件系统快照并恢复它并不复杂。但是,这也不是世界上最简单的事情。

诀窍在于理解逻辑卷的概念,一旦理解了,只需运行几个命令即可创建快照,比如说,根分区。恢复快照最多只需 2 个命令。

以下是关于卷管理概念的基本介绍:

逻辑卷 (LV) 位于物理存储和文件系统之间。假设您的文件系统位于 LV1 上,您可以创建第二个逻辑卷 LV2,并在 LV2 上对整个文件系统进行快照。恢复快照只需将 LV2 的内容返回到您的文件系统即可。

举一个更具体的例子,假设:

  • 您有 2 个磁盘(物理卷或 PV)-sda并且sdb
  • 你的根 (/) 文件系统在 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

相关内容