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

Члены пула ZFS начинают перезаписывать сектора, включая таблицу разделов и метки L0 L1. Метки данных и L2 L3 не повреждены. Как вылечиться?

Имейте два одинаковых диска по 2 ТБ в зеркальном пуле ZFS. К сожалению, при перезаписи начала дисков с ошибкой мы пытаемся подключить их через RAID-контроллер HP Smartarray P400 как отдельные логические тома RAID0, которые записывают туда свои собственные метаданные.

Таблица разделов (если она была создана zpool create - см. Ниже) и метки L0, L1 теряются. Метки и данные L1, L2 не повреждены, как видно в шестнадцатеричном формате.

Первоначально zpool был создан путем простого добавления необработанных устройств в пул зеркал, например: zpool create tank mirror / dev / sda / dev / sdb.

Есть ли способ вылечиться?

Наконец я обнаружил, что мой пул ZFS не поврежден. Старый сервер импортирует / экспортирует пул без каких-либо проблем. Единственная разница была в версии ядра ZFS и версиях модулей:

Старая версия: ядро ​​3.13.0-39-generic, SPL: v0.6.3-1 ~ надежный, ZFS: v0.6.3-3 ~ надежный

Новое: ядро ​​3.13.0-43-generic, SPL: v0.6.3-3 ~ trusty, ZFS: v0.6.3-5 ~ trusty

Кроме того, срезы zfs были созданы в отдельных разделах, начиная с блока 2048. Таким образом, RAID-контроллер вообще не влияет на метки L0, L1, а просто обнуляет таблицы разделов.

Единственное, что я сделал для импорта - восстановил таблицы разделов (zpool import по-прежнему показывает пул как FAULTY) и создал каталог / dev / disk / myzfs и сделал символические ссылки на устройства разделов участников zpool аналогично / dev / disk / by-id иметь (попытка "zpool import -d / dev / disk / by-id" показывает пул как FAULTY).

«zpool import -d / dev / disk / myzfs» показывает мой пул как ONLINE, а «zpool import -d / dev / disk / myzfs nas» успешно.

К сожалению, мне не удалось воспроизвести комбинацию ядра и ядра SPL-ZFS и модулей, как на старом сервере - не нашел, как получить старые пакеты ppa: zfs-native / stable. Итак, я не мог сказать, были ли это изменения версии модуля или что-то еще.

Да, вы вывели диски из строя ...

Может быть, есть какая-то магия ZDB, которая может помочь, но создание логических дисков HP RAID 0 - довольно продуманное действие. Было бы четкое предупреждение, что данные, содержащиеся на дисках, будут потеряны из-за метаданных Smart Array.

В общем, использование нескольких логических дисков RAID 0 для ZFS - плохая идея для аппаратного RAID-контроллера. Но это была серьезная ошибка.


Редактировать:

Я рекомендую задать этот вопрос Список рассылки ZFS-обсуждения или канал IRC.