2009-07-22 12 views
5

Для тестирования установщика нашего продукта я поддерживаю дерево моментальных снимков виртуальной машины с установленными предыдущими версиями. Это утомительная задача - выполнить обновление Windows, повторный снимок, удалить родительский снимок на каждой виртуальной машине.Как сохранить дерево моментальных снимков виртуальных машин в актуальном состоянии с помощью Центра обновления Windows?

Есть ли автоматическое решение для поддержания актуальной группы виртуальных машин? Я использую VirtualBox, но имею доступ к VMware Workstation и переключаюсь, если техническое обслуживание улучшится.

+2

Это должно быть на Serverfault. – Joe

+2

Я думал об этом. Но тестирование в виртуальных машинах (и поддержание их в актуальном состоянии) - это то, что делают многие программисты. –

ответ

5

Мы сохраняем базовый уровень виртуальных машин в библиотеке. Они примерно 20 с лишним (со смесями разных версий Java, DB2, WAS и т. Д.), Которые команды разработки и тестирования могут копировать для собственного использования.

Библиотекарь (разработчик, выполняющий это неполный рабочий день) несет ответственность за поддержание их актуальности. То, что они сделают, это скопировать одну из виртуальных машин каждую неделю или около того, загрузить ее и установить все обновления, а затем скопировать обновленную виртуальную машину обратно по оригиналу. Это означает, что он доступен для проверки, кроме случаев, когда выполняется операция копирования. Кроме того, количество виртуальных машин, которые необходимо обновить, сводится к минимуму благодаря тому, что они разделены.

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

Это в основном автоматизировано, так как все виртуальные машины захватывают свои обновления с нашего SUS-сервера, и мы знаем, когда у них есть готовые обновления. Библиотекарь уведомляется сценарием, который необходимо обновить виртуальными машинами, и просто должен запустить другой скрипт, который копирует виртуальную машину и запускает копию.

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

+0

Мне нравится эта идея, для ориентированного на команду аспекта, а также его простоты и малой массы. Недостатком этого является то, что, хотя он позволяет вам предоставлять библиотеку современных базовых линий, он не обеспечивает решение для поддержания актуальности виртуальных машин. –

+1

Использование довольно краткосрочное в нашей среде, Айдан. Как правило, виртуальные машины копируются для набора тестовых прогонов, которые продолжаются до тех пор, пока все тесты не будут успешными. Обычно это происходит через неделю, затем скопированные виртуальные машины удаляются, пока они не понадобятся. – paxdiablo

2

Я не знаю автоматизированного решения для всех ваших виртуальных машин, но я бы рекомендовал использовать Windows Server Update Services, чтобы отслеживать состояние обновлений каждой виртуальной машины и предоставлять локальный репозиторий Windows Update для ускорения процесса обновления.

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

Это не решает проблему с управлением моментальными снимками и т. Д. Интересно, имеет ли VMWare API ...

+0

Интересная идея. У VMware и VirtualBox есть API, поэтому вы можете автоматизировать моментальный снимок. Фактически, вы можете автоматизировать включение питания, устанавливать обновления для установки, отключать питание. Это было бы значительной задачей для реализации. С большой фермой виртуальных машин я бы это рассмотрел. –

+0

Если вы собираетесь спуститься по этому маршруту, вы можете заставить службу Windows Update проверить наличие обновлений «сейчас», выполнив «wuauclt/detectnow». Похоже, что он ничего не сделает, но вы обнаружите, что он уйдет на WSUS (или Windows Update, если вы не в среде WSUS), а желтый экран появится внизу справа, если что-то ожидает. – tomfanning