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


13

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

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

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

Моя единственная мысль заключается в следующем:

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

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

РЕДАКТИРОВАТЬ: RHEL5 RHEL5.10 и RHEL6 RHEL6.6

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

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

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


Какие конкретные версии RHEL5 и RHEL6 используются?
Ewwhite

Ответ отредактирован
user1174838

Не пытайтесь вписать диски G7 в сервер Gen8 - здесь есть нечто большее, чем просто физический лоток.
Chopper3

Преднамеренное ухудшение RAID с важными данными на нем не похоже на хороший план.
Касперд

Ответы:


18

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

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

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


Между этими двумя платформами существуют различия в драйверах, поэтому важно знать, какие второстепенные версии RHEL он использует.
Ewwhite

Ах да, я не должен отвечать ни на что, связанное с корпоративными дистрибутивами ... извините, но ...
Фокс

@Fox: удалено по многочисленным просьбам. Ваш ответ хороший.
Свен

1
@ user1174838, это не должно быть препятствием ... единственная проблема, которую я вижу, это очень большое количество маленьких файлов.
Фокс

1
И не забывайте об этом замечательном решении: двойной rsync сводит к минимуму время простоя сервера: поскольку большая часть данных передается на работающий сервер, второй rsync (на сервере, который теперь не работает) копирует только последние отличия.
Петер - Восстановить Монику

6

Две вещи:

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

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

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

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

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


Некоторые действительно хорошие комментарии в этой теме, спасибо всем. Я собираюсь вернуться в личку и запросить большее окно изменений.
user1174838

1

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

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

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

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

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

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

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


2
Если вы оставляете процессы, запущенные на старом сервере, которые выполняют запись в файлы на старом диске, особенно на серверы баз данных и тому подобное, очень высоки шансы, что это приведет к повреждению (копированию) файловой системы и повреждению данных в ваших (скопированных) файлах. Никогда не используйте сырой диск, если он не смонтирован или смонтирован только для чтения.
Гунтрам Блом поддерживает Монику

@GuntramBlohm Я знаю, это просто, чтобы проверить, если вы можете клонировать старый сервер на новый, без времени. После тестирования вы можете клонировать сервер, конечно же, выключив его или остановив ключевые службы.
alphamikevictor

Для копирования данных между системами CloneZilla и смежным методам потребуется более 30 минут.
user1174838

0

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

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

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.