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

Можно ли использовать один образ виртуальной машины для запуска нескольких гостей (Windows (Server?))?

Можно ли использовать один образ виртуальной машины для запуска нескольких гостей, где каждый гость является Windows Server Операционные системы (в частности, для начала Windows 2003R2, мы бы всегда переходили на 2008R2 или что-то еще, что тогда будет обновлено), установив точно такие же приложения и те же настройки Windows (отсюда и желание одного образа), но отличаются только несколькими файлами конфигурации, а также именем компьютера, IP-адресом и т. д.

Редактировать примечание: Windows Сервер не обязательно для нас. Мы могли бы запускать гостей / узлы как XP или Win7, и это тоже сработало бы.

По сути, я хотел бы, чтобы гости использовали общую «ОС + службу приложений», в которой все исправления для ОС и приложений нужно администрировать только один раз.

Однако каждый гость должен отображаться как отдельный сервер в сети (имя компьютера в домене и т. Д.), И каждый гость может иметь очень небольшие различия в конфигурации. (Для eaxmple некоторые гости будут запускать службы X и Y, а другие гости будут запускать службы X и Z.)

Возможно ли это с каким-либо решением виртуализации? Какое оборудование необходимо? Какие производители это поддерживают? В конце концов, это хорошая идея (для серверов)?


Задний план: Это для нашей фермы серверов сборки. Каждый узел сборки в любом случае должен быть точно таким же, за исключением его «идентичности» (имя компьютера и т. Д.), Чтобы сделать его доступным с главного узла сборки. (И главный узел сборки будет идентичен, но с несколькими незначительными отличиями от программного обеспечения для автоматизации сборки.)

Я не знаю об этом, и вот почему:

Метод виртуализации, наиболее близкий к тому, что вы описываете, используется такими вещами, как Solaris Zones и OpenVZ. Конечно, это системы * nix, но это все же полезный пример. ВМ этого типа совместно используют ядро между всеми виртуальными машинами и хост-ОС, поэтому, когда ядро ​​хост-ОС исправлено, ко всем виртуальным машинам применяется одно и то же исправление (конечно, после шага перезагрузки всех вещей). Они не могут поделиться какими-либо изменениями файловой системы, такими как исправления для libpam или любых системных библиотек.

Windows - это другое существо, которое, возможно, еще больше зависит от взаимодействия ядра и файла. Он даже менее способен делать то, что вы делаете, чем системы * nix. Самым большим камнем преткновения является то, что идентификационные данные машины по существу хранятся в монолитном хранилище в памяти с файловой поддержкой, а не в файлах системы * nix. Это намного сложнее изменить, чем «всего несколько файлов в / etc».

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

В нашей среде разработки мы используем vSphere и клонируем наши главные веб-серверы разработки и серверы базы данных разработки с функциональностью VMware Linked Clone. Вы не можете получить к нему доступ с помощью обычных инструментов управления графическим интерфейсом, поскольку связанные клоны существуют в основном для использования с помощью VMware View (что позволяет легко управлять такими решениями, но несовместимо с ОС Windows Server); однако API доступен и поддерживается, поэтому можно работать со связанными клонами с помощью скриптов. Два доступных варианта основаны на Perl. http://download.virtuallyghetto.com/vGhettoLinkedClone.html и PowerCLI (расширение VMware PowerShell) http://www.vmdev.info/?p=202.

Когда вы научитесь создавать связанные клоны, вам нужно будет найти способ настроить каждый созданный клон. К сожалению, я не могу вам здесь помочь, так как наш разработчик - это полностью Linux, а настройка клона Linux тривиальна (для начала, ничего из этого беспорядка sysprep), но я знаю, что автоматическая настройка Windows по-прежнему возможна - в основном, у вас есть для выполнения того же действия, что и vCenter, когда вы создаете обычный клон виртуальной машины Windows с vCenter Client.

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

Я не собираюсь здесь говорить об оборудовании, поскольку все зависит от ваших конкретных потребностей: размера и количества серверов, ожиданий разработчиков в отношении производительности и т. Д. Не стесняйтесь просматривать Serverfault для рекомендаций по проектированию для сред vSphere, вы найти много хороших советов.

В качестве постскриптума, поскольку я сомневаюсь, что это рентабельный путь для любых компаний, кроме крупнейших, но было бы неуместным опускать его: если у вас много денег, вы можете добиться результатов, подобных View, с любой ОС с помощью vCloud Director: http://www.vmware.com/products/vcloud-director/overview.html.

Вы можете начать с эталонного образа, скопировать его по своему усмотрению, а затем настроить такие параметры, как имя и IP-адрес, как вам нужно. Однако после внесения изменений вам потребуется управлять исправлениями для каждой машины. Если вы используете VMware, вы можете использовать VCenter управлять установкой исправлений.