在FreeBSD 10.2发行版上,直到昨天,我还在开发(幸运)环境中进行了以下设置:
NAME STATE READ WRITE CKSUM
bigpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
multipath/faba_lun0 ONLINE 0 0 0
multipath/fabb_lun0 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
multipath/faba_lun1 ONLINE 0 0 0
multipath/fabb_lun1 ONLINE 0 0 0
mirror-2 ONLINE 0 0 0
multipath/faba_lun2 ONLINE 0 0 0
multipath/fabb_lun2 ONLINE 0 0 0
mirror-3 ONLINE 0 0 0
multipath/faba_lun3 ONLINE 0 0 0
multipath/fabb_lun3 ONLINE 0 0 0然后,我认为这将是一个好主意,尝试“禁用”第四镜(镜像-3)作为某种基本的HA测试。
zpool detach bigpool multipath/faba_lun3然后想到这是个坏主意,我重新添加了磁盘:
zpool add bigpool multipath/faba_lun3我现在有了这个设置:
NAME STATE READ WRITE CKSUM
bigpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
multipath/faba_lun0 ONLINE 0 0 0
multipath/fabb_lun0 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
multipath/faba_lun1 ONLINE 0 0 0
multipath/fabb_lun1 ONLINE 0 0 0
mirror-2 ONLINE 0 0 0
multipath/faba_lun2 ONLINE 0 0 0
multipath/fabb_lun2 ONLINE 0 0 0
multipath/faba_lun3 ONLINE 0 0 0
multipath/fabb_lun3 ONLINE 0 0 0我无法将这两次午餐会重新贴上镜子-3:
root# zpool attach bigpool multipath/faba_lun3 multipath/fabb_lun3
invalid vdev specification
use '-f' to override the following errors:
/dev/multipath/fabb_lun3 is part of active pool 'bigpool'似乎陷入了困境-22-无法镜像,因为这两个歌唱家已经是池的一部分(因此附加没有意义),并无法删除的vdevs,因为他们不是日志,备用,等等.
有没有人知道用现有的池vdevs“重新启用”这个镜像的方法?我想这类似于在线转播。
谢谢
sc。
发布于 2016-02-17 06:49:38
它看起来你有4个镜子的跨度,现在经过一些操作,你有3个镜子和两个单一驱动器的跨度。目前还不清楚到底是哪些操作导致了这种情况,但我怀疑这些操作是否是detaches,因为detach通常会为您提供一个没有标记为任何池一部分的分离驱动器。
同时,您不能对彼此进行attach,这是正常的,因为两个vdevs已经是活动池的一部分。因为它们是跨的,所以不可能提取一个,这是众所周知的zfs的缺点。
我只能假设可以添加两个空白驱动器来镜像每个单块驱动器,但我不确定它是否可行,但您可以在一个条件下尝试它:在执行时避免使用-f标志。
https://serverfault.com/questions/757733
复制相似问题