KVM虚拟化专题(1)系统虚拟化

虚拟化
云计算的一个核心思想就是在服务器端提供集中的计算资源。这些计算资源可以被分解成更小的单位去独立服务于不同的用户,也就是在共享物理资源的同时,为每个用户提供隔离,安全,可信的虚拟工作环境,而这一切不可避免的要依赖于虚拟化技术。

这种硬件抽象层的虚拟化又被称为系统虚拟化,是指将一台物理计算系统虚拟化为一台或多台虚拟计算机主机。每个虚拟计算机系统(简称虚拟机)都拥有自己的虚拟硬件,如内存,CPU,网卡等设备,并提供一个独立的虚拟机执行环境。通过虚拟机监控器(VMM,也可以称为Hypervisor)的模拟,虚拟机中的操作系统(Guest OS,客户机操作系统)认为自己仍然是独占一个系统在运行。在一台物理机上运行的每个虚拟机中的操作系统都是完全可以不同的,并且它们的执行环境是完全独立的。

虚拟化的实现方式:

当前主流的虚拟化按照实现方式可以分为两种:

VMM直接运行在硬件平台上,控制所有硬件并管理客户操作系统。客户操作系统运行在比VMM更高的级别。
VMM运行在一个传统的操作系统里(第一层软件),可以看作是第二层软件,而客户机操作系统则是第三层软件层了。KVM跟VitualBOX就是这种实现。

根据VMM所以提供的虚拟化平台类型又可以将VMM分为

无硬件辅助的全虚拟化


基于二进制翻译的全虚拟化
Hypervisor运行在Ring 0
Guest OS运行在Ring 1
机制:异常、捕获、翻译
示例:
VMware Workstation
QEMU
Virtual PC
运行方式:Hypervisor模拟一个CPU给VM,来宾操作系统不需要做任何修改。Hypervisor对来宾操作系统上的ring0上的一些指令进行翻译,变成真正的CPU指令。

半虚拟化:


半虚拟化也称为:超虚拟化,操作系统辅助虚拟化
Hypervisor运行在Ring 0
Guest OS不能直接运行在Ring 0,需要对kernel进行修改,将运行在Ring 0上的,指令转为调用Hypervisor,guest操作系统是直到自己运行在虚拟化平台的,省去了全虚拟化的大量的捕获模拟等操作
Guest OS上的APP运行在Ring 3
示例:Xen

硬件辅助的全虚拟化


Intel VT和AMD-V创建一个新的Ring -1单独给Hypervisor使用
Guest OS可以直接使用Ring 0而无需修改
示例:
VMware Esxi
Microsoft Hyper-V
Xen3.0
KVM

原文地址:http://blog.51cto.com/11970509/2349026

时间: 2024-08-29 18:34:42

KVM虚拟化专题(1)系统虚拟化的相关文章

QEMU KVM Libvirt手册(7): 硬件虚拟化

在openstack中,如果我们启动一个虚拟机,我们会看到非常复杂的参数 qemu-system-x86_64 -enable-kvm -name instance-00000024 -S -machine pc-i440fx-trusty,accel=kvm,usb=off -cpu SandyBridge,+erms,+smep,+fsgsbase,+pdpe1gb,+rdrand,+f16c,+osxsave,+dca,+pcid,+pdcm,+xtpr,+tm2,+est,+smx,+v

centos7 通过kvm+vnc 实现远程桌面虚拟化和创建windows、Linux虚拟机

CentOS7上通过KVM+VNC实现远程桌面虚拟化 安装VNC 安装VNC服务端 在Linux系统上安装VNC yum -yinstall vnc-server yum -y install tigervnc-server 设置远程登录所需要的密码 输入vncserver后会提示输入密码 注:此密码是远程登录时所需要输入的密码 进行vncserver配置 vi /etc/sysconfig/vncservers 设置以下配置值 VNCSERVRES=10000:root(其中10000为桌面号

辛星笔记云计算第五篇即系统虚拟化

虚拟化是表示计算机资源的抽象方法.通过虚拟化,我们可以简化基础设施.系统和软件等计算机资源的表示.访问和管理,并且为这些资源提供标准的接口来接受输入和提供输出.虚拟化技术有很多种,比如网络虚拟化.内存虚拟化.桌面虚拟化和应用虚拟化等等,我们这里主要介绍系统虚拟化. 系统虚拟化通过使用虚拟机管理程序(Virtual  Machine  Monitor,简称VMM)在一台物理机上虚拟和运行一台或者多台虚拟机(Virtual  Machine,简称VM),而且这些虚拟机可以像真实的机器一样运行各种软件

系统虚拟化学习笔记——PCI设备

内容摘自<系统虚拟化:原理与实现> PCI 总线架构 PCI总线是典型的树结构.把北桥中host-PCI桥看做根,总线中其他PCI-PCI桥,PCI-ISA桥(ISA总线转PCI总线桥)等桥设备和 直接连PCI总线的设备看做节点,整个PCI架构可以概括成下图: 通过桥,PCI可以很容易被扩展,并且与其他总线相互挂接,构成整个系统的总线网络.与HOST-PCI桥相连的总线称为总线0, 其他层次总线的编号,是在BIOS(或者操作系统)枚举设备时确定的. 设备标识符 设备标识符可以看做设备在PCI总

QEMU KVM Libvirt手册(8): 半虚拟化设备virtio

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-2

Ubunut12下安装KVM并配置XP系统

转载自:http://blog.csdn.net/tzjavadmg/article/details/8011936 之前一直都在使用VMware,VMware作为一款商业化虚拟机产品,其功能确实非常强大.本人装双系统Win7+Ubuntu12.04,VMware创建的虚拟机可以很好的在双系统之间共享,用起来非常方便. 不过必竟VMware是要钱的,要钱的东西自己玩玩吗还行,真正用到商业环境还是需要考虑成本的,如果有免费且成熟的东西,自然他会成为企业应用的首选. Linux下比较成熟的开源虚拟化

SQL Server 虚拟化(1)——虚拟化简介

本文属于SQL Server虚拟化系列 前言: 现代系统中,虚拟化越来越普遍,如果缺乏对虚拟化工作原理的理解,那么DBA在解决性能问题比如降低资源争用.提高备份还原速度等操作时就会出现盲点.所以基于本人工作环境的情况和大时代的趋势,同时根据个人经验,绝大部分的IT人员都对虚拟化持有怀疑或者保留意见的态度.所以这里开始一个系列文章,介绍SQL Server虚拟化的内容,内容来自 Stairway to Server Virtualizaion ,如后续有更新或者本人有其他内容,也会添加进去. 目前

关于2016 x86服务器虚拟化中对于桌面虚拟化部分的个人理解

2016版 x86服务器虚拟化的Gartner报告已经出来一段时间了,作为一个主要做虚拟桌面的从业者本来感觉这个报告与我没太大关系,看着熟识的XenServer在三四象限来回游荡,也只能是干着急没办法.仅此而已. 不过最近有些朋友拿着一份公众号文章问我说,咋Citrix桌面虚拟化都掉到第四位了?其实吧这种文章,我个人观点看看就好,也不想多评价,今天又被人问起,就写点东西算是从个人角度分析一下这部分内容,作为闲来之时的聊资. 本人没能力把整个x86虚拟化都分析,就只能聊聊其中一个子主题,Produ

(13)虚拟化技术之服务器虚拟化

1.服务器虚拟化的层次 服务器虚拟化分为寄居虚拟化和裸机虚拟化两种 (1)寄居虚拟化的层次: 寄居虚拟化的虚拟化层一般称为虚拟机监控器(VMM) 这类虚拟化架构系统损耗比较大 就操作系统层的虚拟化而言,没有独立的Hypervisor层 如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统 (2)裸机虚拟化的层次 架构中的VMM也可以认为是一个操作系统,一般称为Hypervisor Hypervisor实现从虚拟资源到物理资源的映射 Hypervisor实现了不同虚拟机的运行上下文保护与切