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

Добавляете новый процессор на сервер HyperV?

В настоящее время у меня есть HyperV Server 2012 R2, работающий на материнской плате, которая поддерживает два процессора, но в настоящее время имеет только один. Он имеет 64 ГБ памяти. Теперь я хотел бы добавить второй процессор, переместив половину существующей памяти на новый процессор, предоставив каждому 32 ГБ. Позже добавлю больше памяти.

Две виртуальные машины, которые используют больше всего памяти, получают по 16 ГБ. Есть и другие виртуальные машины, которые используют не более 4 ГБ.

Есть ли что-то, о чем мне нужно знать, чтобы делать это, или какая-либо причина, по которой мне не следует этого делать? Будет ли HyperV выбирать процессор с достаточным объемом свободной памяти при запуске виртуальных машин? Кроме того, можно ли назначить больше виртуальных ЦП, чем имеет один процессор? Какой будет эффект?

Плата - ASUS KGPE-D16, а процессор - AMD Opteron 6320 OS6320WKT8GHKWOF, если это имеет значение.

Да, Hyper-V выберет узел (процессор и память) с наибольшей емкостью при запуске виртуальной машины. Если виртуальная машина помещается в узел, она будет работать оптимально. Чтобы избежать фрагментации, вы можете настроить свой компьютер на запуск сначала больших виртуальных машин. Однако имейте в виду, что штраф за удаленный доступ к памяти на вашем компьютере, вероятно, довольно невелик, и вы, вероятно, не сможете измерить большую разницу между виртуальной машиной, которая настроена оптимально, и виртуальной машиной, которая «охватывает» узлы.

И да, можно назначить больше виртуальных процессоров, чем есть у любого физического узла. Виртуальная машина может охватывать узлы, и она будет работать нормально.

Если рабочая нагрузка в виртуальной машине особенно чувствительна к производительности, вы можете подумать о настройке самой виртуальной машины, чтобы у нее было несколько узлов. Для этого необходимо отключить динамическую память, то есть виртуальную машину необходимо настроить с фиксированным объемом оперативной памяти. Во-вторых, вы переходите на вкладку «NUMA» в разделе «Конфигурация процессора» в настройках виртуальной машины. (Или используйте PowerShell.) Там вы увидите «максимальное количество процессоров на узел». Установите значение, меньшее или равное количеству ядер на вашей физической машине. Затем виртуальная машина будет разбита на виртуальные узлы. Затем каждый виртуальный узел помещается отдельно в физический узел.

Наконец, если вам это сложно, вы можете просто нажать кнопку «Использовать топологию оборудования», и ваша виртуальная машина будет представлять себя для гостевой ОС и стека приложений с таким же количеством узлов, как и на базовой физической машине.

Если вас действительно беспокоит, что ваша рабочая нагрузка всегда работает в оптимальной конфигурации, и вас не волнует, не запустится ли виртуальная машина, когда память слишком фрагментирована для оптимального размещения виртуальной машины в памяти, вы можете «отключить охват NUMA» на ВМ через PowerShell. Конечно, если вы сделаете это, вы захотите убедиться, что эта виртуальная машина запускается первой, чтобы избежать фрагментации. И если вы убедитесь, что он запускается первым, он будет оптимально вписываться даже без отключения объединения NUMA.