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

zpool забыл все информационные устройства пула: как снова вывести их в сеть?

На моем сервере Debian работает ZFS в Linux. Сегодня пришлось два раза его перезагружать из-за обновлений программного обеспечения. Первая перезагрузка из-за обновления ZFS с некоторого 0.6.4-1.2-1-wheezy до 0.6.5.2-2-wheezy, которое прошло нормально, поскольку впоследствии я получил доступ к своему домашнему каталогу в пуле. После последней перезагрузки zpool не может импортировать пул:

# zpool import
   pool: storage
     id: 4490463110120864267
  state: FAULTED
 status: The pool metadata is corrupted.
 action: The pool cannot be imported due to damaged devices or data.
   see: http://zfsonlinux.org/msg/ZFS-8000-72
 config:

        storage      FAULTED  corrupted data
        logs
          sda3       ONLINE
# zpool import storage
cannot import 'storage': I/O error
        Destroy and re-create the pool from
        a backup source.
# zpool import -F storage
cannot import 'storage': one or more devices is currently unavailable

Мне не хватает моего полного пула, который должен выглядеть так:

    storage
      mirror
        scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2132687-part1
        scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2194187-part1

Как я могу указать zpool использовать разделы данных? Я боюсь подключать диски к этому пулу или новому пулу, потому что я боюсь дисков соотв. их метаданные будут удалены.

Изменить / обновить:

Учитывая тот факт, что потеря zpool произошла во время обычной перезагрузки, я надеялся, что хотя бы экспорт zpool имел место. И даже если он был закрыт нечистым, я предпочитаю проводить спасательные работы на копиях. Поэтому я добавил в свою систему большой жесткий диск (который был добавлен как устройство sdb - спасибо udev) и отформатировал его с двумя разделами того же размера, что и разделы zfs на неисправных дисках. Поскольку это был зеркальный пул, я скопировал оба старых раздела в новые:

dd if=/dev/disk/by-id/scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2132687-part1 /dev/sdb1 bs=104800
dd if=/dev/disk/by-id/scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2194187-part1 /dev/sdb2 bs=104800

Теперь у меня была система с двумя одинаковыми зеркалами.

# zpool import 
   pool: storage
     id: 4490463110120864267
  state: ONLINE
 status: Some supported features are not enabled on the pool.
 action: The pool can be imported using its name or numeric identifier, though
       some features will not be available without an explicit zpool upgrade'.
 config:

        storage                                             ONLINE
          mirror-0                                          ONLINE
            sdb1                                            ONLINE
            ata-WDC_WD30EFRX-68AX9N0_WD-WMC1T2194187-part1  ONLINE
        logs
          sda3                                              ONLINE
# zpool import storage
#

Ура!

Тем временем я сделал резервную копию данных дважды, и сейчас выполняется восстановление в полностью новый zpool.

Возможно, пул не сможет найти ваши диски, так как вы указали / dev / disk / by-id при создании исходного пула. Обратите внимание, как ваше тяжелое устройство является узнал ...

Есть флаг импорта пула, -d, который позволяет указать процессу импорта в конкретный каталог для запроса устройства. Хороший совет Вот.

Пытаться:

zpool import -F -d /dev/disk/by-id storage