![在拍摄 LVM 快照以进行备份之前关闭虚拟机是否太过分了?](https://linux22.com/image/201020/%E5%9C%A8%E6%8B%8D%E6%91%84%20LVM%20%E5%BF%AB%E7%85%A7%E4%BB%A5%E8%BF%9B%E8%A1%8C%E5%A4%87%E4%BB%BD%E4%B9%8B%E5%89%8D%E5%85%B3%E9%97%AD%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%98%AF%E5%90%A6%E5%A4%AA%E8%BF%87%E5%88%86%E4%BA%86%EF%BC%9F.png)
作为在 LVM 卷上构建的数百个虚拟机的备份策略的一部分,我正在考虑:
- 关闭虚拟机。
- 拍摄包含用户和应用程序数据(包括 MySQL 和 LDAP 数据库)的 LVM 卷的快照。
- 启动虚拟机。
- 备份 LVM 卷。
- 删除快照。
我的目的是确保数据一致性,尤其是数据库。假设我在使用率低的时候这样做,这是合理的还是过度的?我必须考虑到用户可能会在服务器关闭时访问服务器,但为了完美的数据一致性,这是我可能愿意承担的成本。
LVM 快照一般不能保证数据一致性,对吧?例如,即使 LVM 快照在特定时间点冻结文件系统,也无法知道 MySQL 数据库当时是否处于事务处理过程中。一些数据库(但并非全部)都提供备份工具来确保数据一致性,但这意味着我需要应用程序级别的备份策略,这听起来像是很多工作。
在上述包含夜间不使用的 Web 应用程序的虚拟机的用例中,我们可以承受几毫秒的停机时间,但理想情况下我希望避免这种情况。