StratoVirt поддерживает горячую замену и горячую выемку процессоров для работающей виртуальной машины. Эта функция позволяет динамически настраивать ресурсы процессора виртуальной машины. В настоящее время эта функция поддерживает только стандартные виртуальные машины x86_64 и не включает архитектуру NUMA.
Сначала создайте виртуальную машину.
$ ./stratovirt \
-machine q35 \
-smp [cpus=]<n>,maxcpus=<max_cpus> \
-m 512 \
-kernel path/to/kernel \
-append "console=ttyS0 root=/dev/vda reboot=k panic=1" \
-drive file=path/to/OVMF_CODE.fd,if=pflash,unit=0,readonly=true \
-device pcie-root-port,port=0x0,addr=0x1.0x0,bus=pcie.0,id=pcie.1 \
-drive file=path/to/rootfs,id=rootfs,readonly=true \
-device virtio-blk-pci,drive=rootfs,bus=pcie.1,addr=0x0.0x0,id=blk-0 \
-qmp unix:path/to/api/socket,server,nowait \
-serial stdio
cpus
: устанавливает количество процессоров, запускаемых при запуске виртуальной машины, равным 'n' (по умолчанию: 1). Процессоры, установленные с помощью параметра cpus
, будут полностью включены после запуска виртуальной машины, и эти процессоры не поддерживают горячую выемку.maxcpus
: устанавливает общее количество процессоров виртуальной машины, включая онлайн и офлайн процессоры. Количество офлайн процессоров также является количеством процессоров, поддерживающих горячую замену. Значение maxcpus
не может быть меньше значения cpus
.После запуска виртуальной машины используйте QMP для горячей замены процессора.
$ ncat -U /path/to/api/socket
{"QMP":{"version":{"qemu":{"micro":1,"minor":0,"major":5},"package":"StratoVirt-2.4.0"},"capabilities":[]}}
-> {"execute": "device_add","arguments": { "id": "device-id", "driver": "generic-x86-cpu", "cpu-id": cpuid }}
<- {"return":{}}
<- {"event":"CPU_RESIZE","data":{},"timestamp":{"seconds":seconds, "microseconds":microseconds}}
id
: идентификатор устройства процессора, который должен быть уникальной строкой в глобальном масштабе.cpu-id
: номер процессора, диапазон значений — целые числа от cpus
до maxcpus
.Используйте QMP для горячего извлечения процессора:
$ ncat -U /path/to/api/socket
{"QMP":{"version":{"qemu":{"micro":1,"minor":0,"major":5},"package":"StratoVirt-2.4.0"},"capabilities":[]}}
-> {"execute": "device_del", "arguments": { "id": "device-id"}}
<- {"return":{}}
<- {"event":"CPU_RESIZE","data":{},"timestamp":{"seconds":seconds, "microseconds":microseconds}}
Поддерживаемые типы виртуальных машин для горячей замены процессоров:
q35
(на платформе x86_64)Неподдерживаемые устройства и функции для горячей замены процессоров:
numa
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )