服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

ZFS:使磁盘在不可用池中联机

我有一台使用FreeBSD和ZFS的家庭服务器,在过去的5年里运行良好,有几次我成功地更换了有故障的磁盘。 然而,今天发生了一场小小的灾难,我希望find一个解决办法。 我有一个由3个vdevs组成的顶级池,每个vdevs都是一个raidz1池,所以最多3个磁盘可能会失败 – 假设它们全部属于不同的vdevs – 并且数据完整性完好无损。 昨天,我注意到1个vdev中的1个磁盘报告了很多错误。 从以往的经验来看,这通常表示磁盘即将失败,所以我做我平时做的事情: 离线磁盘:zpool离线jargpt / ta4 物理replace磁盘 使用gpart设置新磁盘,然后使用zpoolreplacetank gpt / ta4 但是,这一次在步骤2和步骤3之间发生了灾难:当我在安装新驱动器后启动服务器时,我闻到了一些燃烧的东西,而我的HBA指出有4个驱动器不可用! 由于难以置信的运气不好,一定有一些电压浪涌,因为同一个vdev(gpt / ta2)中的另一个驱动器现在已经完全死亡,目视检查显示PCB上的一个MOSFET被烧断。 所以现在gpt / ta2是UNAVAIL,gpt / ta4是OFFLINE,显然vdev是raidz1,也是UNAVAIL。 我的问题是:1)有没有办法让gpt / ta4重新联机? 当我尝试发布“zpool online tank gpt / ta4”时,它告诉我游泳池不可用,所以我不能这样做。 我可以理解为什么会这样,但我认为gpt / ta4虽然遇到一些读取错误,但在离线之前基本上仍然是raidz1池的“好”成员(zpool状态报告没有已知数据错误)。 有没有办法做到这一点? 2)否则,有没有办法使我的顶级池(其中包含3个raidz1 vdevs)的剩余部分在线? 其他2个vdevs都很好。 请帮忙,我有很多宝贵的资料:-) 提前致谢。