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

ZFS: уничтожить и воссоздать зеркальный zpool без потери данных. Возможно?

У меня есть существующее устройство Solaris ZFS NAS / SAN, и по нескольким причинам я хочу эффективно уничтожить и воссоздать zpool. Загвоздка в том, что мне некуда разместить данные в другом месте, поэтому они должны оставаться в коробке, пока я это делаю.

Есть 12 дисков SATA по 1 ТБ 7.2k, которые составляют zpool в 6 зеркальных парах. Мой план таков:

  1. В первой зеркальной паре полностью удалите один из дисков из пула.
  2. Создайте новый zpool, содержащий только этот диск
  3. Повторите (1) для каждой из остальных зеркальных пар, добавляя их в новый zpool.
  4. К этому моменту у меня осталось два zpools одинакового размера, без избыточности, но содержащие по 6 дисков каждый.
  5. Скопируйте данные в новый пул и проверьте (с помощью скраба, я думаю?)
  6. После копирования данных уничтожьте старый пул и добавьте 6 дисков в новый пул в качестве зеркал для существующих 6 дисков.
  7. Убедитесь, что все файловые системы верны и имеют правильные атрибуты

Есть ли причина, по которой это не сработает? Если нет, есть ли другой / лучший способ сделать это?

Зачем нужно восстанавливать бассейн? Сколько данных фактически содержится в пуле? Это окажет большее влияние на вашу стратегию миграции, чем что-либо другое. Если есть возможность разместить данные на одном диске (например, 1 или 2 терабайта), я бы сделал это, а не рисковал бы полосой незеркальных дисков. Но опять же, это зависит от того, сколько данных нужно переместить.

Ваши шаги, кажется, равносильны "прыжку через лягушку" зеркал, которые уже стоят на своих местах. Это, вероятно, не «отменит» дублирование, так как эти атрибуты, вероятно, продолжат работу по мере перестроения зеркальных наборов. Возможно, вам потребуется рассмотреть возможность репликации / копирования на уровне приложения между пулами с дедупликацией и без дедупликации, чтобы развернуть фактические экземпляры файлов.