这与我上一个问题类似,只是我上一个问题的标题中包含了“跑步时”。后来我才知道这根本不可能。
这是我对这些选项的理解(当使用 LVM 作为文件系统支持时)。
1.)
流程:关闭域。创建 LVM 快照。重新启动域。从快照创建备份。销毁快照。
优点:完全一致的备份。
缺点:显然,这种方法的缺点是每次执行备份时都需要重新启动域。
2.)
流程:在域上运行“xm save”。复制映像文件和状态文件。运行“xm restore”。
优点:停机时间比#1少。
缺点:仍然会有“一些”停机时间,而且网络连接会丢失。此外,映像仍不一定包含完全一致的文件系统,但可以与状态文件一起创建一致的映像。(我们会同时备份机器状态、内存内容等。)
3.)
流程:创建 LVM 快照。从快照创建备份。销毁快照。
优点:没有系统停机时间。
缺点:备份就像是从机器上拔掉电源线,然后移除驱动器并进行复制。
4.) 通过您通常使用的任何流程从域内进行备份。
我是否遗漏了或者误解了什么?
答案1
不,这些基本上都是你的选择。但我认为你夸大了选项 (3) 的问题,因为总的来说这就是备份——你不能保证你制作的副本任何文件系统中的文件对于使用它的任何进程来说都是可以理解的(例如,如果在 MySQL 运行时复制 MySQL 数据目录,MySQL 可能无法在恢复时再次读取这些文件)。
与域内备份相比,选项 (3) 的唯一额外担忧是文件系统不一定处于适合读取的状态;根据我的经验,这种情况并不常见(尤其是当您在凌晨备份时),并且可以在备份前通过 fsck 检查来缓解。在我看来,域内备份仍然是最好的方法。
答案2
我非常同意 womble 的观点。我想补充一点,选项 1 不一定会导致停机。如果您有某种冗余,那么此选项将是最好的。没有这样的冗余意味着任何软件问题都会导致服务中断,并意味着正常运行时间不佳。
我认为你应该考虑选项 1,但要稍微冗余一点 =)