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

Переустановка Linux: как избежать простоев?

Мой веб-сайт работает на выделенном сервере Debian LAMP. Я хотел бы обновить систему (допустим, у меня довольно старая версия Debian, и я хочу переустановить все с нуля)

Какую стратегию я могу использовать, чтобы мой веб-сайт не отключился, пока я все переустанавливаю?

Дополнение

Конечно, я знаю, что тем временем могу купить другой сервер и менять DNS, когда это будет сделано. Но это удваивает мою работу.

Разве не какой-то сервис, который может действовать как прокси-кешер в течение ограниченного времени? Может что делает CloudFlare, кроме кеширования всего, а не только изображений.

Если вы не хотите простоя, то на самом деле единственный вариант - создать новую установку на отдельном оборудовании, и когда вы будете довольны тем, что все работает правильно, измените настройки DNS, чтобы они указывали на новый сервер.

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

Попросите второй сервер взять на себя нагрузку, используя балансировщик нагрузки или просто перенаправив IP-адрес на время обновления. Фактически, если вы используете балансировщик нагрузки, вы можете оставить оба сервера после этого включенными.

Предполагается, что сайт не зависит от базы данных. Итак, учитывая ограниченный набор фактов, которые вы нам предоставили, это мой простой ответ.

Разве не какой-то сервис, который, возможно, может действовать как прокси-кешер в течение ограниченного времени?

Если ваш сайт чисто статический или, по крайней мере, полезен при настройке только для чтения. Затем вы временно платите за какой-то веб-хостинг, а затем используете что-то вроде wget или аналогичные инструменты для сканирования статической части вашего веб-сайта.

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

Если бы был настоящий крестовый поход против нового оборудования (разумно, если у вас действительно, действительно нет бюджета), я бы сделал следующее:

  1. Установите систему виртуализации. Это может быть Xen, если установленный Debian старый, но недостаточно старый, чтобы в нем не было Xen. При необходимости используйте VirtualBox или даже QEMU.
  2. Установите виртуализированную систему Debian Squeeze на реальный системный раздел или логический том. Это позволит впоследствии «обновить» эту виртуальную машину до основной ОС. Если вы используете VirtualBox или QEMU, самым простым выбором будет установка на отдельный жесткий диск. полностью посвятив его этой виртуальной машине.
  3. Установите все службы на ВМ и протестируйте все соответственно.
  4. Когда придет время переключаться, отредактируйте файл grub.conf и загрузитесь в новую систему. Виртуальной машине (теперь физическому серверу), вероятно, придется перенастроить себя из-за смены «оборудования», но Linux хорош в этом. Не забудьте установить grub на новый жесткий диск, если он есть.

Вы думали об обновлении Debian до последней версии? Обновления Debian в большинстве случаев очень хороши. Если ваш текущий дистрибутив достаточно стар, чтобы быть широко доступным на зеркалах, вы всегда можете использовать archive.debian.org пока не дойдете до полутокового.

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