未雨绸缪!All in One PVE虚拟机快照备份不可少

最近因为小主机系统盘报故障的情况,也再次提醒了我玩NAS的过程中一定要注意数据备份。

一直说使用二手硬件或者旧硬盘时一定要注意备份,但是也不能对新硬件过于自信。

我当时装好这个小主机All in One,也设置了备份快照,但是没怎么关注它。因为觉得都是一手新硬件,短时间内应该不会出啥大问题。这不还不到1年,问题就来了。

昨天分享了一下PVE宿主系统关键配置备份,趁此也再分享一下pve虚拟机的备份流程,给需要的朋友一个参考。

也建议使用类似方案,没做过快照备份的的朋友,不要存在侥幸心理,还是重视一下把保险上好。

下面分享一下我的pve虚拟机备份过程,以及遇到过的问题。

PVE因为有比较完善的Web可视化界面,虚拟机备份操作还是比较简单的。

备份流程里稍微麻烦并且比较重要的,其实是备份存储的选择和设置。这里分别讲一下。

文章主要还是新手向,我这里也尽量写详细一些,老玩家可以略过。

PVE虚拟机备份存储位置方案选择

之所以做备份,就是为了不把所有鸡蛋放到一个篮子里,所以备份存储,最终一定要和你的PVE系统做物理分离,也就是不要出现备份和需要备份的东西形成循环依赖。

备份前需要先在pve里添加存储,pve支持的存储方式有很多种。可以根据自己的情况选择。

微信图片_20250423112514.png

其中目录存储,可以使用挂载到pve的移动硬盘,NFSSMB/CIFS存储,则是利用NAS共享协议共享的局域网存储。

条件所限,本文仅介绍这两种备份存储方式。

一、挂载移动硬盘作为备份存储

我最初是打算直接用一块移动硬盘挂载到pve,直接备份到移动硬盘上,这种方案原则上是可行的也是比较好的,比较灵活方便。

不过由于我没有空盘,唯一的一块移动硬盘是ntfs格式,里面还有不少数据,挂载后一直显示 Read-only file system,也就是只读不能写入,试了一些其他方法赋予权限也没有解决,又怕把里面数据给折腾没了,就放弃了用移动硬盘备份的方式。

二、使用SMB共享文件夹作为备份存储

SMB是Windows默认的共享协议,如果想直接将虚拟机备份到电脑上,可以直接在Windows里开一个共享文件夹。但是因为Windows不是24小时或者固定时间开机,这个就没法定时备份了。

我还有一个西数的老MyCloud轻NAS,支持SMB,但是不支持NFS,所以我是使用的这个MyCloud的SMB共享作为备份存储的。

使用SMB或者NFS共享作为备份,直接在pve的web界面添加存储就行了。

下一步。

PVE添加备份存储

这一步是将上一步创建的移动硬盘本地挂载目录,或者SMB/NFS等共享位置,添加为pve可直接读写的存储空间,以执行备份操作。全程在web界面里操作就行了。

点左侧数据中心(注意这次不是点pve节点了),再点存储添加,选择合适的存储。

1. 选择本地挂载的目录的话:

  • ID项,可以自己填写,便于区分记忆的就行;
  • 目录项,填写移动硬盘挂载到pve里的路径,按上面示例为/mnt/backup
  • 内容项,一定要选中VZDump备份文件,也就是支持往这里面写入的文件类型,其他类型是否选择可随意。

微信图片_20250423115429.png

2. 选择并添加SMB备份存储

  • ID项,同上;
  • 服务器:填写SMB共享的IP地址;
  • 用户名:填写SMB共享的用户名;
  • 密码:填写SMB共享的账户密码;
  • Share:填完上述信息之后,在这里就可以看到你共享SMB的路径了,选择它,如果有中文的话会显示乱码,不过没关系;
  • 内容项:同上务必选中VZDump备份文件
  • 子目录:如果你希望将备份存储到这个SMB共享目录下面的子目录,可以在这里写入子目录路径。

微信图片_20250423115732.png

其他项可保保持默认。这样备份的存储位置就添加到pve了。接下来就可以设置备份了。

创建虚拟机快照备份作业

仍然是在数据中心,选择备份,点添加。我这里演示截图显示有两条原来创建的备份规则。

微信图片_20250423121909.png

在弹出的窗口中,可以设置备份规则。主要项填写说明如下:

  • 存储:选择上步创建的存储,名称就是你上一步创建的ID项;

  • 计划:可选备份频率规则,可以选择从每半小时一次到每周、每月、每年一次。越频繁越安全,但备份存储量越大,备份时虚拟机暂停对服务影响也越大,需要根据你虚拟机的重要性及内容变化频度来确定。

  • 通知模式:如果需要,可以设置备份成功之后发备份日志邮件到指定邮箱,我因为安装pve时已设置邮箱,选默认它就会自动发邮件给我。

  • 压缩:保持默认的ZSTD就行,它后面也备注了这种形式“又快又好”。

  • 模式:这个比较重要,备份模式有三种,分别为快照,挂起,停止。

    • 快照模式:停机时间最短,虚拟机仅在冻结文件系统的瞬间短暂暂停(毫秒级),但可能存在极地的不一致风险。
    • 挂起模式:将虚拟机挂起暂停,再进行备份,停机时间略长,影响服务,但恢复服务时间短,数据一致性比较高;
    • 停机模式:直接关闭虚拟机,再进行备份,停机时间最长,对服务影响最大,服务恢复时间长,但数据一致性最高。

    这里推荐快照模式,配合QEMU Guest Agent(需在虚拟机内安装并启用QEMU Guest Agent,暂不展开),可以提高一致性。

最后在下方列表选择需要备份的虚拟机,可以为不同虚拟机创建不同备份作业规则,也可以多个虚拟机采用统一规则。

微信图片_20250423122007.png

最后,可以点保留选项卡,为备份作业创建保留规则。同样可以根据虚拟机重要性及内容变化频度,来确定保留多少备份。

微信图片_20250423124635.png

例如每周备份1次的,可以设置每月留1-2个备份,多余的自动删除。以免自动备份文件过多占用空间过大。

以上备份作业设置完成之后,可以选择创建的备份作业,点现在运行,立即手动备份一次。

最后

注意的是,上述第一步挂载的移动硬盘,是临时挂载方法,主要用于手动备份,备份好之后拔下来之前,要记得先卸载挂载,否则容易导致硬盘损坏。卸载挂载命令为:

1
umount /mnt/backup

如果有空盘一直插着让它自动备份,可以用永久挂载,篇幅所限暂不展开了。

另外今天在写这篇文章的时候,因为我的老MyCloud速度太慢。突发奇想,想试试这个PVE里虚拟机创建的飞牛NAS存储的SMB,能不能作为存储进行备份。

用虚拟出来的NAS备份自身,听起来有点像贪吃蛇吃自己尾巴,感觉不是很靠谱,好奇就试了试,没想到还真可以。我用的是快照模式,挂起和停机估计是不行的。

有经验的朋友可以说说这样有没有啥问题。另外这样备份的文件,要记得及时拷出来,不然就成了循环依赖了,pve如果挂了飞牛也打不开呀😂