QEMU KVM Libvirt手册(8): 半虚拟化设备virtio
来源:互联网 发布:域名续费可以改地方吗 编辑:程序博客网 时间:2024/04/30 09:04
KVM本身并不提供半虚拟化功能,是通过virtio来实现的
The benefits of virtio drivers are of lower overhead and higher performance.
Memory Ballooning (virtio_balloon)
memory ballooning可以动态调整guest的内存的大小
如果有-m参数,则向更大的内存调整时无效的,但是可以往小的里面调整
我们首先ssh到guest里面
ip netns exec qrouter-26a45e0e-a58a-443b-a972-d62c0c5a1323 ssh -i openstack.pem ubuntu@192.168.0.35
在虚拟机里面看内存的大小
ubuntu@testinject19:~$ free
total used free shared buffers cached
Mem: 2051748 478276 1573472 0 46620 345908
-/+ buffers/cache: 85748 1966000
Swap: 0 0 0
在Monitor上看balloon的大小
root:/home/cliu8# virsh qemu-monitor-command instance-00000024 --hmp "info balloon"
balloon: actual=2048
我们试图往大里调整
root:/home/cliu8# virsh qemu-monitor-command instance-00000024 --hmp "balloon 4096"
发现无效
root:/home/cliu8# virsh qemu-monitor-command instance-00000024 --hmp "info balloon"
balloon: actual=2048
total used free shared buffers cached
Mem: 2051748 478276 1573472 0 46628 345920
-/+ buffers/cache: 85728 1966020
Swap: 0 0 0
我们往小里调整内存
root:/home/cliu8# virsh qemu-monitor-command instance-00000024 --hmp "balloon 1024"
发现生效了
root:/home/cliu8# virsh qemu-monitor-command instance-00000024 --hmp "info balloon"
balloon: actual=1024
ubuntu@testinject19:~$ free
total used free shared buffers cached
Mem: 1003172 470796 532376 0 46636 345920
-/+ buffers/cache: 78240 924932
Swap: 0 0 0
有了balloon,如果guest需要更多的RAM,则可以给它增加一些内存。如果guest不需要那么多内存,可以通过balloon从中拿出一部分内存。这个过程,不需要启停虚拟机。
balloon driver像是一个特殊的process,运行在guest机器上,它可以扩大自己的内存,使得其他的应用程序的内存减少,也可以缩小内存,使得其他的应用程序内存增加。
guest中的balloon driver通过virtio channel和host进行交互,接收host发来的命令,比如发来的命令式减少内存,则balloon driver就扩大它的内存占有量。
然后balloon driver将自己占有的内存交回给host,使得host有了更多的内存。
对于libvirt而言,有currentMemory和maxMemory两种概念,maxMemory就是-m参数设定的,currentMemory就是balloon设定的。
Para-virtualized network interface cards (virtio_net)
-netdev tap,fd=32,id=hostnet0,vhost=on,vhostfd=37
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:d1:2d:99,bus=pci.0,addr=0x3
Para-virtualized block devices (virtio_blk)
-drive file=/var/lib/nova/instances/1f8e6f7e-5a70-4780-89c1-464dc0e7f308/disk,if=none,id=drive-virtio-disk0,format=qcow2,cache=none
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
- QEMU KVM Libvirt手册(8): 半虚拟化设备virtio
- qemu-kvm virtio 虚拟化-----Linux客户机 virtio设备初始化
- qemu-kvm virtio 虚拟化-----Linux客户机 virtio设备初始化
- QEMU KVM Libvirt手册(7): 硬件虚拟化
- qemu-kvm virtio 虚拟化-----Linux客户机 virtio设备初始化 (基于Qemu2.0.0 & kernel 3.10.0)
- 【虚拟机】虚拟化技术以及KVM、QEMU与libvirt介绍
- virtio基本原理(kvm半虚拟化驱动)
- QEMU KVM libvirt 手册(1): 安装
- QEMU KVM libvirt手册(2): monitor
- QEMU KVM libvirt 手册(3) - Storage Media
- QEMU KVM libvirt手册(4) – images
- QEMU KVM Libvirt手册(5) – snapshots
- QEMU KVM Libvirt手册(9): network
- QEMU KVM Libvirt手册(11): Managing Storage
- QEMU KVM libvirt手册(4) – images
- QEMU KVM Libvirt手册(5) – snapshots
- QEMU KVM Libvirt手册(5) – snapshots
- QEMU KVM Libvirt手册(10):Managing Virtual Machines with libvirt
- Oracle BEGIN END
- dom4j 生成xml 并将其格式化
- 进入Material Design时代
- 解决windows中文冲突
- QEMU KVM Libvirt手册(7): 硬件虚拟化
- QEMU KVM Libvirt手册(8): 半虚拟化设备virtio
- Android API文档 GridView
- 双端队列实现分析
- 黑马程序员——集合框架的构成和分类
- iOS日期格式总结大全
- Eclipse更改皮肤
- 猴子吃桃(递归)
- 为window7系统下常用软件设置快捷方式
- 黑马程序员—Objective-C学习—Foundation—结构体和NSString