我有一个 Linux 客户机,它有两个磁盘,分别用于 / 和 /home。/home 是一个直写磁盘,用于保证快照恢复的数据安全。
问题是实况快照恢复时损坏了 /home 数据。这可能是由 Linux 缓存引起的,因为如果我对 /home 添加一些更改,然后重新启动计算机,更改仍然存在。我尝试使用选项挂载 /home同步,但这并没有解决问题。
这些是重现该问题的步骤:
- 启动一个客户 Linux,并将一个直写磁盘挂载为 /home
- 登录帐户后,实况快照
- 在 /home 中创建一个文件,例如
$ echo 1 > ~/test.txt
- 关闭机器并恢复新创建的快照。
- 重新启动机器。
$ ls -l ~/
- 文件 test.txt 消失了...
- 如果你重新挂载 /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 拍摄快照。