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

Могу ли я восстановить zpool после его экспорта, если устройства не были перераспределены?

У меня был zpool, который мы назовем testpool.

В testpool были включены 3 устройства и одна zfs под названием «test».

Мне нужно было перенести «тест» в новый бассейн меньшего размера. Я хотел назвать новый пул с тем же именем «testpool».

В основном сделал следующее.

zfs send testpool@backup > /tmp/test-dump
zpool export -f testpool
zpool create -f testpool newdevice
zfs receive -F testpool < /tmp/test-dump

К сожалению, я обнаружил, что моментальный снимок testpool @ backup был неправильным. Слишком старый. Мне еще предстоит перераспределить три устройства, которые были в СТАРЫМ тестовом пуле. (Ни одно из этих 3 устройств не является «новым устройством», они являются отдельным 3.)

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

Изменить: Подробнее

Я сделал 'zpool import' и получил это.

bash-3.00# zpool import
  pool: testpool
    id: 14781458723915654709
 state: ONLINE 
action: The pool can be imported using its name or numeric identifier.
config:

    testpool    ONLINE
      c5t8d0    ONLINE
      c5t9d0    ONLINE
      c5t10d0   ONLINE

Итак, я предполагаю, что мне просто нужен синтаксис для импорта этого zpool с использованием его числового идентификатора, давая ему новое имя.

С.

Да. Вы можете запустить zpool import без аргументов, и он определит для вас доступные пулы.

Предполагая, что устройства из старого пула тестов все еще существуют, вы увидите «старый» пул тестов и рядом с ним GUID для пула.

Как только у вас будет GUID этого пула, вы можете сделать zpool import $id oldtestpool. После импорта пула вы можете изменить точки монтирования, чтобы они не перекрывались с точками монтирования нового пула тестов.