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

Можно ли разделить 4 ядра одного процессора между 12 виртуальными машинами на Xen?

Мне нужно разместить около 12 виртуальных машин на сервере Xen. все они - очень легкие машины Linux. Средство не ресурсоемкое.

У меня есть xen-сервер с одним процессором с 4 ядрами. Могу ли я использовать 2–3 процессора на всех виртуальных машинах?

Да, гипервизор Xen (как и другие) будет просто делиться временными интервалами доступных процессоров с вашими виртуальными машинами. И да, вы можете увеличить количество виртуальных ЦП. Вы можете прикрепить виртуальные ЦП к физическим ядрам ЦП, но это совсем не обязательно, и в этом случае вы позволяете гипервизору решать, какая виртуальная машина получает определенное количество временных интервалов ядра физического ЦП.

С точки зрения виртуальной машины вы заметите, что некоторая часть процессорного времени будет украдена в какой-то момент времени. Например в top процент st поднимается выше 0, когда запрошено много процессорного времени, но оно забронировано.

Cpu(s):  0.7%us,  0.7%sy,  0.0%ni, 98.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Да, это не проблема, просто убедитесь, что вы внимательно следите за ресурсами этих серверов.

По моему опыту, дисковый ввод / вывод в наши дни является гораздо более серьезной проблемой, чем мощность процессора и память ...

Что вам следует сделать, выделить одно ядро ​​процессора и немного оперативной памяти для dom0. Dom0 настроит некоторые буферы в зависимости от выделенной оперативной памяти, и это может привести к некоторому странному поведению, когда оперативная память сжимается (поскольку она выделена для domU) во время работы. Кроме того, вы должны быть уверены, что dom0 всегда может выполнить команду, даже если некоторые domU блокируют все ядра. Ядра, прикрепленные к dom0, не будут выделены domU. Для проверки ресурсов памяти и ЦП как dom0, так и domU используйте xm top

Для этого используйте следующие параметры ядра

dom0_mem=1024M dom0_max_vcpus=1 dom0_vcpus_pin

Вам не нужно делать никаких дополнительных настроек, чтобы ЦП были общими. Просто добавь vcpus=number of cores в файлы конфигурации xen domU, чтобы указать, сколько виртуальных ядер может использовать один domU. Если вы явно не прикрепляете некоторые ядра к domU (используя cpus= в файле конфигурации), dom0 соответственно распределяет нагрузку по всем доступным процессорам / ядрам.