У меня много машин, требующих одинаковой конфигурации. Моя цель - загрузить их все из сети и загрузить виртуальную машину. Было бы замечательно иметь единое изображение для всех наших машин по обслуживанию клиентов. Таким образом, я мог загрузить виртуальный образ, выполнить обновления и знать, что при следующей загрузке у них будут все изменения. В идеале машины должны хранить образ локально и загружать новый образ только в случае внесения изменений.
Со всей информацией о «виртуализации рабочего стола», «загрузке PXE» и «виртуальных машинах» я чувствую себя потерянным. Я читаю несколько часов и чувствую, что только поцарапал поверхность.
Я хотел бы сделать это с помощью открытого или бесплатного программного обеспечения. Какие-либо предложения?
Вы объединяете две вещи: (1) бездисковую загрузку, которая обычна для кластеров HiPC, где инструменты, такие как компиляторы, библиотеки и т. Д., Хранятся в кластерной файловой системе, такой как Lustre или NFS; (2) образы виртуальных дисков (vmdk или vdi, или что-то еще).
В случае (1) вам понадобятся tftp-сервер и dhcp-сервер, а также модифицированный образ initrd для настраиваемых драйверов, скриптов и т. Д.
http://www.pixelchaos.net/2009/02/15/diskless-booting-with-pxe-and-nfs/
В случае (2), учитывая, что все машины одинаковы, включая конфигурации, вы можете смонтировать образ виртуального диска с помощью nfs. Напишите сценарий, который проверяет любые изменения, например, совпадает ли существующий образ с смонтированным nfs; если они не совпадают, скопируйте этот образ в загрузочный раздел и перезагрузите его. Вам нужно добавить этот скрипт в initrd. Вы можете поиграть с этим.
http://www-conf.slac.stanford.edu/afsbestpractices/Slides/afsboot.pdf
Документ выше дает вам некоторые подсказки. Вам лучше сосредоточиться на том, как работает весь процесс загрузки и т. Д.
Если вы используете ESXi, есть лучший способ добиться желаемого: экспортировать nfs на хосты esxi. Сохраните файлы vmdk и -flat.vmdk на сервере nfs и измените расположение vmdk в файле .vmx. Во время следующей загрузки он заберет ваш новый образ.
Сначала позвольте определить некоторые термины, которые вы запутали.
Загрузка PXE:
Это утилита, которая заменяет BIOS и поддерживает работу в сети. Например, бездисковый компьютер, который загружает образ ядра с сервера и выполняет его. После того, как ядро смонтирует удаленный раздел в качестве корневой файловой системы.
Виртуальная машина:
Виртуальная машина - это машина, управляемая программным обеспечением. Если я работаю с определенной ОС, я могу запустить виртуальную машину для загрузки другой ОС без перезагрузки. Есть некоторые ОС, предназначенные для виртуализации. Виртуальная машина - это не решение вашей проблемы.
Хорошо, теперь я объясню, что предлагаю, я не работал с этим, и я думаю, что это не бесплатное программное обеспечение, но вы должны попытаться найти замену. Northon Ghost - это PXE, который загружается перед основной ОС, чтобы проверить, совпадает ли образ диска с тем, что находится на сервере. Если я подхожу к такому компьютеру, очищаю ОС и перезагружаюсь ... ОС восстановит сервер, но не данные.
Я не думаю, что вы можете сделать это с помощью бесплатных программ и избегайте многочасового чтения. На самом деле, я не думаю, что вы также можете легко это сделать с помощью программного обеспечения с "блестящей оплатой". Сложно и отнимает много времени, чтобы понять все входы и выходы, потому что это сложно и требует много времени, чтобы настроить все входы и выходы.
Вы ищете что-то вроде netboot.me Думаю. Заставить подобные вещи работать на паре компьютеров в лаборатории несложно. Вы обнаружите, что заставить его работать в сложной маршрутизируемой локальной сети несколько сложнее - мы используем вариант этого от Apple для запуска установщика для установки нашего стандартного образа рабочего стола OSX на рабочие станции Mac.
Между прочим, виртуализация рабочего стола - это нечто совершенно иное, чем то, что вы на самом деле называете желанием сделать. Это вполне может быть действенный метод решения проблемы, на которую вы смотрите, но я бы постарался не рассматривать его в то же время, когда вы рассматриваете этот способ решения вещей - вы только усложните понимание проблемы. чем это должно быть.
Некоторое время назад у меня была такая же проблема, и я успешно использовал pxe.
Вы ищете gPXE (свободно). Это немного сложно настроить, но вы загружаетесь, например, с ftp-сервера или iSCSI. Если вы загружаетесь из локальной сети, вы также можете использовать ата через Ethernet (АОЕ). PXE можно запустить с любого загрузочного диска размером с дискету или с загрузочного ПЗУ, если он применяется к сетевым адаптерам.
Вы должны начать с образа или загрузить его на ramdisk через tftp или ISCSI или что-то еще и запустить образ оттуда. Или вы даете каждой виртуальной машине собственную цель и оставляете ее такой.
У Microsoft есть продукт для этого, он называется Microsoft Enterprise Desktop Virtualization (он же MED-V):
http://www.microsoft.com/windows/enterprise/products/mdop/med-v.aspx