重新安装 zfs 池后如何销毁 ZFS "phantom" 池
How to destory ZFS "phantom" pool after re-installing zfs pool
有几个新磁盘我在 ZFS 镜像模式下设置(使用 Ubuntu-16.04-Root-on-ZFS。遗憾的是我搞砸了一些东西(在 grub 安装期间)并且不得不重新开始。当我重新启动时(步骤 6.5 in那个文档)我得到一个错误:
cannot import 'rpool': more than one matching pool
import by numeric ID instead
它把我踢进了 initramfs shell。确实有两个 rpool,但其中一个坏了……大概是原始安装的那个。我能够使用它的 ID 作为 rpoolgood 导入 "good" rpool 并重新导出它。
但是我无法导入 "broken" rpool(通过名称或 ID)。我只想摧毁它。我的猜测是我应该在创建新分区之前将非数据分区清零(步骤 2.2)。我还没有真正的数据,所以我可以(而且可能应该)再次完成安装(并首先将分区清零)。
在重新安装之前,我很好奇是否有办法炸毁 bad/bogus rpool。
根据要求,我附上重新导出 rpoolgood 后 "zfs import" 的屏幕截图。 IIRC,我在安装 grub 时不小心指定了一个分区而不是磁盘。当我意识到我的错误时,我只在其中一个磁盘上完成了它。
排序已解决:
TL/DR:我删除了所有分区,然后使用 dd 清理了每个磁盘的第一个和最后一个 10MB(要以一种优雅的方式清理磁盘的最后一部分,请使用 [this exchange article][1]) .这并没有恢复 'good' 池,但这对我来说不是必须的...获得全新安装是主要目标(这给了我)
稍微长一点:
我做了一些探索,我的结论是,如果你想 re-purpose 一个磁盘从一个 zpool 到另一个,你最好擦除(至少部分)磁盘。销毁以前的池可能会奏效,但我没有这样做(并且不清楚我是否可以这样做,因为我搞砸了 grub 安装,所以我的分区可能已经被破坏了)
ubuntu 说明确实谈到了擦除 super-block 如果您在 mdadm raid 阵列中使用了磁盘...我应该概括一下评论。无论如何,这是一个薄弱的答案,因为我没有找到一种干净地编辑元数据的方法。
有几个新磁盘我在 ZFS 镜像模式下设置(使用 Ubuntu-16.04-Root-on-ZFS。遗憾的是我搞砸了一些东西(在 grub 安装期间)并且不得不重新开始。当我重新启动时(步骤 6.5 in那个文档)我得到一个错误:
cannot import 'rpool': more than one matching pool
import by numeric ID instead
它把我踢进了 initramfs shell。确实有两个 rpool,但其中一个坏了……大概是原始安装的那个。我能够使用它的 ID 作为 rpoolgood 导入 "good" rpool 并重新导出它。
但是我无法导入 "broken" rpool(通过名称或 ID)。我只想摧毁它。我的猜测是我应该在创建新分区之前将非数据分区清零(步骤 2.2)。我还没有真正的数据,所以我可以(而且可能应该)再次完成安装(并首先将分区清零)。
在重新安装之前,我很好奇是否有办法炸毁 bad/bogus rpool。
根据要求,我附上重新导出 rpoolgood 后 "zfs import" 的屏幕截图。 IIRC,我在安装 grub 时不小心指定了一个分区而不是磁盘。当我意识到我的错误时,我只在其中一个磁盘上完成了它。
排序已解决:
TL/DR:我删除了所有分区,然后使用 dd 清理了每个磁盘的第一个和最后一个 10MB(要以一种优雅的方式清理磁盘的最后一部分,请使用 [this exchange article][1]) .这并没有恢复 'good' 池,但这对我来说不是必须的...获得全新安装是主要目标(这给了我)
稍微长一点:
我做了一些探索,我的结论是,如果你想 re-purpose 一个磁盘从一个 zpool 到另一个,你最好擦除(至少部分)磁盘。销毁以前的池可能会奏效,但我没有这样做(并且不清楚我是否可以这样做,因为我搞砸了 grub 安装,所以我的分区可能已经被破坏了)
ubuntu 说明确实谈到了擦除 super-block 如果您在 mdadm raid 阵列中使用了磁盘...我应该概括一下评论。无论如何,这是一个薄弱的答案,因为我没有找到一种干净地编辑元数据的方法。