zpool中具有相同名称的两个设备无法replace

今天我在服务器上发现了这个(FreeBSD 8.2 STABLE):

NAME STATE READ WRITE CKSUM data DEGRADED 1.38K 0 0 raidz1-0 DEGRADED 1.38K 0 0 ad10 ONLINE 1.38K 0 0 ad12 ONLINE 0 0 0 ad14 ONLINE 0 0 0 ad16 REMOVED 0 0 0 

我迅速把错误的硬盘驱动器拔下来,换上新的。 之后,我input了这个不吉利的命令:

 zpool add data ad16 

结果是在游泳池里出现了一个新的ad16设备:

 NAME STATE READ WRITE CKSUM data DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 ad10 ONLINE 0 0 0 ad12 ONLINE 0 0 0 ad14 ONLINE 0 0 0 ad16 FAULTED 0 0 0 corrupted data ad16 ONLINE 0 0 0 

第一个ad16设备是FAULTED,是data / raidz1-0卷的一部分。 第二个ad16设备是在线的,而不是任何卷的一部分。 问题是他们有相同的名称,所以replace命令不起作用:

 gw# zpool replace -f data ad16 ad16 invalid vdev specification the following errors must be manually repaired: /dev/ad16 is part of active pool 'data' 

我认为我应该删除ONLINE ad16磁盘,然后才能更换FAULTED ad16磁盘。 但是这不起作用,因为我无法将其脱机,也无法删除它:

 gw# zpool offline data ad16 gw# zpool status pool: data state: DEGRADED status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using 'zpool online' or replace the device with 'zpool replace'. scan: scrub in progress since Thu Apr 18 03:23:06 2013 26.1G scanned out of 3.13T at 50.7M/s, 17h52m to go 0 repaired, 0.81% done config: NAME STATE READ WRITE CKSUM data DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 ad10 ONLINE 0 0 0 ad12 ONLINE 0 0 0 ad14 ONLINE 0 0 0 ad16 OFFLINE 0 0 0 ad16 ONLINE 0 0 0 errors: No known data errors gw# zpool remove data ad16 cannot remove ad16: only inactive hot spares, cache, top-level, or log devices can be removed 

我想“离线ad16”命令是针对FAULTED设备。 但是我想离线另一个。 我也尝试将系统引导到单用户模式,删除这个新的磁盘,但它导致ad16设备是UNAVAIL,并且整个池不可用(这很奇怪,因为有足够的磁盘使其工作.. 。)

“zpool add”命令用于将新设备(vdevs)添加到池中。 当您最初运行该命令时,您将新的vdev(仅包含ad16)添加到池中。 你从4磁盘raidz开始,有一个失败的磁盘,但现在你有一个数据在raidz和ad16之间的条纹池。 失去在线AD16磁盘将FAULT整个池。

由于现在无法删除ad16(不能从池中删除vdev),我怀疑你希望你的数据在4盘raidz和单个磁盘之间分布,我认为这不值得你花时间去sorting出了故障的磁盘。 你最好把你的数据closures到一个单独的池/磁盘/服务器上,并销毁/重新创build这个池。

build议:通过UUID与逻辑名称引用底层设备。

请参阅: http : //forums.freebsd.org/showthread.php?t=37394