У меня есть несколько устаревших серверов (около 30), на которых выполняется недокументированный код, который все еще работает на RHEL4. Некоторые новые серверы работают на CentOS5 или 6, но большинство из них - RHEL4. После аудита безопасности руководство наконец согласилось с тем, что что-то нужно сделать, и серверы необходимо перенести на что-то из этого (или следующего) десятилетия. На серверах в основном работают приложения с открытым исходным кодом, такие как cacti, mysql, php, apache, perl, причем некоторые из них имеют привязки Oracle для запросов к таким базам данных.
Это или, конечно же, означает переустановку (на виртуальных машинах или, возможно, контейнеризацию того, что можно легко сделать), но я не нашел инструмента плана / контрольного списка / автоматизации, который помог бы мне начать работу.
Итак - я полагаю, что примерно это нужно сделать:
Я думал о написании ansible playbooks, чтобы сделать все это в надежде, что это упростит будущие обновления, но написание playbook требует больших затрат, чем на самом деле выполнение одноразовой конфигурации, поэтому я не уверен, что это того стоит .. .
Я уверен, что забываю много вещей, о которых нужно позаботиться, поэтому вот мой вопрос:
Есть ли рекомендуемый способ выполнения таких обновлений? Есть ли инструменты, сценарии, процедуры, которые помогут мне сделать это менее болезненным?
Спасибо за любой совет!
Похоже, вы унаследовали от неконтролируемой ИТ-среды.
По моему мнению, стоит потратить усилия на разработку playbook для сборки / настройки новых систем centos8 (пакеты, сетевой cfg, пользователи, ssh-ключи ...).
Но перенос приложений придется выполнять вручную, потому что каждый случай будет индивидуальным. Вы должны понимать, как запускается приложение (/etc/rc3.d должно быть хорошей отправной точкой), каковы зависимости (lib / packages) и как эти зависимости были установлены (tarball? Package?), Есть ли crontab связанные, какие новые версии библиотеки доступны в centos8, есть ли какие-либо изменения кода приложения, связанные с новой версией библиотеки, есть ли какие-либо изменения синтаксиса файла конфигурации.
Попробуйте создать матрицу приложений из старой производственной среды и развернуть тестовую среду для каждого идентифицированного вами приложения. Когда все заработает нормально, вы можете подумать, как ускорить развертывание в новой среде prod, а также решить проблему миграции данных.
Если вы один, это будет долгая задача. Я надеюсь, что ваше руководство готово заплатить за помощь.
Удачи !