更换 zpool 中的磁盘

更换 zpool 中的磁盘

我正在使用 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

据我所知,更换损坏驱动器的流程如下:

  1. zpool offline pool_name device_name
  2. 关闭并更换驱动器
  3. zpool replace pool_name device_name

第一个需要设备名称离线驾驶池名称池,然后用新的驱动器替换该驱动器,并告诉 Zfs 替换驱动器设备名称在游泳池里池名称

设备名称池名称中显示的驱动器和池的名称是什么zpool status

答案2

您的问题可能与我的相同,因为我收到了相同的消息“没有这样的池”。

对我来说,问题是我无法导入池(与您一样),因为一个驱动器已更改其设备名称。 不是将 zpool import 作为通用的“导入所有池”执行,而是在导入命令后指定池名称,这样就可以导入一个发生故障/丢失驱动器的池。

因此,不要只输入“zpool import”,而是输入“zpool import your pool”,它就会导入。

这对我有用,然后我就能够开始使用驱动器替换命令了。

相关内容