我在ZFS镜像模式下设置了几个新磁盘(使用Ubuntu-16.04-Root-on-ZFS。可悲的是我弄乱了一些东西(在grub安装期间)并且不得不重新启动。当我重新启动时(该文档中的步骤6.5) )我收到了一个错误:
cannot import 'rpool': more than one matching pool
import by numeric ID instead
并且它让我陷入了initramfs shell。确实有两个rpool,但其中一个被打破了...大概就是最初安装的那个。我能够使用它的ID作为rpoolgood导入“好”的rpool并重新导出它。
但我无法导入“损坏的”rpool(通过名称或ID)。我想做的就是摧毁它。我的猜测是我应该在创建新分区之前将非数据分区清零(步骤2.2)。我还没有真正的数据,所以我可以(也可能应该)再次完成安装(首先是ZERO分区)。
在重新安装之前,我很好奇是否有办法爆破那个糟糕/虚假的rpool。
根据请求,我在重新导出rpoolgood后附加了“zfs import”的屏幕截图。 IIRC,我在进行grub安装时不小心指定了一个分区而不是磁盘。当我意识到我的错误时,我只在其中一个磁盘上完成了它。
答案 0 :(得分:1)
Sorta解决了:
TL / DR:我删除了所有分区,然后使用dd对每个磁盘的第一个和最后一个10MB进行了爆破(以优雅的方式爆炸磁盘使用的最后一部分[此交换文章] [1])。这并没有恢复“好”的好处。游泳池,但这对我来说并不是必须的...获得一个干净的安装是主要目标(这给了我)
稍长一点:
我做了相当多的探讨,我的意思是,如果你想将磁盘从一个zpool重新用于另一个zpool,你最好擦掉(至少部分)磁盘。对前一个池进行破坏可能有效但我没有这样做(并且不清楚我可以拥有,因为我搞砸了grub安装,所以我的分区可能已经被堵塞了)
如果您在mdadm raid数组中使用了磁盘,ubuntu指令确实讨论了擦除超级块...我应该推广注释。无论如何,这是一个微弱的答案,因为我没有找到一种干净地编辑元数据的方法。