Как я могу восстановить перезаписанные маркировки, блоки указателя и ueberblocks в пуле ZFS?

Случайная мысль...

Код выхода для сохраненного proc ненулевого? Например, Оператор возврата дает @@ ROWCOUNT или подобный.

Я видел похожий давным-давно с заданиями агента SQL... пред SSIS хотя

2
задан 2 March 2010 в 21:42
2 ответа

Хорошо первые вещи сначала я получил бы немного потоковой копии диска прежде, чем попробовать что-либо.

Делает a zpool import -D что-нибудь?

Если я честен, я не думаю это, потому что новый пул перезаписал все маркировки, блоки и блоки указателя исходного пула.

1
ответ дан 3 December 2019 в 12:22
  • 1
    Нет, import -D doesn' t делают что-либо, которое, вероятно, не удивительно как я didn' t уничтожают старый пул, я " just" перезаписал его. Ай. –  Hanno Fietz 2 March 2010 в 14:53

Верхние и нижние 512 килобайт диска / раздела содержат метки, которые включают список последних нескольких уберблоков (для восстановления и отката) и геометрию RAID пула (более конкретно vdev, частью которого был диск). Создав новый пул, вы почти наверняка стерли старые этикетки. Это означает, что вам нужно знать точную геометрию пула (конфигурация RAID-Z с порядком дисков) и искать уберблоки жестким путем.

Команда zpool create перезаписывает все метки на устройстве (вот почему вам пришлось добавить «-f», что по сути означает «вини меня, если все пойдет не так»). Поскольку метки vdev содержат указатель корневого блока (который указывает на корневой блок всего дерева объектов пула), а значение в этом указателе блока перемещается по мере добавления новых данных (из-за семантики COW), ваши данные пропали

1
ответ дан 3 December 2019 в 12:22

Теги

Похожие вопросы