Распределение ресурсов с vSphere Hypervisor
Я строю домашний сервер на старом ПК (Core 2 Duo E6600 в качестве процессора, 4 ГБ ОЗУ, два жестких диска, по одному на каждую ВМ), и у меня возникают проблемы с одной из моих ВМ. В настоящее время у меня есть две виртуальные машины, одна из которых работает под управлением ОС Untangle, а другая - под управлением Windows Server 2008 R2. Виртуальная машина Untangle работает отлично, но Server 2008 работает очень медленно, на нем практически ничего не установлено, кроме ОС (я думаю, что я установил только антивирус, который сканирует только по требованию).
Несмотря на то, что компьютер старый, я вполне уверен, что он должен работать на Server 2008 довольно хорошо, хотя вы можете исправить меня, если я ошибаюсь. Я прочитал о процессоре и обнаружил, что на самом деле он имеет 2 физических процессора и 2 логических в каждом физическом (не уверен, в чем именно разница). Тем не менее, я подумал, что на самом деле у меня было четыре процессора для выделения моим виртуальным машинам. Затем я назначил 1 процессор и 1 ГБ оперативной памяти для Untangle VM, а также три процессора и 3 ГБ оперативной памяти для Server 2008. Windows Server практически не работал. Затем я узнал от коллеги, что процесс может фактически зависнуть при назначении двум различным физическим процессорам, поскольку у данных могут возникнуть проблемы с пересечением пути через каждый физический сокет (не уверен, правильно ли это). Он предложил мне установить только 2 процессора на эту виртуальную машину, чтобы все данные обрабатывались на одном физическом процессоре. Казалось, это решило проблему немного, но я все еще испытываю некоторый фрагмент времени, когда виртуальная машина работает очень медленно. Это приходит волнами. Я могу запустить проверку на вирусы, и она идет очень быстро в течение первых 30 минут, но затем сильно замедляется, а когда она заканчивается, я едва могу даже открыть проводник Windows.
Я также зарезервировал 4800 МГц для виртуальной машины с сервером 2008 (не уверен, что это на самом деле означает два полных процессора, так как они работают на частоте 2,4 ГГц каждый), но я не слишком знаком с этим понятием резервирования ресурсов.
Мне интересно, правильно ли распределены ресурсы виртуальных машин (что, как мне кажется, нет, но это всего лишь ощущение), или это просто старый компьютер и у него будут проблемы с запуском Windows Server 2008.
Пожалуйста, прости меня, если я использую неправильные термины или смешиваю понятия, так как я новичок в этом мире виртуализации.
Спасибо за помощь,
Луис
1 ответ
Слишком долго для комментария, поэтому я добавляю его в качестве ответа.
Ваш процессор представляет собой двухъядерный процессор с тактовой частотой 2,4 ГГц или 2400 МГц на ядро. [ 1 ] Это равняется 4800 МГц суммарной обработки в любой момент времени. Обычно операционная система управляет ресурсами компьютера. VMWare ESXi - это операционная система с нуля, она же гипервизор. По сути, это означает, что в этом нет ничего особенного, поэтому вы можете установить ESXi на SD-карту объемом 1 ГБ, если вы действительно этого хотите. [ 2 ]
Когда дело доходит до управления ресурсами ЦП, существует нечто, называемое планировщиком, которое управляет тем, как и когда процессы выполняются на ЦП. ESXi имеет планировщик, встроенный в его ядро. [ 4 ] Все хорошо, пока планировщик имеет достаточно обработки, чтобы дать всем процессам, работающим на ЦП, время, которое им нужно. Компьютер может начать работать медленно и перестать отвечать на запросы, если требуется выполнить больше работы, чем он может легко обработать. Когда это происходит в ESXi, ядро начинает распределять по времени физические ядра ЦП, чтобы у всех виртуальных машин была возможность выполнить те инструкции, которые им необходимы. [ 3 ]
Поскольку мы все знаем, что компьютеры работают по волшебству, все должно работать, верно?
Давайте посмотрим на это так: у вас есть две виртуальные машины в настоящее время, и у вас есть 4800 МГц процессорной мощности для всех их общего доступа. Ой, почти забыл о ESXi ... Так что это означает, что у вас есть три вещи, работающие на рабочей станции. Все три из этих вещей пытаются использовать часть доступных 4800 МГц. Хорошей новостью является то, что в большинстве случаев их должно быть достаточно, поскольку большинство операционных систем не используют 100% ЦП постоянно.
Теперь о плохих новостях: вы сказали ESXi предоставить все 4800 МГц процессорного времени гостевой виртуальной машине Windows независимо от ее доступности. По сути, это не оставляет ничего другого для использования двумя другими. ESXi затем выделит физические процессоры по времени, чтобы могли работать и другие. Этот временной интервал на самом деле не влияет на Untangle или ESXi, потому что они работают именно так, как им нужно, когда им нужно работать. Это влияет на виртуальную машину Windows, потому что когда она пытается что-то сделать, она останавливается на полпути через многочисленные короткие промежутки времени планировщиком ESXi. Небольшое прерывание здесь или там не заметно, но это происходит снова и снова много-много раз в секунду, что может объяснить, почему виртуальная машина Windows иногда вялая.
Ваш коллега был не совсем прав в своем диагнозе вашей машины, потому что он имеет только один сокет и один процессор, хотя его рекомендуемое разрешение было шагом в правильном направлении. Сокращение количества виртуальных процессоров с 3 до 2 помогло, потому что у вас были чрезмерные ресурсы процессора. По сути, ваша конфигурация в отношении резервирования ЦП также называется тем же именем. Чтобы решить эту проблему, вам нужно переместить резервирование примерно до 1000 МГц и установить ограничение ЦП где-то между 3000-3800 МГц. Это может не решить всех ваших проблем с медлительностью, но это должно помочь.
Источники:
[1] http://ark.intel.com/products/27250/Intel-Core2-Duo-Processor-E6600-4M-Cache-2_40-GHz-1066-MHz-FSB
[2] http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vsphere.install.doc/GUID-DEB8086A-306B-4239-BF76-E354679202FC.html
[3] http://pubs.vmware.com/vsphere-55/index.jsp?topic=%2Fcom.vmware.vsphere.resmgmt.doc%2FGUID-DFFA3A31-9EDD-4FD6-B65C-86E18644373E.html
[4] http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-CPU-Sched-Perf.pdf