1

我使用该zpool create命令在磁盘上创建了一个新的 ZPool。

不久之后,我读到您应该通过/dev/disk/by-id/而不是通过标识符/dev/sda来指定池磁盘。我没有在我的游泳池上这样做,现在我遇到了一个问题:

由于是新磁盘,现有磁盘的所有标识符都已更改。

池已打开/dev/sdb,现在此磁盘已本地化/dev/sdc

Zfs 没有意识到这一点,它尝试访问位于 的现有池/dev/sdb,但它不存在。

通过网络搜索,我发现可以导入 unmounted zpools: zpool import

但是,如果我想导入现有的、不可用的池zpool import dte(“dte”是池的名称),我会收到以下错误:

ms@linuxServer:/# sudo zpool import dte
cannot import 'dte': pool may be in use from other system
use '-f' to import anyway

如果我尝试使用该-f选项,我会收到以下错误:

ms@linuxServer:/# sudo zpool import dte -f
cannot import 'dte': one or more devices is currently unavailable

所以它真的试图 mount /dev/sdb,但这是使用的。

如果我只是使用zpool import它会显示以下内容:

ms@linuxServer:/# sudo zpool import
   pool: dte
     id: 12561099924127384920
  state: FAULTED
 status: One or more devices contains corrupted data.
 action: The pool cannot be imported due to damaged devices or data.
        The pool may be active on another system, but can be imported using
        the '-f' flag.
   see: http://zfsonlinux.org/msg/ZFS-8000-5E
 config:

        dte                     FAULTED  corrupted data
          ata-TOSHIBA_DT01ACA300_X3N87RPGS  UNAVAIL  corrupted data

有谁知道,我如何告诉 zpool 命令,池“dte”位于 /dev/sdc 而不是 /dev/sdb?

我还没有找到任何可能的、可用的解决方案。只是这个,并没有真正帮助:

谷歌网上论坛

漩涡.net

4

3 回答 3

2

您的 zpool 导入命令字符串应该是:sudo zpool import -f dte

之后,您应该能够zpool clear.

于 2014-01-05T21:39:35.280 回答
0

为什么不符号链接?ln -s /dev/sdb /dev/sdc

于 2014-04-25T07:47:12.077 回答
0

符号链接对我有用,它至少可以“清除”池,但不知道如何重新分配设备路径让他非常沮丧!到目前为止,我发现的只是/dev/*在打算使用 ZFS 起诉时永远不要使用驱动器的标识符,使用您可以轻松编辑的内容/fstab

于 2019-04-30T05:03:34.500 回答