Genio

kvm

开源的系统虚拟化模块,基于内核的虚拟机kvm是针对包含虚拟化扩展(intel VT或AMD-V)的x86硬件上的linux的完全原声的虚拟化解决方案。

kvm属于完全虚拟化  需要硬件支持(intel vt  或AMD V技术)

和qemu和libvirt的区别

qemu是一个虚拟化技术  就算不用kvm qemu也可以完全实现一个虚拟机  ,虽然kvm技术已经相当成熟  而且可以对很多东西进行隔离,但是在某些方面还是无法虚拟出真实的机器,比如对网卡的虚拟qemu-kvm则能实现这种技术。他补充了kvm的不足,而且对kvm在性能上进行了优化。

libvirt是一系列提供出来的库函数,用其他技术来调用,管理上面的虚拟机 ,包括各种虚拟化技术 比如kvm  xen lxc等    不同的虚拟化技术都可以调用libvirt提供的api对虚拟化进行管理。

完全虚拟化技术实际上是通过软件实现对操作系统的资源再分配,比较成熟 比如kvm  virtualbox 

半虚拟化技术则是通过代码修改已有的系统,形成新的可虚拟化的系统,调用硬件资源去安装多个系统,整体速度上相对高一些,比如xen。

一台可以运行最新linux内核的intel处理器(含vt虚拟化技术)或AMD处理器(含SVM安全虚拟化技术的AMD处理器,也叫AMD-V),需要开启bios虚拟化功能  cpuinfo →virtualization  technology选项设置为enabled

egrep ‘vmx|svm‘   /proc/cpuinfo

输出是vmx  他是intel处理器虚拟机技术的标志  

输出是svm 他是AMD虚拟机技术的标志

如果什么都没有得到,就是系统不支持虚拟化的处理,不能使用kvm

yum install -y kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libguestfs-tools  

 

 

kvm网桥配置实战  

kvm 虚拟机网络配置两种方式: 

NAT模式:让虚拟机访问主机,互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机

bridge模式, 主机和主机之间 ,客户机和主机之间的通信都很容易,使虚拟机成为网络中具有独立ip的主机

kvm虚拟机镜像的选择:raw 格式是原始镜像,会直接当作一个块设备给虚拟机来使用,I/O性能比qcow2高,不支持快照。

qcow2支持镜像快照,zlib磁盘压缩,AES加密等。

无论哪种格式,磁盘的利用率来说,都是一样的,因为实际占用的块数量都是一样的,但是raw的虚拟机会比qcow2的虚拟机IO效率高一些,所以根据实际的应用环境来选择磁盘镜像的格式。

lsmod | grep kvm可以查看kvm模块是否已添加。

/etc/libvirt/qemu  虚拟机的配置文件路径

 

posted on 2019-05-17 17:01  Genio  阅读(209)  评论(0)    收藏  举报