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

Смена веб-сервера с минимальным временем простоя

У меня работает веб-сервер. Его IP-адрес 111.111.111.111, и он упоминается как ServerA. Помимо хранения файлов сценариев, сервер также хранит файлы, загруженные пользователем, и имеет базу данных. Приложение использует поддомены с подстановочными знаками, где foo.example.com, bar.example.com и т. Д. Переходят на общий виртуальный хост, и код сервера отвечает соответствующим образом с учетом имени поддомена. У меня есть регистратор домена, указывающий на IP 111.111.111.111, а также настроенный для поддержки подстановочных знаков.

Мне нужно будет заменить веб-серверы на новый сервер с IP 222.222.222.222, который называется ServerB.

Какие шаги нужно предпринять, чтобы мигрировать серверы с минимальным временем простоя?

Ниже мои первые мысли. Прокомментируйте, если я ошибаюсь или мне не хватает шагов.

  1. Опубликуйте на ServerA уведомление о том, что система будет отключена для обслуживания.
  2. Настройте Apache на ServerB аналогично настройке на ServerA, а также добавьте еще один виртуальный хост на ServerB с именем ServerName 222.222.222.222 (подробнее об этом позже).
  3. Настройте Apache на ServerA так, чтобы вместо доступа к сценарию приложения отображалась страница остановки для обслуживания.
  4. Скопируйте файлы сценариев, загруженные пользовательские файлы и базу данных с ServerA на ServerB.
  5. Измените регистратора домена так, чтобы он указывал на IP 222.222.222.222.
  6. Настройте Apache на ServerA для перенаправления всех запросов на IP 222.222.222.222. Как это будет работать с требованиями к субдоменам?
  7. Подождите, пока изменения доменного имени распространятся. Я не буду в это время?
  8. После того, как ServerB будет полностью протестирован, отмените тарифный план для ServerA.

Как насчет нуль простой перенос?

Это мой общий план таких миграций:

  1. Настройте специальный VPN между старым и новым сервером (например, с помощью OpenVPN).
  2. Скопируйте все приложение со старого сервера на новый.
  3. Настройте репликацию базы данных между старым сервером и новым сервером, со старым сервером в качестве главного, а новый сервер в качестве подчиненного, через VPN.
  4. Подождите, пока все базы данных будут реплицированы. Это может занять некоторое время.
  5. После завершения репликации подключитесь напрямую к новому серверу (используйте трюк / etc / hosts) и убедитесь, что приложение работает, веб-сервер настроен правильно и т. Д.
  6. Разорвите отношения «главный / подчиненный» и настройте приложение на старом сервере для взаимодействия с базой данных на новом сервере через VPN.
  7. Измените записи DNS. В ожидании истечения срока жизни некоторые пользователи будут подключаться к старому серверу, а некоторые - к новому, но оба будут использовать базу данных на новом сервере.
  8. Когда TTL истечет и старый сервер перестанет получать трафик, выведите его из эксплуатации. Отключите временный VPN.