我正在使用 Ubuntu 12.04 和 Zfs Native。我使用 /dev/disk/by-id 方法创建了一个 zpool,但我无法再导入 zpool。当我尝试 zpool status 命令时,我收到错误消息“没有这样的池”,当我尝试“zpool import”时,它会找到该池并显示一个磁盘丢失或不可用。
pool: tank
id: 14496103743076187609
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
配置:
aNas6TB UNAVAIL missing device
sdf ONLINE
sdh ONLINE
Additional devices are known to be part of this pool, though their
exact configuration cannot be determined.
我已经连接了另一个大小相同的驱动器(坏盘仍在原处),但在 zpool 中用新磁盘替换坏盘时遇到了困难。我尝试了以下操作:
sudo zpool replace tank /dev/sdg /dev/sde
sudo zpool replace tank scsi-SATA_ST32000542AS_9XW04YRP scsi-SATA_ST2000DM001-9YN_S240FE7C
sudo zpool replace tank dev/sdg dev/sde
我每次都会收到相同的错误消息“无法打开‘坦克’:没有这样的池”
我显然做错了什么,如果能得到任何帮助我都会很感激。
答案1
据我所知,更换损坏驱动器的流程如下:
zpool offline pool_name device_name
- 关闭并更换驱动器
zpool replace pool_name device_name
第一个需要设备名称离线驾驶池名称池,然后用新的驱动器替换该驱动器,并告诉 Zfs 替换驱动器设备名称在游泳池里池名称。
设备名称和池名称中显示的驱动器和池的名称是什么zpool status
?
答案2
您的问题可能与我的相同,因为我收到了相同的消息“没有这样的池”。
对我来说,问题是我无法导入池(与您一样),因为一个驱动器已更改其设备名称。 不是将 zpool import 作为通用的“导入所有池”执行,而是在导入命令后指定池名称,这样就可以导入一个发生故障/丢失驱动器的池。
因此,不要只输入“zpool import”,而是输入“zpool import your pool”,它就会导入。
这对我有用,然后我就能够开始使用驱动器替换命令了。