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

Выделение виртуальных ЦП виртуальной машине на XenServer

Недавно я обновил сервер HP с одного используемого сокета ЦП (4 ядра + HT = 8 ядер) до 2 используемых сокетов ЦП (16 ядер).

Однако я могу назначить виртуальной машине только 8 ядер. При установке 16 по умолчанию возвращается значение 8 в «мастере создания новой виртуальной машины», а при изменении его с существующей виртуальной машины отображается красное предупреждение: «Больше виртуальных ЦП, чем физических процессоров, может привести к снижению производительности виртуальной машины». При нажатии кнопки ОК по-прежнему будет установлено 8 ядер вместо 16.

Однако мой xenhost (dom0) имеет 16 выделенных процессоров и фактически распознает их.

Мне интересно, почему я не могу добавить на машину более 8 виртуальных ЦП.

Перед обновлением сервера мне также удалось выделить 8 виртуальных ЦП, так что это не может быть связано с HT.

XenServer поддерживает более 8 виртуальных ЦП в гостевой системе, но интерфейс графического интерфейса пользователя XenCenter устанавливает жесткое ограничение в 8. Если вы хотите использовать более 8 виртуальных ЦП для гостя, вы должны сделать это с помощью командной строки xe:

xe vm-param-set uuid=your_vms_uuid VCPUs-at-startup=16
xe vm-param-set uuid=your_vms_uuid VCPUs-max=16

Чтобы найти your_vms_uuid, вы можете использовать:

xe vm-list name-label=VMname

Где «VMname» - удобочитаемое имя, присвоенное вами в XenCenter.

Теперь, открыв вам секрет выделения более 8, я должен предупредить, что ты, наверное, не хочешь этого делать. Больше виртуальных ЦП не означает автоматически повышение производительности, особенно если на этом экземпляре XenServer работает несколько виртуальных машин. Также помните, что ЦП HT не означает полностью дополнительный ЦП.

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