Назад | Перейти на главную страницу

zpool не может импортировать пул raidz3, несмотря на наличие достаточного количества реплик

У некоторых пользователей возникли проблемы с подключением к общему ресурсу этого сервера в пуле, в то время как у других, которые уже были включены, все в порядке. После организации перезагрузки пул не удалось импортировать после загрузки системы.

Во время перезагрузки я заметил, что во время POST произошел сбой диска, на что указывает оранжевый индикатор на лицевой панели, а ниже - в zpool import.

В пуле достаточно устройств для подключения к сети, но он не может быть успешно импортирован.

$ zpool import
   pool: darkpool
     id: 5743344949875332602
  state: DEGRADED
 status: One or more devices contains corrupted data.
 action: The pool can be imported despite missing or damaged devices.  The
    fault tolerance of the pool may be compromised if imported.
   see: http://zfsonlinux.org/msg/ZFS-8000-4J
 config:

    darkpool                      DEGRADED
      raidz3-0                    DEGRADED
        wwn-0x5000c5008581aafb    ONLINE
        wwn-0x5000c5008581b61b    ONLINE
        wwn-0x5000c5008581b79f    ONLINE
        wwn-0x5000c5008581b933    ONLINE
        wwn-0x5000c5008581b953    ONLINE
        wwn-0x5000c5008581bdf7    ONLINE
        wwn-0x5000c50085825ec7    ONLINE
        wwn-0x5000c5008581cc03    ONLINE
        wwn-0x5000c5008581e423    UNAVAIL
        wwn-0x5000c5008581fd3f    ONLINE
        wwn-0x5000c50085820b93    ONLINE
        wwn-0x5000c500858211b3    ONLINE
        wwn-0x5000cca267ab0de4    ONLINE
        spare-13                  DEGRADED
          11992420879588183985    FAULTED  corrupted data
          wwn-0x5000c500858252ef  ONLINE
    spares
      wwn-0x5000c500858252ef

$ zpool status
no pools available

$ zpool import darkpool
cannot import 'darkpool': I/O error
    Destroy and re-create the pool from
    a backup source.

$ zpool import -f darkpool
cannot import 'darkpool': I/O error
    Destroy and re-create the pool from
    a backup source.

$ zpool import -fFn darkpool

$ zpool import -F darkpool
cannot import 'darkpool': I/O error
    Destroy and re-create the pool from
    a backup source.

$ zpool import -fFX darkpool
cannot import 'darkpool': I/O error
    Destroy and re-create the pool from
    a backup source.

Кто-нибудь видел что-то подобное раньше? Я не уверен, что попробовать, прежде чем уничтожать пул и восстанавливать из резервной копии (я бы хотел избежать этого, поскольку это займет так много времени).

Похоже, пару недель назад резервное копирование начало сбоить. Есть ли способ узнать, сделает ли бассейн счастливым обслуживание неисправного диска?

Система - Ubuntu 18.04.2 LTS с zfsutils-linux_0.7.5-1ubuntu16.7_amd64.

Я подписался на LinkedIn Premium, чтобы написать сообщение разработчику ZFS (который на самом деле был достаточно любезен, чтобы ответить!). Он предложил мне перенести пул в систему с ZFS 0.8, версия, которую его соответствующие коммиты на Github были включены в Ububtu 19.10, среди других дистрибутивов.

В режиме только для чтения, мы смогли загрузить пул, отключив опцию spa_load_verify_metadata. Это также пропускает сканирование пула, поэтому вам не нужно ждать минуты или часы в зависимости от размера вашего пула.

Как только пул был загружен, я начал резервное копирование всего на другой сервер с планами уничтожить пул и сервер (слишком много поездок на место из Dell, замена ЦП, памяти, мобильного устройства и т. Д.) И начал свежий с новой системой.


Переключение параметра (Ubuntu 19.10):

$ cat /sys/module/zfs/parameters/spa_load_verify_metadata
1
$ echo 0 >/sys/module/zfs/parameters/spa_load_verify_metadata
$ cat /sys/module/zfs/parameters/spa_load_verify_metadata
0

Загрузка бассейна

zpool import -o readonly=on darkpool -f

Флаг будет сброшен после перезагрузки, поэтому пул не будет загружаться во время процесса загрузки. Но на самом деле вы хотите скопировать данные и все равно прекратить использование пула.