从LVM快照进行备份时,是否有一种方法可以保证卷之间的一致性? 考虑这种情况:
/usr
卷,一旦完成,就会在/var
卷中logging成功。 /usr
和/var
卷的快照以及系统的其余卷,然后从这些快照创build备份 。 /usr
卷的写入/刷新完成之前,备份脚本将获取/usr
快照。 /var
的模糊深处。 /var
的快照。 所以这个tomfoolery的结果是,所得到的/usr
备份包含一个缺less几位的文件,而/var
备份包含指示该文件是完整的并被批准使用的元数据。
如果不深入研究这些操作系统的系统升级系统会被这些琐事所困扰的细节,有没有办法避免这样的问题呢? 至less这似乎可能会导致某些应用程序在恢复这种备份后意外失败。
这个问题比这个更一般。 即使有一卷获得快照,也无法保证该卷上的数据在文件级别上是有意义的。 LVM快照仅确保块级一致性。
确保文件处于一致状态的唯一方法是让您的应用程序将所有内容刷新到磁盘,并在创build快照时挂起写入。 如果您真的关心这一点,并且您的应用程序支持它,则应该将其脚本编写到您的备份过程中。
对于您的特定用例,为什么不确保在执行升级时备份不能运行? 在这段时间内禁用它,或者延迟它,直到升级完成。 至less要保持正在升级的文件的一致性。