Как импортировать пул ZFS из отключенного и повторно подключенного массива дисков?

Как импортировать пул ZFS из отключенного и повторно подключенного массива дисков?

Это не то же самое, что импорт пула из рухнувшей системы, поскольку система не рухнула. ОС в порядке (на другом пуле/наборе дисков/шине sata).

Я хотел бы скопировать некоторые ключевые файлы перед перезагрузкой (и не убедиться, что она не будет чистой, поскольку поблизости нет умных рук в недостаточно обслуживаемом удаленном центре обработки данных клиента).

В этом случае USB-накопитель отключился, а затем снова подключился (сбой питания/сбой), но zfs считает, что пул остается смонтированным, но все операции ввода-вывода к нему блокируются — sdd и sde теперь стали sdf и sdg.

Пул был смонтирован с помощью /dev/disk/by-id, но, конечно, эти идентификаторы те же самые (и в /dev теперь указывают на sd[fg]), а старый пул не был экспортирован.

Каждая команда zpool застревает, поскольку, как я предполагаю, она затрагивает /dev/sdd и sde, что затем подвешивает всю оболочку (сейчас это моя 10-я оболочка bash в окнах Screen...).

Однако массив работает -- dd if=/dev/sdf1 of=/dev/nullработает отлично, и iostat показывает мне IO на этом диске (то же самое для sdg). Так что диск читается без заклинивания.

Но любая команда zpool, даже если она zpool import -Nd /dev/sdf1 poolname newpoolnameзатрагивает что-то где-то в мире sd[de], вклинивается.

Какую команду импорта zpool мне запустить, чтобы она абсолютно не пыталась затрагивать какой-либо другой диск? zpool import -d /dev/sdf1 -N newname(или «oldname newname») просто заклинивает.

Последним средством может стать копирование всего диска на другую систему в виде необработанного образа, а затем работа с zpool там (через циклические устройства), но отправка 4 ТБ займет целую вечность.

Связанный контент