Настройка модели ЦП виртуальных машин
По умолчанию виртуальные машины создаются с моделью ЦП хоста. Если серверы в вычислительном кластере имеют разные ЦП, может не работать динамическая миграция ВМ либо могут неправильно работать приложения внутри ВМ, зависящие от конкретных ЦП. Во избежание этого можно определить, какая модель ЦП обеспечивает совместимость по всем серверам в вычислительном кластере, и вручную установить ее для кластера по умолчанию. Однако в этом случае модель ЦП вычислительного кластера будет наименее продвинутая и вычислительные серверы потеряют возможности более производительного процессора.
Чтобы вывести список поддерживаемых моделей ЦП, выполните команду vinfra service compute show.
Ограничения
- Изменение модели ЦП влияет только на новые ВМ (то есть созданные после изменения).
Предварительные условия
- Должен быть создан вычислительный кластер, как описано в разделе Создание вычислительного кластера.
Чтобы задать модель ЦП для вычислительного кластера
Выполните следующие действия:
- Выполните команду
virsh capabilitiesна всех вычислительных узлах, чтобы распечатать документ XML с данными о ЦП узла. -
На одном из узлов создайте файл XML, например cpu-compare.xml. Добавьте разделы
<cpu>изо всех узлов в этот файл, например:<cpu> <arch>x86_64</arch> <model>SandyBridge-IBRS</model> <vendor>Intel</vendor> <counter name='tsc' frequency='2099999000' scaling='yes'/> <topology sockets='1' cores='16' threads='2'/> <feature policy='require' name='vme'/> <feature policy='require' name='ds'/> <feature policy='require' name='acpi'/> <feature policy='require' name='ss'/> <feature policy='require' name='ht'/> <feature policy='require' name='tm'/> <feature policy='require' name='pbe'/> <feature policy='require' name='dtes64'/> <feature policy='require' name='monitor'/> <feature policy='require' name='ds_cpl'/> <feature policy='require' name='vmx'/> <feature policy='require' name='smx'/> <feature policy='require' name='est'/> <feature policy='require' name='tm2'/> <feature policy='require' name='xtpr'/> <feature policy='require' name='pdcm'/> <feature policy='require' name='pcid'/> <feature policy='require' name='dca'/> <feature policy='require' name='arat'/> <feature policy='require' name='md-clear'/> <feature policy='require' name='stibp'/> <feature policy='require' name='ssbd'/> <feature policy='require' name='xsaveopt'/> <feature policy='require' name='pdpe1gb'/> <feature policy='require' name='invtsc'/> </cpu> <cpu> <arch>x86_64</arch> <model>Skylake-Server</model> <vendor>Intel</vendor> <counter name='tsc' frequency='2099999000' scaling='yes'/> <topology sockets='1' cores='16' threads='2'/> <feature name='ds'/> <feature name='acpi'/> <feature name='ss'/> <feature name='ht'/> <feature name='tm'/> <feature name='pbe'/> <feature name='dtes64'/> <feature name='monitor'/> <feature name='ds_cpl'/> <feature name='vmx'/> <feature name='smx'/> <feature name='est'/> <feature name='tm2'/> <feature name='xtpr'/> <feature name='pdcm'/> <feature name='dca'/> <feature name='tsc_adjust'/> <feature name='cmt'/> <feature name='intel-pt'/> <feature name='pku'/> <feature name='md-clear'/> <feature name='stibp'/> <feature name='arch-capabilities'/> <feature name='xsaves'/> <feature name='invtsc'/> <feature name='rdctl-no'/> <feature name='ibrs-all'/> <feature name='skip-l1dfl-vmentry'/> <feature name='mds-no'/> <pages unit='KiB' size='4'/> <pages unit='KiB' size='2048'/> <pages unit='KiB' size='1048576'/> </cpu>
-
Сравните характеристики ЦП с помощью команды
virsh cpu-baseline, например:# virsh cpu-baseline cpu-compare.xml | grep model <model fallback='allow'>SandyBridge</model>
Команда выведет наиболее совместимую модель ЦП для всех серверов. В рассмотренном примере это SandyBridge.
-
Установите эту модель ЦП для вычислительного кластера, например:
# vinfra service compute set --cpu-model SandyBridge