在 VirtualBox 中使用实时快照的直写磁盘中损坏的数据

在 VirtualBox 中使用实时快照的直写磁盘中损坏的数据

我有一个 Linux 客户机,它有两个磁盘,分别用于 / 和 /home。/home 是一个直写磁盘,用于保证快照恢复的数据安全。

问题是实况快照恢复时损坏了 /home 数据。这可能是由 Linux 缓存引起的,因为如果我对 /home 添加一些更改,然后重新启动计算机,更改仍然存在。我尝试使用选项挂载 /home同步,但这并没有解决问题。

这些是重现该问题的步骤:

  1. 启动一个客户 Linux,并将一个直写磁盘挂载为 /home
  2. 登录帐户后,实况快照
  3. 在 /home 中创建一个文件,例如$ echo 1 > ~/test.txt
  4. 关闭机器并恢复新创建的快照。
  5. 重新启动机器。
  6. $ ls -l ~/
  7. 文件 test.txt 消失了...
  8. 如果你重新挂载 /home,你会发现它已经损坏。A$ ls -l ~/会向你显示类似以下内容的内容
    -????????? ? ? ? ? ? test.txt

有什么办法可以解决这个问题吗?

谢谢。

答案1

您需要为 /home 使用可冻结且因此支持快照的文件系统。XFS 具有非常可靠的冻结/解冻机制。因此,如果您使用 xfs 格式化 /home 分区,则可以使用以下步骤。

$ xfs-freeze -f /home
<do the snapshotting>
$ xfs-freeze -u /home

我还没有在 virtualbox 上尝试过这个,但是我们在生产数据库实例上做了一些非常类似的操作,为我们的 mysql db 拍摄快照。

相关内容