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

Перенести zpool на новый контроллер SAS

Давным-давно мы купили Adaptec 31605, считая, что: а) он может выполнять настоящий JBOD и б) хорошо поддерживается OpenSolaris. Оказывается, оба они неверны. Я пытаюсь установить zpool на ОС NexentaStor Enterprise, но для этого они хотят, чтобы мы заменили наш контроллер на LSI SAS 9201-16i.

Я пытаюсь найти лучший способ дешево перенести пул. Текущий zpool использует около 1 ТБ на 14 дисках SAS. Лучшее, что я могу придумать, это:

  1. автономная система
  2. настроить 3 диска SATA потребительского уровня по 1 ТБ в качестве временного zpool на встроенных портах SATA
  3. zfs отправляет все данные во временный пул
  4. поменяйте местами контроллеры и создайте новый zpool на адаптере LSI
  5. zfs отправляет из временного пула в новый zpool
  6. онлайн-система

Что-то, что мне здесь не хватает, или мысли о том, как это сделать лучше?

Если бы я пошел по этому пути, сколько времени я должен ожидать от процесса? Мои элементарные расчеты говорят мне, что для передачи 1 ТБ со скоростью 100 Мбит / с потребуется около 3 часов. Могу ли я получить такую ​​пропускную способность с помощью zfs send / recv на дисках потребительского уровня?

IMHO в некоторых ситуациях это могло быть возможно (не уверен, как разные контроллеры обрабатывают одни и те же диски):

  1. автономная система
  2. zpool экспорт
  3. поменять местами контроллеры
  4. zpool импорт
  5. онлайн-система

В любом случае ваше предложение намного безопаснее, потому что у вас всегда есть две копии ваших данных до конца миграции.

Не уверен, что это может вам помочь, но также рассмотрите возможность инкрементной отправки zfs.

  1. автономная система
  2. настроить 3 диска SATA потребительского уровня по 1 ТБ в качестве временного zpool на встроенных портах SATA
  3. онлайн-система
  4. zfs отправляет все данные во временный пул
  5. автономная система
  6. zfs send -I все отличия во временный пул
  7. поменяйте местами контроллеры и создайте новый zpool на адаптере LSI
  8. zfs отправляет из временного пула в новый zpool
  9. онлайн-система

При таком подходе вы можете разделить время простоя службы и позволить вам выполнить первую большую и медленную отправку zfs (SAS -> SATA), пока система находится в сети.

Ваш план выглядит хорошо, я полагаю, у вас не будет проблем. Вы упомянули три диска по 1 ТБ для временного пула. Я предполагаю, что вы планировали использовать raidz с одинарной четностью (можно использовать 2 ТБ), но я бы порекомендовал вам вместо этого рассмотреть зеркальную пару дисков 1,5 или 2 ТБ. Таким образом, когда миграция будет завершена, на каждом из дисков будет создана полная резервная копия вашего пула. Идеально подходит для того, чтобы бросить в депозитную ячейку в случае катастрофического отказа. Что касается скорости, я получаю 90–130 МБ / с на зеркальном пуле из двух дисков SATA емкостью 2 ТБ, поэтому ваше значение 3 часа / ТБ (~ 100 МБ / с) звучит разумно. Если вы, как и я, параноик, вы также можете очистить временный пул перед переформатированием дисков SAS.

После того, как вы переключитесь на то, чтобы ZFS обрабатывала целые диски без уровня абстракции контроллера, трава действительно становится зеленее. Вы можете сравнить производительность нескольких контроллеров с одними и теми же дисками или даже просто подключить диски к новой системе в случае отказа оборудования. Я даже временно импортировал пул zfs в виртуальную машину под VMWare ESXi, используя необработанное сопоставление устройств, без всякой ерунды, это просто сработало.

Ваши решения звучат хорошо. Вы можете использовать раздел Auto Sync в Nexenta, если вы предпочитаете его отправку вручную ZFS.