ZPOOLreplace导出池中的有缺陷的磁盘

昨天,我把一个新的磁盘放到我的服务器上。 可悲的是,我没有在失败之前检查磁盘。

我使用命令zpool add nas /dev/disk/by-id/scsi-SATA_ST31500341AS_9VS27Z4M-part1将其添加到池中

之后不久,服务器的CPU负载几乎变成了无穷大,我甚至无法login。

所以我执行了硬重启(Alt + SysRq + b),但服务器无法启动。 (在GRUB出现后,大约5分钟没有发生什么事,然后关掉它,拿出新的磁盘,我启动并运行。

但现在,我遇到了问题,因为最后一个(新的)磁盘显示状态为“UNAVAIL”,因此无法访问所谓的“nas”池,并且由于没有镜像池,因此整个池都处于州UNAVAIL。

如果我再次放入磁盘并执行zpool online nas /dev/disk/by-id/scsi-SATA_ST31500341AS_9VS27Z4M-part1它不起作用,并告诉我“磁盘找不到”。

所以我尝试了一些从oracle-docs读取的可能性,并使用zpool export nas将其zpool export nas 。 现在,我甚至无法导入池。

 zpool import nas -f cannot import 'nas': one or more devices is currently unavailable 

如果我看zpool import ,它告诉我:

 pool: nas id: 3366469163144781663 state: UNAVAIL status: One or more devices are missing from the system. action: The pool cannot be imported. Attach the missing devices and try again. see: http://zfsonlinux.org/msg/ZFS-8000-6X config: nas UNAVAIL missing device dm-name-linuxServer-nas ONLINE ata-WDC_WD20EARX-00PASB0_WD-WCAZAC521840-part1 ONLINE ata-WDC_WD20EFRX-68AX9N0_WD-WMC300228535-part1 ONLINE Additional devices are known to be part of this pool, though their exact configuration cannot be determined. 

要清楚:池是完全不相关的,数据不是。 如果我能够以某种方式访问​​数据,我可以将其导出到外部硬盘。

是的,我没有备份(耻辱!),但我通常没有其他6TB备份的地方。

有没有可能访问这些数据? 也许伪造磁盘,以便zpool认为,它是可用或类似的东西?

任何帮助将不胜感激。

我讨厌这样说,但是你知道你基本上是把未经考虑的磁盘添加到你的池中吗?
您提供的命令基本上说: “添加另一个磁盘到池nas ,并用现有的磁盘条带化。

那是你的意思吗?

这个池已经完成了,特别是如果有什么被写入坏盘的话。 如果这是一对镜子,泳池将处于状态: 故障 ,您将能够恢复。 原来,你可能已经丢失了你的数据。

我对你的build议是获得一组重复的磁盘,并将原始内容鬼影给另一组用于初学者的磁盘。 一旦你得到了恢复的数据,如果可能的话,然后让磁盘进行镜像或其他备份。 它会让你有更多的余地尝试恢复你的游泳池。 你也会留下一些重要的信息,比如你创build池的模式。z-1 z-2

http://www.joyent.com/blog/zfs-forensics-recovering-files-from-a-destroyed-zpool你可能有一些运气。 我也会validation磁盘真的不好。 如果不是那么你可能会有另一个问题像一个片状控制器。 如果磁盘坏了,你可能可以通过重影内容来处理它。 我没有搞砸zfs导入磁盘足够知道是否有可能告诉zfsreplace磁盘是失败的,特别是因为它是由id和不是槽。 可能无法诱骗zfs使用replace驱动器上的幻影数据来恢复故障。 这个想法虽然是从我的其他电脑的实验中想到的。