Во время разработки, тестирования и развертывания мне необходимо полностью автоматизировать установку сервера Windows 2003.
Я пытаюсь найти лучший способ автоматически обойти сервер, который устанавливает ОС, зависимости от программного обеспечения, которые у меня есть (например, SQL-сервер, .net framework + мой собственный код приложения).
Из того, что я нашел, есть два подхода к этой проблеме:
- Дисковое клонирование (также известное как создание образа диска). Использование таких инструментов, как Ghost, Acronis.
- Автоматическая установка ОС + ПО. Использование RIS (теперь называется WDS) или Unattended , в основном запуск автоматической установки ОС, а затем автоматической установки всего программного обеспечения, необходимого при первой загрузке (с использованием различных флагов командной строки диспетчеров установки Windows, таких как MSI , InstallSheld.
Плюсы автоматической установки:
- Преимущество полного документирования установки и конфигурации в сценариях / конфигурации, которые создают автоматическую установку
- Эти сценарии / конфигурации могут находиться в системе контроля версий.
- Использование DriverPacks может обеспечить гибкость установки практически на любом оборудовании.
Минусы при автоматической установке:
- Полное развертывание займет гораздо больше времени.
- Больше работы, чем клонирование диска, когда вам просто нужно установить, настроить сервер вручную, а затем клонировать его.
Плюсы клонирования дисков:
- Меньше работы по созданию клонов.
- Быстрое развертывание.
Минусы клонирования диска:
- Очень сложно отслеживать изменения конфигурации / установки, которые произошли до клонирования, поскольку ни один из них не был написан в сценарии.
- Получившееся развертывание не такое «чистое», как чистая установка, требующая использования SysPrep или чего-то подобного.
- При восстановлении клона диска на новое оборудование могут возникать проблемы с оборудованием / драйвером.
Я знаю, что это не совсем вопрос программирования (хотя написание автоматической установки Windows + S / W требует некоторого кодирования), но это то, что мы все время от времени должны делать, и мы могли бы также придумать самый лучший способ сделать это.
Изменить: Подробнее о ситуации:
Виртуализация - хороший вариант для разработки, но для тестирования и особенно стресс-тестирования необходимо использовать реальное оборудование с быстрыми дисками.
Необходимо разработать серверное устройство под Windows Server 2003 и SQL Server 2005 и собственное приложение. Таким образом, это будет развернуто на месте для разработки и тестирования и в конечном итоге будет продано клиентам.
Итак, в основном я спрашиваю: каков рекомендуемый способ установки серверов разработки, тестирования и производства? Клонирование дисков? Автоматическая установка? Сочетание обоих?