如何高效地备份 Hyper-V 虚拟机?

2022-09-12 12:10:54 +08:00
 cwcc

虚拟机数量较多,磁盘空间占用大约有 1T 。本人有台 NAS 和一台接了存冷备数据的树莓派在异地,想将 Hyper-V 虚拟机备份起来,怎么样定时备份比较好呢?

考虑到增量备份对于虚拟机可能行不通,那只留一份拷贝的话至少过一段时间要保留一份间隔长一点的冷备数据,以便短时间的冷备出现问题还有得救。

因为虚拟机体积较大,所以不想浪费太多空间保留过多无效的重复大文件。

NAS 是 arm 入门款没有 ActiveBackup 。

2212 次点击
所在节点    Windows
7 条回复
LifStge
2022-09-12 12:59:03 +08:00
多盘 系统盘 数据盘 啥的分开 这样好处理点
规划好使用差异硬盘(父子盘) 虚拟机多的话 能省不少 这样能避免过多的重复备份 父盘备份一次也就就够了

linux 虚拟机 用 dd if=/dev/zero of=~/zeroes sync rm ~/zeroes 类似 把虚拟机硬盘 未使用区域清下零
Windows 虚拟机 就用 微软工具 sdelete
P.S. 虚拟机磁盘写零 本身虚拟机是优化的 只有有数据的区域才会真的写入物理硬盘.. 不过 windows 好像有点区别 我前面清零反倒把虚拟磁盘文件填满了 估计 sdelete 参数用错了 具体还是看看说明吧.
然后关闭虚拟机 压缩下硬盘 用 gui 也好 powershell 也行 Optimize-VHD xxxxx.vhdx -Mode Full

这样备份不会浪费空间

然后备份的策略就看自己了 想自动化 还是自己写写脚本吧 需要同时还需要虚拟机内脚本配合的(清零未使用空间 压缩硬盘)

大周期虚拟机硬盘压缩备份下

小周期使用下快照就行
nuk
2022-09-12 13:34:05 +08:00
iscsi+块设备 snapshot ,你虚拟机多的话完全可以搞个 10G 光口。。
weak
2022-09-12 13:48:37 +08:00
群晖好像有个专门的套件可以北方 Hyper V 虚拟机
PrinceofInj
2022-09-12 13:58:18 +08:00
开 iSCSI ,映射到主机上,然后启用 Windows 服务器的冗余数据删除。如果不是 server 系统,当我没说。
Ayahuasec
2022-09-12 19:44:28 +08:00
@LifStge 我记得把 discard 选项打开然后手动 fstrim 一下就可以收缩虚拟硬盘文件了。
用 dd 写 0 的话我没测试过,好奇一下这样操作会不会涉及到硬盘 IO 而需要比较长的时间?还是说虚拟硬盘控制器一般会发现写 0 而主动释放空间,实际不会导致大量的硬盘写入?
LifStge
2022-09-12 20:25:08 +08:00
@Ayahuasec 如果不在虚拟机内清零的话 虚拟机自带的压缩磁盘 都不理想 很多还是无法释放的 这样处理是最优的 针对写零 虚拟机都是有优化的 其实也就行相当于直接跳过 然后调整虚拟磁盘 整个操作 可以看下 外部的磁盘文件大小是不会变的 . 任务管理器看的 io 不一定准
cwcc
2022-09-15 15:25:38 +08:00
我最后不打算热备,冷备采用每两周自动导出+压缩备份到 NAS ,第一次写 PowerShell 脚本。

https://gist.github.com/crazywhalecc/e42657ff7e36859c6d7ce49c5149d18c

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/879404

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX