ZFS Zpool导入更改了磁盘标识符

时间:2014-01-01 17:42:31

标签: filesystems zfs

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

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

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

该池位于/dev/sdb,现在此磁盘已本地化为/dev/sdc

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

通过搜索网络,我发现可以导入未安装的zpool: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

所以它确实尝试挂载/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-command,池“dte”位于/ dev / sdc而不是/ dev / sdb?

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

Google Groups

whirlpool.net

3 个答案:

答案 0 :(得分:2)

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

在此之后,您应该能够zpool clear

答案 1 :(得分:0)

为什么不进行符号化? ln -s / dev / sdb / dev / sdc

答案 2 :(得分:0)

符号链接对我有用,它至少可以“清除”池,但是他不知道如何重新分配设备路径实在令人沮丧!到目前为止,我发现所有要使用ZFS进行起诉的驱动器都从未使用/dev/*标识符,而是使用可以在/fstab中轻松编辑的标识符。