Мне нужно сделать миграцию хост-хост со старого оборудования на новое. А именно с 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).
- Загрузите новый сервер с livecd/usb.
- Подготовьте разделы и загрузочный блок на новых дисках.
- В зависимости от настроек это можно сделать путем копирования MBR/bootblock.
- Создайте файловые системы.
- Выполните rsync со старого сервера на новый.
- Возможно, вам захочется сделать это еще раз, чтобы посмотреть, сколько времени займет повторная rsync-синхронизация. Если она займет менее 30 минут, продолжайте.
- Это время, вы можете попробовать, если новая система загрузится. Просто будьте осторожны, чтобы не вызвать никаких конфликтов IP (или других).
- Завершите работу всех служб, которые будут записывать данные в файловую систему.
- Желательно перезагрузиться на livecd/usb
- Передача данных rsync со старого сервера на новый снова
- Перезагрузите новый сервер и используйте его.
При таком подходе у вас останется нетронутым исходный сервер, так что если что-то пойдет не так, есть простой способ вернуться назад. Но это требует некоторых знаний (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 минут. Это меня беспокоило, но я не смог найти никаких проблем.
Еще раз спасибо за все полезные комментарии и предложения.