虚拟机数量较多,磁盘空间占用大约有 1T 。本人有台 NAS 和一台接了存冷备数据的树莓派在异地,想将 Hyper-V 虚拟机备份起来,怎么样定时备份比较好呢?
考虑到增量备份对于虚拟机可能行不通,那只留一份拷贝的话至少过一段时间要保留一份间隔长一点的冷备数据,以便短时间的冷备出现问题还有得救。
因为虚拟机体积较大,所以不想浪费太多空间保留过多无效的重复大文件。
NAS 是 arm 入门款没有 ActiveBackup 。
1
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 这样备份不会浪费空间 然后备份的策略就看自己了 想自动化 还是自己写写脚本吧 需要同时还需要虚拟机内脚本配合的(清零未使用空间 压缩硬盘) 大周期虚拟机硬盘压缩备份下 小周期使用下快照就行 |
2
nuk 2022-09-12 13:34:05 +08:00
iscsi+块设备 snapshot ,你虚拟机多的话完全可以搞个 10G 光口。。
|
3
weak 2022-09-12 13:48:37 +08:00
群晖好像有个专门的套件可以北方 Hyper V 虚拟机
|
4
PrinceofInj 2022-09-12 13:58:18 +08:00 via Android
开 iSCSI ,映射到主机上,然后启用 Windows 服务器的冗余数据删除。如果不是 server 系统,当我没说。
|
5
Ayahuasec 2022-09-12 19:44:28 +08:00
@LifStge 我记得把 discard 选项打开然后手动 fstrim 一下就可以收缩虚拟硬盘文件了。
用 dd 写 0 的话我没测试过,好奇一下这样操作会不会涉及到硬盘 IO 而需要比较长的时间?还是说虚拟硬盘控制器一般会发现写 0 而主动释放空间,实际不会导致大量的硬盘写入? |
6
LifStge 2022-09-12 20:25:08 +08:00
@Ayahuasec 如果不在虚拟机内清零的话 虚拟机自带的压缩磁盘 都不理想 很多还是无法释放的 这样处理是最优的 针对写零 虚拟机都是有优化的 其实也就行相当于直接跳过 然后调整虚拟磁盘 整个操作 可以看下 外部的磁盘文件大小是不会变的 . 任务管理器看的 io 不一定准
|
7
cwcc OP 我最后不打算热备,冷备采用每两周自动导出+压缩备份到 NAS ,第一次写 PowerShell 脚本。
https://gist.github.com/crazywhalecc/e42657ff7e36859c6d7ce49c5149d18c |