Proxmox 备份恢复指南:主机故障后如何重新启动VMS
目录
表格备份恢复
今天我要介绍的是Proxmox的备份恢复方法,当您的主机遇到问题时,如何重新启动和运行VMS。我将介绍从备份中恢复VMS的方法,包括使用Proxmox备份服务器和VZ dump备份,以及仅有包含VM文件的磁盘的情况。我将尝试从ZFS存储文件、文件存储和LVM存储中恢复它们。为了演示这一点,我创建了一个测试Proxmox系统,并在其中以多种不同方式存储VMS和容器。我将使用VZ dump备份和Proxmox PBS服务器备份我的VMS,并将VMS存储在各种不同类型的磁盘上,包括ZFS、LVM和目录存储。现在,我将故意破坏该VM,使其无法启动,并尝试恢复系统上的所有VMS。通过IPMI进入系统并删除一些不应删除的内容后,我的Proxmox服务器无法启动,启动时出现内核恐慌的问题。我希望能够获取该系统的所有数据。在该系统中,我有一个单独的引导驱动器,它没有我关心的任何VM文件,这意味着我可以使用新的操作系统覆盖该驱动器。如果您在安装Proxmox时使用了存储有VM数据的驱动器,重新安装将格式化驱动器并删除其中的数据,因此您需要获取一个单独的驱动器进行安装,或者克隆之前的磁盘。克隆所有带有数据的磁盘是一个好主意,因为如果出错,您还有另一份数据副本。我需要重新安装Proxmox系统以确保在其上运行VMS的操作系统。我可以从安装设置或备份文件中重新创建大部分配置,但其他数据将存储在VM镜像中,我将能够恢复这些数据。恢复后,重新安装的关键是确保不要触碰那些您不想丢失数据的驱动器,因此我会特别小心,并将那些包含您不想使用的数据的驱动器从系统中拔出,以防止在安装Proxmox时意外将其安装在该驱动器上。现在Proxmox安装程序已经完成,我现在有一个空白的Proxmox系统,引导驱动器上没有任何数据,几乎没有任何配置。我准备将系统上的VMS存储到其他驱动器中。根据您的设置,您可能需要进行一些配置,因为默认情况下并未备份配置。因此,您可能需要进行一些工作,例如设置网络、用户权限和其他参数。但是,我的配置比较简单,所以我只需安装更新,然后准备好运行。我经常使用终端,因此我以root账户通过SSH登录到系统,并开始运行一些命令,以尝试恢复一些数据并确定驱动器上有哪些文件。我喜欢运行的第一个命令是lsblk
,它可以列出系统上的不同块设备。SDA驱动器是我新的引导设备,我刚刚设置它,所以它上面没有任何VMS。作为SDB和SDC,它们是我之前设置的所有VMS存储位置。SDC自动检测到了所有的LVM数据,它包含我要恢复的VMS。SDB有一个大的分区和一个小的分区,我设置它为ZFS,所以如果我要检测ZFS驱动器,可以运行zpool import
命令,然后它将看到我之前设置的zpool。然后,再运行zfs list
命令,我可以看到我的ZFS数据。这些个热备份数据,我使用几种不同的方法存储它们,来演示如何恢复数据。我在这里创建了几个数据集,其中一个是使用PBS,我将使用PBS来从VM文件安装它。这个是一个文件存储,与使用ext4、xfs或其他文件存储解决方案存储的数据相同。然后,我还有一个ZFS VM存储。我要恢复的是我的bz dump备份。为了实现这一点,我将重新挂载之前已经挂载在这个新安装环境中的目录文件,系统将自动检测到以前存在的所有文件。我检查/store/a_vms/file
目录,可以看到其中有所有的Proxmox数据,包括dump、images、private、snippets和template文件。如果我将此文件添加到Proxmox的新数据存储中,它将检测到这些数据,并将其显示出来。因此,我要做的是进入“数据中心-存储-添加-目录”,然后将目录文件路径为/storage/vm/file
添加进去。然后,它将开始检测数据。一两秒后,它将在存储中显示出来,显示一些使用情况。我可以看到这个目录中的所有数据,包括我的备份、VM磁盘、ISO映像和模板。现在,它并不完全准确,它对某些事物感到困惑,比如这些VM原始映像实际上是容器而不是VMS,但我不打算查看这些VM磁盘,因为我有备份,并且在Proxmox上恢复备份非常容易。另外,我还没有创建一个新的ZFS数据集,用于存储我恢复的数据。这是因为我不希望将恢复的数据存储在具有现有数据的驱动器上,因为可能会出现一些问题,因为它可能正在使用VM编号或其他内容。既然我创建了一个放置VMS的位置,我将要存储它们,我将点击一个要恢复的VM,然后点击“恢复”。我可以看到像名称、最近备份的日期和时间这样的信息。我要选择刚刚创建的这个新目录作为恢复位置,我可以保持所有的设置都相同,并进行恢复。现在,我的VM已经成功恢复了,我可以点击“启动”,它将运行这个VM,它拥有相同的名称、相同的硬件配置,一切都准备就绪。您可能会遇到的一个问题是,VM无法启动,因为CD驱动器无法再访问CD,如果只是一个启动CD,您将不再需要它,所以我会编辑并设置不使用任何媒体。然后,它就不会使用那个旧的CD虚拟驱动器,然后我就可以立即启动VM了。现在,我可以看到这是一个Fedora VM,它刚刚开始启动,我拥有一个完整工作的Fedora系统。这是恢复文件的最简单方法,您只需将文件放入备份存储目录,在新系统上点击“恢复”,它将恢复到之前的配置状态。我也想展示一下如何恢复容器,同样可以使用相同的方法,只需点击“恢复”,因为容器的信息较少,所以恢复非常快速完成。现在,我将展示如何从PBS中恢复数据,因为PBS有自己的存储方式,普通用户无法直接访问,就像一个基本的映像文件一样。因此,您需要安装Proxmox备份才能读取这些备份文件。现在,我在PBS的控制面板上,需要再次获取数据。我需要将它作为数据存储添加进来,但如果只是在这里添加,它会显示无法创建,因为该文件已存在,所以我实际上需要进入系统的配置文件并编辑它们来添加它。因此,我将转到我的Proxmox系统,编辑配置文件,添加数据存储的信息。我将编辑/etc/proxmox-backup/datastore.cfg
文件,并使用类似于以下的格式添加数据存储的信息:
datastore: <name>
path: <path>
编辑完成后,我需要保存配置文件并返回GUI,看看它是否已经在那里显示出来。我可以看到我现在有一个存储了PBS数据的数据存储,我可以看到所有这些备份,如果我想要,我可以下载这些备份并将它们放在另一个系统上,或者我可以点击“恢复”来在我的Proxmox服务器上恢复它们。在此之前,您可能需要添加PBS存储位置。只需转到“数据中心-存储”,然后添加PBS数据存储,它将检测到那里已经存在的所有数据。现在,我已经添加了PBS数据存储,并且可以看到所有这些备份。与其他备份一样,我只需点击备份,然后选择我要恢复到的存储位置,然后点击“恢复”,它将开始复制文件,一分钟左右后,就可以准备好启动该VM了。不幸的是,您不总是能够访问备份来恢复VM。有时您仅拥有它所启动的VM磁盘。这可能是一个IMG文件、ZFS之类的内容,或者是一个LVM。接下来,我将查看所有这些不同类型的存储方式,并说明如何启动它们。因此,我将以新建一个VM的方式开始,并将该VM所使用的镜像文件添加进去。然后,我将编辑该VM的配置文件,以确保正确设置了引导设备。如果有必要,更改启动顺序,以确保VM能够从新添加的驱动器启动。现在,我可以启动VM,看它是否能从所添加的驱动器启动。很遗憾,我意外救援了错误的VM,这是一个Ubuntu VM,而不是Windows VM。这是一个令人讨厌的问题,我只知道我先前使用的编号,而不知道名称。这种方法可能相对复杂,需要大量的Linux知识,了解文件的存储位置,并且需要不断地编辑配置文件。这是使用PBS或VZ dump备份的一个极好的理由,因为它们可以通过单击一次进行恢复,而无需寻找文件和编辑配置文件。但是,如果您需要恢复,而且只有VM的映像文件,您仍然可以仅凭映像文件让其正常工作,而不需要其他配置数据。请告诉我您以前是否曾经进行过这些恢复方法,以及它们对您有何作用。我个人的一些服务器也出现过这种情况,因为我在启动配置方面犯了错误,只有备份和一些磁盘文件,幸运的是,我大多数VMS都有PBS备份,但其中一些只有磁盘文件,需要使用这种痛苦的方法来寻找文件,编辑配置文件。制作VMS的备份非常值得,因为恢复非常简单。感谢观看本Proxmox视频,请订阅以获取更多有关Proxmox和其他计算机知识的视频。
从备份恢复 VMS
在Proxmox中,如果您遇到主机问题,导致VMS无法启动,而您有备份,您可以轻松地从备份中恢复VMS。首先,确保使用VZ dump备份或Proxmox PBS服务器发布的备份。接下来,从Proxmox Web界面转到“数据中心”>“备份”部分。这里列出了您创建的所有VMS的备份。选择要恢复的VM,并单击“恢复”按钮。在“存储”部分选择目标存储位置,然后单击“恢复”按钮。稍等片刻,恢复过程将开始。一旦完成,您的VM将恢复到先前的状态,并可以重新启动。
从 VZ dump 备份恢复 VMS
如果您使用VZ dump备份您的VMS,则可以使用以下步骤从备份中恢复它们。首先,创建一个新的空VM。接下来,转到Proxmox节点上的/var/lib/vz/dump
目录。在此目录中,你会找到VZ dump备份文件。将要恢复的备份文件复制到您之前创建的新VM目录中。切换到新VM的目录,并使用以下命令导入备份文件:
qmrestore <vmid> <backup_file> <new_vmid>
在上述命令中,<vmid>
是新VM的ID,<backup_file>
是要恢复的备份文件,<new_vmid>
是新VM的新ID。恢复将开始并显示进度。完成后,您可以启动新的VM并验证数据已成功恢复。
从磁盘中恢复 VMS
如果您只有磁盘文件而没有备份,您仍然可以尝试从磁盘中恢复VMS。首先,创建一个新的空VM,并确保关联了正确的操作系统模板。接下来,将要恢复的磁盘文件复制到新VM的目录中。然后,编辑新VM的配置文件,将要恢复的磁盘文件添加为虚拟磁盘。保存并关闭配置文件。现在,您可以启动新的VM并验证数据已从磁盘成功恢复。
使用 ZFS 存储恢复 VMS
如果您的VMS存储在ZFS存储池中,并且您有备份,可以按照以下步骤从备份中恢复它们。首先,确保在Proxmox Web界面的“节点”部分选择了正确的节点。然后,导航到“数据中心”>“存储”>“添加”部分。在这里,选择ZFS存储类型,并配置新存储。按照提示操作,包括选择正确的设备和将其添加到存储池。完成后,你将在“存储”列表中看到新添加的ZFS存储。接下来,转到“数据中心”>“备份”部分,并选择要恢复的VM。在“恢复到”部分,选择新添加的ZFS存储,并单击“恢复”按钮。恢复过程将开始,一旦完成,您将能够在新的ZFS存储中启动和运行恢复的VM。
使用 LVM 存储恢复 VMS
如果您在Proxmox中使用LVM存储VMS,并且有备份,可以按照以下步骤从备份中恢复它们。首先,确保在Proxmox Web界面的“节点”部分选择了正确的节点。然后,转到“数据中心”>“存储”,并选择LVM存储类型。在LVM存储中,创建一个新的卷组,并将其添加到节点。接下来,导航到“数据中心”>“备份”部分,选择要恢复的VM。在“恢复到”部分,选择新创建的LVM存储,并单击“恢复”按钮。恢复过程将开始,一旦完成,您将能够在新的LVM存储中启动和运行恢复的VM。
使用文件存储恢复 VMS
如果您使用文件存储来存储VMS,并且有备份,可以按照以下步骤从备份中恢复它们。首先,确保在Proxmox Web界面的“节点”部分选择了正确的节点。然后,导航到“数据中心”>“备份”部分,选择要恢复的VM。在“恢复到”部分,选择要恢复到的目标存储位置,并单击“恢复”按钮。恢复过程将开始,一旦完成,您将能够在新的存储位置上启动和运行恢复的VM。
使用PBS备份恢复VMS
Proxmox Backup Server(PBS)提供了一种简单快速的方式来备份和恢复VMS。要从PBS备份恢复VMS,请按照以下步骤操作。首先,确保已安装PBS,并配置了正确的存储位置。然后,转到Proxmox Web界面的“数据中心”>“备份”部分。在这里,您将找到PBS备份列表和存储位置。选择要恢复的备份,并选择目标存储位置,然后单击“恢复”按钮。恢复过程将开始,一旦完成,您将能够在新的存储位置上启动和运行恢复的VM。
常见问题解答
问:我该如何创建Proxmox的备份?
答:要创建Proxmox备份,转到Proxmox Web界面的“数据中心”>“备份”部分。在这里,您可以选择要备份的VM并设置备份计划。
问:我可以在Proxmox中使用哪种存储类型来存储VMS?
答:Proxmox支持多种存储类型,包括ZFS、LVM和文件存储。您可以根据需要选择合适的存储类型。
问:如果我没有备份,我将无法恢复我的VMS吗?
答:是的,如果您没有备份,且没有其他存储VMS的文件,恢复VMS将变得非常困难。因此,强烈建议定期进行备份。
问:我可以从Proxmox备份恢复到不同的节点吗?
答:是的,您可以从Proxmox备份恢复到同一节点或不同节点上。
问:恢复的VMS与原始VMS有何区别?
答:恢复的VMS将与原始的VMS具有相同的配置和数据,但恢复的VMS将运行在新的环境中。
问:如果我没有Proxmox PBS备份,我还能恢复VMS吗?
答:是的,即使没有Proxmox PBS备份,您仍然可以尝试从磁盘或其他存储中恢复VMS。但这可能需要更多的操作和配置。
问:何时应该使用VZ dump备份而不是Proxmox PBS备份?
答:VZ dump备份适用于较小的环境,而Proxmox PBS备份适用于较大的环境,具有更多的功能和配置选项。
问:创建VMS备份需要多长时间?
答:创建VMS备份的时间取决于您的VMS大小和系统性能。较大的VMS可能需要更长的时间来完成备份过程。
以上是有关Proxmox VMS备份恢复的一些常见问题解答。如果您有其他问题,请随时咨询我们的技术支持。