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 虚拟机的配置文件路径
浙公网安备 33010602011771号