Функционал¶
Модуль расширяет функционал драйвера libvirt для гипервизоров KVM и QEMU. Virt позволяет задавать максимальное количество процессорных ядер и оперативной памяти виртуальной машины. Задавать значения можно одной конкретной машине или сразу группе машин по их типу. При этом подключение дополнительных ресурсов происходит «на лету», то есть без перезагрузки виртуальных машин и в пределах, указанных для типа максимальных значений.
Для задания максимальных значений для типа виртуальной машины необходимо указать следующие параметры в метаданных типа виртуальной машины:
cpu:maximum
mem:maximum
Где:
cpu:maximum
- значение для максимального количества ядер процессора;mem:maximum
- значение для максимального количества оперативной памяти в Кбайтах.
После этого вновь создаваемые виртуальные машины будут наследовать от типа максимально допустимые параметры.
Для задания текущих значений для конкретных виртуальных машин нужно в метаданных указать:
cpu:current
mem:current
Где:
cpu:current
- значение для текущего количества ядер процессора;mem:current
- значение для текущего количества оперативной памяти в Кбайтах.
Если гостевая система виртуальной машины поддерживает горячее подключение ядер процессора и оперативной памяти, то эти значения будут применены без перезагрузки. В противном случае эти значения будут заданы только после перезапуска, при этом сохраненные максимальные и текущие значения сохраняются для виртуальной машины.
По умолчанию подключенная оперативная память сразу доступна в гостевой системе. Ядра процессора же подключаются в выключенном (offline) состоянии.
Их можно перевести в online состояние командой:
echo 1 > /sys/devices/system/cpu/cpu<номер>/online
Для того, чтобы ядра подключались сразу в online, необходимо:
В метаданных образа (или снимка виртуальной машины, или др.), с которого запускается гостевая система указать флаг
hw_qemu_guest_agent
со значениемyes
. Эта опция создает канал для подключения к qemu guest agent на гостевой системе:nova image-meta <id-image> set hw_qemu_guest_agent=yes
Установите на гостевой системе qemu guest agent:
apt-get install -y qemu-guest-agent systemctl enable qemu-guest-agent systemctl start qemu-guest-agent
При задании количества ядер меньше текущего значения отключенные ядра переходят в состояние offline и полностью отключаются от системы при перезагрузке.
Передача информации об аппаратном обеспечении виртуальной машины¶
Для того, чтобы настроить передачу данных об аппаратном обеспечении виртуальной машины, необходимо:
- Установить и настроить Nova Virt Driver;
- Настроить сбор информации об аппаратном обеспечении вычислительных узлов средствами модуля Agent.
При создании виртуальной машины через Nova Virt Driver информация об аппаратном обеспечении передается в каталог
/tmp
создаваемой виртуальной машины. Информация представлена в виде двух файловcpu.info
иharware.info
:Файл
/tmp/cpu.info
содержит столбцы:Processor number NUMA node Cores Где:
- Processor number - порядковый номер процессора виртуальной машины;
- NUMA node - это порядковый номер NUMA-ноды, которой принадлежит устройство;
- Cores – порядковые номера ядер процессора вычислительного узла.
Файл
/tmp/harware.info
содержит столбцы:Device model Device type NUMA node Где:
- Device model - это модель устройства;
- Device type - это тип устройства (например: сетевое, HBA, FC);
- NUMA node - это порядковый номер NUMA-ноды, которой принадлежит устройство.