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

Скопируйте хост Linux на новое оборудование

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

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

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

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

Это звучит разумно?

РЕДАКТИРОВАТЬ: RHEL5 - это RHEL5.10, а RHEL6 - это RHEL6.6

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

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

РЕДАКТИРОВАТЬ: Я собирался положиться на кудзу, чтобы подобрать и разобраться с аппаратными изменениями.

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

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

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

Две вещи:

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

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

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

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

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

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

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

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

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

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

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

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

Менеджер проекта отклонил мой запрос на увеличение окна простоя.

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

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

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

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

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