我正在尝试替换 TrueNAS ZFS 池中的磁盘,但收到错误cannot replace 5885333735856859460 with ada6: already in replacing/spare config; wait for completion or use 'zpool detach'
zpool status
节目
NAME STATE READ WRITE CKSUM
Data DEGRADED 0 0 0
raidz1-0 ONLINE 0 0 0
gptid/d135c3aa-526b-11e5-9e77-fcaa14286713 ONLINE 0 0 0 block size: 512B configured, 4096B native
gptid/03f4d51c-3c63-11e5-8cea-fcaa14286713 ONLINE 0 0 0 block size: 512B configured, 4096B native
gptid/085d91b7-9521-11e5-b5cf-fcaa14286713 ONLINE 0 0 0 block size: 512B configured, 4096B native
raidz1-1 DEGRADED 0 0 0
gptid/c6e9543f-f78d-11e2-abaa-003048d79b60 ONLINE 0 0 0
5885333735856859460 FAULTED 0 0 0 was /dev/gptid/c77a9a39-f78d-11e2-abaa-003048d79b60
gptid/da5ff311-eef1-11ea-a29e-fcaa14286713 ONLINE 0 0 0 block size: 512B configured, 4096B native
errors: No known data errors
我之前曾尝试通过 Web 界面进行替换,但在机器锁定一天左右后,通过关闭机器电源中止了替换,物理上移除了新磁盘并将其替换为原始磁盘,然后将其重新同步到无错误状态。现在我再次用新磁盘物理替换了旧磁盘,无论我尝试通过 Web 界面还是使用命令行替换磁盘,都会出现上述错误。我该如何解决?
答案1
我设法使用命令解决了这个问题
zpool replace -f -o ashift=9 Data 5885333735856859460 gptid/65a0a675-c080-11eb-b350-fcaa14286713
而不是
zpool replace Data 5885333735856859460 gptid/65a0a675-c080-11eb-b350-fcaa14286713
(其中65a0a675-c080-11eb-b350-fcaa14286713
是驱动器上数据分区的原始 ID)。
最重要的线索是输出中的消息,zpool status
表明设备配置了非本机块大小(我不记得在任何地方配置了块大小)。该ashift
参数在将设备添加到池中时会更改设备的块大小。池现在正在愉快地重新同步。