我们最近运行了一个备份/克隆脚本。它通常仅克隆 rpool 并在 rpoolA 中重命名。肯定发生了一些变化,因为它发现了我们不应该有的另一个泳池。它在我们不知情的情况下导出了该池。后来,当一位同事意识到另一个池丢失时,他尝试恢复它,但通过创建一个具有相同名称并使用相同 lun 的新池,而不是先进行导入。
似乎由于新池是使用与导出池相同的名称和相同的 lun 创建的,因此我们无法恢复原始池。我们尝试销毁新创建的池并运行 zpool import -D 以查看可用的内容以及它只是新创建的池。
有谁知道还有什么进一步的恢复程序吗?这是一个新安装的系统,这是我们备份该系统的最初尝试,因此我们陷入了困境,没有任何数据恢复。
答案1
创建一个新池
此时,四个标签(两个在 LUN 的开头,两个在结尾)被 ZFS 覆盖。这很奇怪,因为通常zpool
会检测较旧的标签,并且只能通过使用-f
选项(强制)来覆盖它们。
有谁知道还有什么进一步的恢复程序吗?
不确定他们是否是。您将需要至少一个指向活动元对象集的活动超级块(它被重新定位在我之前告诉过的标签中)。在您创建新池后,它们很可能会被销毁。
您可以尝试手动重新创建它们,或者只是深入磁盘寻找实际数据集。 ZFS 有磁盘规格,它可能会帮助你(但这并不容易)。