Копирование хоста Linux на новое оборудование

Копирование хоста Linux на новое оборудование

Мне нужно сделать миграцию хост-хост со старого оборудования на новое. А именно с HP BL460G7 на HP BL460G8. И старый, и новый серверы имеют 2 x 600 ГБ 2,5" диска и настроены на RAID1. Я могу позволить себе 30 минут простоя на сервер.

Необходимо перенести четыре сервера, наименьшему выделено в общей сложности 120 ГБ в логических томах, а наибольшему выделено 510 ГБ. Три сервера работают под управлением RHEL5, а один — под управлением RHEL6.

Я ломал голову над тем, как это сделать в отведенные сроки и не уничтожить ОС и критически важные данные.

Моя единственная мысль такова:

  • удалите один диск со старого сервера (сервер включен)
  • извлеките оба диска из нового сервера (сервер выключен)
  • выньте дисковод G7 из контейнера и отложите в сторону
  • извлеките привод G8 из контейнера и установите в контейнер G7
  • установить диск G8 в G7 caddy в старый сервер
  • дождитесь, пока RAID-контроллер перестроит массив RAID1
  • по завершении выключите старый сервер
  • удалить дисковод G8 из G7 caddy
  • установите привод G8 в корпус G8 и вставьте в G8 (установлен один привод)
  • загрузочный сервер G8
  • дождитесь загрузки ОС
  • когда ОС загрузится вставьте оставшийся диск
  • дождитесь перестроения RAID-массива

Звучит ли это разумно?

EDIT: RHEL5 — это RHEL5.10, а RHEL6 — это RHEL6.6

Я также должен был отметить, что две из систем являются частью горячего кластера из четырех узлов, который выполняет почти постоянную репликацию "событий" приложений (это часть критической инфраструктурной системы). У нас есть резервные копии, но мы используем их только в случае полного отказа системы.

Предыдущие испытания показали максимальную скорость передачи данных между системами около 50 Мбит/с, что слишком медленно.

EDIT: Я собирался положиться на kudzu в плане принятия и обработки изменений в оборудовании.

решение1

Следует отметить, что могут потребоваться и другие шаги, в зависимости от дистрибутива. В первую очередь драйверы (спасибо, что указали на это @ewwhite).

  1. Загрузите новый сервер с livecd/usb.
  2. Подготовьте разделы и загрузочный блок на новых дисках.
    • В зависимости от настроек это можно сделать путем копирования MBR/bootblock.
  3. Создайте файловые системы.
  4. Выполните rsync со старого сервера на новый.
    • Возможно, вам захочется сделать это еще раз, чтобы посмотреть, сколько времени займет повторная rsync-синхронизация. Если она займет менее 30 минут, продолжайте.
    • Это время, вы можете попробовать, если новая система загрузится. Просто будьте осторожны, чтобы не вызвать никаких конфликтов IP (или других).
  5. Завершите работу всех служб, которые будут записывать данные в файловую систему.
    • Желательно перезагрузиться на livecd/usb
  6. Передача данных rsync со старого сервера на новый снова
  7. Перезагрузите новый сервер и используйте его.

При таком подходе у вас останется нетронутым исходный сервер, так что если что-то пойдет не так, есть простой способ вернуться назад. Но это требует некоторых знаний (grub/rsync/partitions), поэтому я предлагаю провести некоторую подготовительную работу и тестирование заранее, прежде чем делать это вживую.

решение2

Две вещи:

  • Я бы создал заново и синхронизировал данные.
  • Кажется, что выделенное вам время/окно простоя слишком короткое. 30 минут могут быть эффективными в определенных ситуациях, но не должныТЫдиктовать реалистичные требования к времени простоя на основе того, что требуется для фактического выполнения работы?

В зависимости от данных, содержащихся на каждом сервере, объем данныхотстойи вашей схемы подготовки, возможно, имеет смысл установить необходимую ОС на новый Gen8 ProLiant и синхронизировать настройки и другие части данных в точке, где вы можете заморозить данные.

Возможно, сделайте начальную копию и выведите требования к времени простоя из времени, необходимого для получения изменений в файлах при последующих rsync. Если вам нужно ускорить процесс передачи или у вас много маленьких файлов, естьМетоды, которые могут помочь в этом.

Я часто делаю такие переходы. При подобных установках Linux вам редко требуется что-то большее, чем точный список пакетов (легко получить через Yum или RPM), каталоги конфигурации (например, /etc) и разделы данных. Если у вас еще нет системы подготовки kickstart, вы можете воспользоваться файлом, /root/anaconda-ks.cfgчтобы получить представление о том, как была построена система G7.

Отвечая на ваш вопрос о простом перемещении дисков, основываясь на конкретных версиях RHEL, которые вы упомянули, это абсолютно возможно. Вы можете перемещать диски/кейды, и метаданные HP Smart Array совместимы между контроллерами P410 и P420, которые могут быть в ваших системах. Однако я бы не стал этого делать без предварительного полного обновления прошивки дисков и компонентов в новой системе.

решение3

Если предыдущая версия ОС может работать с новым оборудованием (в основном RAID-контроллером), вы можете попробоватьCloneZilla.

Чтобы проверить возможность перехода с одного оборудования на другое, можно перенести все данные со старого сервера на новый, проделав несколько трюков с dd.

Загрузите новый сервер с живым дистрибутивом, напримерSystemRescueCD, настройте с помощью IP-адреса и команды dd, например, такой:

nc -l 8000 | dd of=/dev/sda

На текущем сервере выполнить

dd if=/dev/sda | nc ${newserverip} 8000

Это создаст сырую копию /dev/sda вашего сервера на новый сервер /dev/sda. Таким образом, вы можете провести тест без простоя на вашем исходном сервере и практически без риска.

решение4

Менеджер проекта отклонил мою просьбу о продлении периода простоя.

Предложенная процедура, изложенная в вопросе, хорошо зарекомендовала себя при тестировании. Время простоя составило менее 20 минут. Я использовал утилиту hpacucli для мониторинга прогресса на G7, а затем на Gen8, она оказалась очень полезной для этого.

Мне еще не приходилось делать это в ярости, но, как я уже говорил, это хорошо сработало при тестировании RHEL 5.10 на BL460G7 - BL460 Gen8.

Прошивку не обновлял.

Первоначальная повторная синхронизация RAID1 в G7 заняла чуть больше часа. Повторная синхронизация в Gen8 заняла менее 50 минут. Это меня беспокоило, но я не смог найти никаких проблем.

Еще раз спасибо за все полезные комментарии и предложения.

Связанный контент