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

Стратегия резервного копирования IIS 7

Я заметил эта почта но я ищу больше конкретики.

У меня есть 2 сервера под управлением Windows 2008 Server Web Edition, и я запускаю веб-сайты на обоих из них. Я хотел бы иметь возможность зеркально отображать настройки IIS на каждом поле из другого, чтобы в случае сбоя «сервера 1» я мог войти на «сервер 2» и быстро получить все сайты, которые работали на «сервере 1». запущен и работает. Это не простое зеркало, поскольку у меня уже есть сайты на «сервере 2», которые должны работать, поэтому в основном я хочу добавить сайты с «сервера 1».

Я уверен, что получу несколько комментариев по этому поводу, так что да, наши серверы выдерживают повышенную нагрузку. Я также хочу держаться подальше от обсуждения DNS, поэтому, пожалуйста, не будем этого делать. Я также понимаю, что мне нужно будет добавить определенные IP-адреса к сетевому адаптеру «server 2», и меня это тоже устраивает, если я могу сократить другие ручные задачи, чтобы улучшить время безотказной работы и уменьшить количество ошибок, возникающих вручную.

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

Я ищу возможность легко восстановить все настройки, которые были на каждом сайте. Например: SSL-сертификаты, IP-адреса, физический путь к коду для сайта, привязки, сопоставления обработчиков и т. Д. Я надеюсь, что все пулы приложений тоже будут восстановлены, так же, как они были на другом сервере с правильной версией платформы и режимом конвейера. .

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

Осмотревшись, я нашел релиз-кандидата средства веб-развертывания Microsoft (learn.iis.net/page.aspx/346/web-deployment-tool/). Итак, наконец, теперь, когда у вас есть много предыстории, возникает вопрос:

Есть ли у кого-нибудь опыт быстрого и (в основном) автоматического добавления сайтов в IIS 7, на которых уже работают другие сайты? Кто-нибудь делал это с помощью подхода «appcmd add backup» и [Web Deployment Tool] [2], и если да, то с какими трудностями вы столкнулись?

В итоге я использовал Инструмент веб-развертывания Microsoft RC1 (MSDeploy). Он очень подробный и имеет ТОННУ опций. Это позволяет выполнять резервное копирование и передачу по сайту. Вы можете сделать резервную копию сайта в zip-архиве с помощью командной строки или графического интерфейса, или вы можете синхронизировать / переместить сайт на другой сервер немедленно (я думаю, что это использует веб-службы для переноса и установки всего). Этот инструмент сохраняет все ваши настройки (привязки, IPS, SSL-сертификаты, сопоставления обработчиков и т. Д.). Вы можете просматривать зависимости (код в gac и т. Д.) И даже перемещать базы данных.

Восстановление из архива совсем несложно. Я бы порекомендовал этот инструмент всем, кто хочет быстро восстанавливать сайты.

С IIS7 это становится НАМНОГО проще. То, что вы ищете, это «Общая конфигурация». Вы можете установить это на глобальном уровне на сервере. С этим вы можете иметь горячий-горячий или горячий-теплый, как вы описали.

На основном сервере используйте «экспорт» в общей конфигурации. Это сохранит машинный ключ сервера (отличный от ключа машины ASP.NET). Это гарантирует, что все зашифрованные данные могут быть готовы на новом сервере. Это также сохранит applicationHost.config и administrator.config. После того, как вы выполните импорт на 2-м сервере, applicationHost.config и administrator.config могут (и должны) быть на 100% одинаковыми для обоих серверов.

Таким образом, вы можете использовать DFS-R для автоматической 100% синхронизации конфигураций или использовать что-то вроде robocopy, чтобы делать это через определенные промежутки времени, в зависимости от вашего любимого инструмента.

Вам также не нужно указывать другой путь на основном сервере. Просто используйте экспорт ради 2-го сервера.

Инструмент веб-развертывания великолепен, но для того, о чем вы говорите, лучше подходит общая конфигурация.

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

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

Я знаю, что это будет звучать безумно, но почему бы не переместить базы данных на третий сервер и не настроить все сайты на обоих веб-серверах, чтобы все сайты были избыточными?