5.4 虚拟机设备热插拔
1. CPU热插拔
# virsh setvcpus vm 16 --current --guest //设置vm虚拟机的vcpu数量为16
# virsh setvcpus vm 16 --config --guest //只修改虚拟机配置,下次启动生效
# virsh setvcpus vm 16 --live --guest //只有虚拟机正在运行才有效果,下次启动设置消失
2. 内存热插拔
使用balloon设备进行内存删减,这种方式不是内存热插拔。设置内存为1G,如果当前小于1G则增加内存,如果大于1G则删除内存。
# virsh setmem vm 1G --config //只修改虚拟机配置,下次启动生效
# virsh setmem vm 1G --live //只有虚拟机正在运行才有效果,下次启动设置消失
# virsh setmem vm 1G --live --config //上面两者的综合效果,既影响当前运行状态,而且重启仍然有效
标准内存热插拔通过 qemu monitor: device_add
和 device_del
来插拔内存设备,详情见 qemu doc
3. 网卡热插拔
插入bridge类型网卡
# virsh attach-interface --domain vm --type bridge --source virbr0 --model virtio --config --live
插入nat类型网卡
## virsh net-list
Name State Autostart Persistent
--------------------------------------------
default active yes yes
# virsh attach-interface --domain vm --type network --source default --model virtio --config --live
拔出bridge网卡
# virsh detach-interface --domain vm --type bridge --mac 52:54:00:f6:26:66 //根据mac来选择拔出哪个网卡
拔出nat类型网卡
# virsh detach-interface --domain vm --type network --mac 52:54:00:f6:26:66 //根据mac来选择拔出哪个网卡
4. 磁盘热插拔
# qemu-img create -f qcow2 /var/lib/libvirt/images/data.img 1G //创建一个额外的1G存储文件
# virsh attach-disk vm /var/lib/libvirt/images/data.img --target vdb --persist --subdriver qcow2 //将data.img添加给虚拟机,占用盘符vdb, 并且修改配置使得下次重启生效
# virsh detach-disk vm --target vdb //将vdb从虚拟机中拔出