标签:kvm虚拟化
KVM虚拟化
虚拟化介绍:
VMware,Hyper-v, XenSer, XenClient,
Oracle的VirtualBox,
linux上的开源虚拟化技术: KVM,Xen等。
KVM :
linux内核原生虚拟化技术。
依赖CPU提供的硬件虚拟化技术。
X86平台虚拟化:
虚拟化层叫虚拟机监控器(VMM)也叫Hypervisor. (宿主机)
虚拟出来的平台称为客户机。
软件虚拟化:
纯软件在现有物理平台实现对物理平台访问的截获和模拟。
如QEMU,通过纯软件仿真X86平台的取值,解码和执行。
VMware 使用动态二进制编译技术。可直接在物理平台运行。
硬件虚拟化:
半虚拟化:
软件虚拟化平台完全通过VMM软件实现对虚拟机的监控,
彼此独立和隔离,需要改动客户操作系统,让客户机以为自己运行在虚拟环境下,
能够与VMM协同工作。就叫半虚拟化。
半虚拟化需要修改客户机操作系统的源代码实现主动通知。
效率差。
全虚拟化:
1、在系统之后先加载运行虚拟机监控程序(系统内核)。
运行在底层的软件层。会提供一个具有一定特权的特殊虚拟机,
由特殊虚拟机来运行需要提供给用户日常操作和管理使用的操作系统环境。
开源虚拟化: Xen,
商业软件 VMware ESXi
微软的 Hyper-v
2、宿主机操作系统
虚拟机监控程序是特殊的应用程序。
如KVM,VMware Workstation, VirtualBox.
KVM 架构 :
虚拟机实现为常规的Linux进程。由标准Linux调度程序进行调度。
每个虚拟CPU显示为一个常规的linux进程。
QEMU :
KVM本身需要用户控件程序通过/dev/kvm接口设置一个客户机虚拟服务器的地址控件,
向/dev/kvm提供模拟的I/O,并将它的视频显示映射回宿主的显示屏。
KVM配置管理:
一个linux进程有两种运行模式。
内核和用户,KVM增加了第三种模式:客户模式(有自己内核和用户模式)
软件包工具介绍:
QEMU-KVM :
modprobe命令架子啊KVM模块。
Linux分为内核部分的KVM内核模块和QEMU-KVM工具。
效率不高,不易于使用。
Libvirt :
提供了多种语言接口的API,提供方便,可靠的编程接口。
virsh :
基于文本的管理虚拟机的命令。
virt-manager:
图形用户界面,用python编写的虚拟机管理图形界面。
利用libvirt的API实现。
KVM之虚拟机网络环境
客户虚拟机访问外网:
1、NAT模式:
用户网络(User Networking)
虚拟机访问外网,但是外网不能访问虚拟机。
原理:
KVM默认方式,支持主机与虚拟机的互访,支持虚拟机访问互联网,
不支持外界访问虚拟机。
virbr0 :
宿主机虚拟机支持模块安装时产生的虚拟网络接口,
是一个swith和bridge.负责把内容分发到各虚拟机。
适用范围:
桌面主机虚拟化。
2、Bridge 方式的影响:
作为客户机,只能选择NAT或者Bridge方式。
桥接模式:
虚拟网桥(Virtual Bridge)
较复杂,设置后客户机与互联网,客户机与主机之间通信很容易。
适用于虚拟机集群部署。可高速访问。
原理:
虚拟网桥的网络连接方式:
客户机和虚拟系统能够相互通信。虚拟系统具有独立IP。
桥接网络(物理设备共享)
一个物理设备复制到一台虚拟机。网桥多用作高级设置。
适用于主机多个网络接口。
网桥的基本原理:
创建一个桥接接口br0,在物理网卡和虚拟网络接口之间传递数据。
适用范围:
服务器主机虚拟化。
本文出自 “安然一笑” 博客,请务必保留此出处http://liyuanjie.blog.51cto.com/12877605/1963562
标签:kvm虚拟化
原文地址:http://liyuanjie.blog.51cto.com/12877605/1963562