备份运行在Hyper-V中的MySQL数据库服务器的最佳方法

我们正在Windows 2008 R2虚拟机上运行一个生产MySQL v5.5数据库服务器。 我们目前只是执行数据库的每日mysqldump,然后将其备份。 我们的备份解决scheme(Veeam)支持Hyper-V,并使用VSS创build一个一致的虚拟机快照。 这是一个很好的备份方法吗? 这是最好的备份方法吗? 如果我们必须恢复这个虚拟机,我们会遇到任何数据库损坏? 我们是否应该继续每日执行mysqldumps,并保留单独的备份? 谢谢!

备份不仅是一个灾难恢复解决scheme,也可以是一个存档。

对于灾难恢复部分,您可以使用虚拟机的快照。 但想象一下,您只想从数据库中恢复单个表或单个logging,或者想要查看数据库中的logging随着时间​​的推移如何演变。 在这种情况下,你可能会更好的一个目录充满你的数据库转储。

因此,我build议不仅要依靠快照,还要保持转储的地方。

Hyper-V执行虚拟机的VSS快照,如果这些操作系统安装了集成服务,它将通知内部操作系统准备快照。 该VM OS然后告诉任何有VSS提供程序刷新到磁盘的应用程序(称为静默 )。 所以很酷的是,VSS通知从VM中的Hyper-V-> VM-> Apps中逐渐淡出。 不好的一面是它只能帮助VSS认识的应用程序。 VSS自2003年以来一直在Windows Server中,并且在Microsoft产品中得到了广泛的支持,但在第三方中却没有那么多。

所以看起来MySQL没有本地的VSS支持,但有一个第三方工具据此 。

如果是我,我会设置MySQL做DB和日志备份到本地磁盘(通常,甚至可能每15分钟取决于您的恢复点目标),仍然执行Hyper-V快照来捕获这些文件。 在恢复的情况下,如果你有任何数据丢失,你可以从那里恢复,而只有在线(打开文件)MySQL数据库和日志。 请注意,我不是MySQL专家:)