2017-01-13 11 views
2

У вас есть несколько новых дисков, которые я настраивал в зеркальном режиме ZFS (используя Ubuntu-16.04-Root-on-ZFS.К сожалению, я что-то испортил (во время установки grub) и должен был начать . Когда я перезагрузился (шаг 6.5 в этом доке) я получил сообщение об ошибке:Как уничтожить пул ZFS «phantom» после переустановки zfs pool

cannot import 'rpool': more than one matching pool 
import by numeric ID instead 

и спонтировал меня в оболочке в initramfs есть, на самом деле два rpools, но один из них сломан ... предположительно один. от первоначальной установки. Я смог импортировать «хороший» rpool, используя его ID как rpoolgood и реэкспортировал его.

Я, однако, не смог импортировать «сломанный» rpool (e ither по имени или идентификатору). Все, что я хочу сделать, это уничтожить его. Я предполагаю, что я должен был обнулить разделы без данных перед созданием новых разделов (шаг 2.2). У меня пока нет реальных данных, поэтому я могу (и, вероятно, должен) просто пройти через установку еще раз (и ZERO из первых разделов).

Перед тем, как переустановить, мне любопытно, есть ли способ взломать этот плохой/фиктивный rpool.

По запросу, я прилагаю скриншот «импорт zfs» после реэкспорта rpoolgood. IIRC, я случайно задал раздел, а не диск, когда делал мою установку grub. Я только сделал это на одном из дисков, когда понял свою ошибку.

enter image description here

+0

Я предполагаю, что «плохой» пул использовал одни и те же физические устройства? Выполняет ли команда: _zpool import -D_ список уничтоженных пулов? – airhuff

+0

Запуск zdb, чтобы узнать, не выглядит ли что-то странным с вашим файлом zpool.cache, может (или нет) дать некоторое представление о проблеме. Если что-то кажется совсем нецелесообразным, должно быть безопасно удалить /etc/zfs/zpool.cache, а затем запустить _zpool set cachefile =/etc/zfs/zpool.cache _ для создания нового. Хотя я думаю, что это стоит того делать, я не думаю, что это окончательное решение. – airhuff

+0

import -D не показывал никаких уничтоженных (и неудивительно, поскольку переустановка выполнялась вне сферы действия набора инструментов zfs). Я попробовал пару запросов с zdb, и это не дало мне больше понимания (но это, вероятно, связано больше с моим отсутствием опыта работы с zfs). Кстати, я использую zfs для моей корневой файловой системы, так что/etc/zfs/... чувствует себя как курица и яйцо в лучшем случае ... в худшем случае non-sequitur, поскольку/etc/не существует, пока не будет импортировано rpool. – Modular

ответ

1

Сорта решена:

TL/ДР: Я удалил все разделы затем взорвали первый и последний 10Мб каждого диска с помощью дд (для элегантного пути, чтобы взорвать окончательный разрез использования диска [эта статья обмена] [1]). Это не восстановить «хороший» бассейн, но это не важно для меня ... Получение чистой установки было основной целью (что это дало мне)

Чуть больше:

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

В инструкциях ubuntu говорилось о вытирая суперблок, если вы использовали диск в массиве raid mdadm ... Мне следовало бы обобщить комментарий. Во всяком случае, это слабый ответ, потому что я не нашел способа для чистого редактирования метаданных.

+0

Лучше, чем ничего, по крайней мере, вы можете перейти от всего этого. Здесь (http://serverfault.com/questions/297029/zfs-on-freebsd-recovery-from-data-corruption) - это обсуждение, связанное с метаданными метаданных раздела (ZD) ZFS, которые могут представлять интерес. Суть их заключается в том, что: «ZFS поддерживает 4 метки с метаданной раздела, а HPA препятствует тому, чтобы ZFS мог видеть верхние два». Опять же, соглашается на это. – airhuff