我有一个称为存储的zpool,其中包含五个设备的raidz1阵列。
今天,我去买了另一台3TB设备,并将其放入机箱中。但是,我没有创建一个新池并将该设备添加到其中,而是犯了一个错误,并将其添加到我现有的存储池中。
现在,我有一个要删除的顶级设备称为sdg
(这是新驱动器)。每次尝试删除它时,我都会得到:
cannot remove sdg: only inactive hot spares, cache, top-level, or log devices can be removed.
那么如何立即删除该设备?如果此设备出现故障,则整个池将不可用。我以为我应该去买另一个驱动器,至少它会被镜像,但是我简直不敢相信没有正确的方法可以做到这一点。
这是我的状态转储:
pool: storage
state: ONLINE
scan: scrub canceled on Wed Jul 23 17:26:08 2014
config:
NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-ST3000DM001-1CH166_Z1F1PYM6 ONLINE 0 0 0
ata-ST3000DM001-1CH166_W1F24CSC ONLINE 0 0 0
ata-ST3000DM001-1CH166_W1F2372R ONLINE 0 0 0
ata-ST3000DM001-1CH166_W1F24BTK ONLINE 0 0 0
ata-ST3000DM001-1CH166_Z1F2KKLW ONLINE 0 0 0
sdg ONLINE 0 0 0
errors: No known data errors
我在zfs文档中阅读的所有内容都表明,条带无法像这样增长。实际上,人们想出了一些相当有趣的事情,以便您可以增加相同的数组。
—
慢性的
如果无法删除它,是否可以再添加几个驱动器,并从sdg和两个新驱动器中划出另一个条带?
—
慢性的
将驱动器添加到池后,就无法将其删除。
—
提问和学习
我不确定,但是我认为您不能再添加几个驱动器,并且可以从sdg和两个新驱动器中创建另一个条带。我认为,将SDG添加到池中时,必须将其指定为带有两个额外磁盘的带区卷。没有
—
沃里克
zfs convert
功能。
sdg
现在已成为条带化存储池的一部分。由于池是条带化的而不是镜像的,因此无法sdg
从池中删除。取回它的唯一方法是将数据从storage
池中复制到另一台设备,销毁该池,然后在不使用sdg的情况下重新创建它。然后为sdg创建一个新池,以执行您想使用它的任何操作。