我使用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?
我还没有找到任何可能的,可用的解决方案。 就是这一个,它没有真正的帮助:
答案 0 :(得分:2)
您的zpool导入命令字符串应为:sudo zpool import -f dte
在此之后,您应该能够zpool clear
。
答案 1 :(得分:0)
为什么不进行符号化? ln -s / dev / sdb / dev / sdc
答案 2 :(得分:0)
符号链接对我有用,它至少可以“清除”池,但是他不知道如何重新分配设备路径实在令人沮丧!到目前为止,我发现所有要使用ZFS进行起诉的驱动器都从未使用/dev/*
标识符,而是使用可以在/fstab
中轻松编辑的标识符。