У меня был 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
. После импорта пула вы можете изменить точки монтирования, чтобы они не перекрывались с точками монтирования нового пула тестов.