[KVM]云计算概述 - 虚拟化

云计算概述 -- 虚拟化技术

什么是虚拟化

虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。


以上内容来自360百科。

虚拟化分类

1 基于VM对资源访问的模式进行分类

1.1 CPU运行级别

CPU一共有4个运行级别,但是一般来说只是涉及到两个级别,分别是Ring0和Ring3
Ring 0:权限最高,内核运行在Ring0,VMM或者hypervisor
Ring 3:权限最低,用户级别,没有权限操作硬件,如果需要调用硬件资源,那么需要切换到Ring0,这就叫上下文切换,可通过vmstat 查看cs列

[[email protected] ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0    260 528572      0 2440100    0    0    94    69  226  128 11  4 85  0  0
[[email protected] ~]# 

Ring 0是最高指令级别,也称为核心态,如果操作系统需要直接访问硬件和内存的时候,就需要使用特权指令去控制中断、修改页表、访问设备,因此特权指令需要运行在最高运行级别Ring 0 。Ring 3也称为用户态,不能直接执行特权指令,如果需要访问磁盘、写文件时,需要调用系统函数,这样的操作称为用户态到核心态。

我们的电脑操作系统运行的级别是Ring 0,虚拟机软件,比如VMware Workstation 作为一个软件,只能运行在Ring 3,那么VMware Workstation 上面安装的操作系统也属Ring 3,那么虚拟机是怎么运行Ring 0的指令的呢?

首先,虚拟机自己本身并不知道自己是虚拟机,虚拟机在调用资源的时候会把执行特权指令,但是这时候他所处的指令级别为Ring 3,这时候指令不符合将会报错。但是使用过虚拟机的同学都应该清楚,我们运行虚拟机的时候似乎完全没有错,跟物理机差不多,对吧?那因为我们系统中的虚拟机管理程序(VMM)在帮我我们避免这样的问题发生。
根据VMM实现虚拟机对硬件访问的方式,我们分为三种虚拟化。

1.2 全虚拟化


全虚拟化:虚拟机(Ring3)如果执行特权指令(Ring0),那么将会触发异常,因为虚拟机没有权限执行特权指令,VMM(Ring 0)会捕捉该异常,并对该异常做翻译,翻译为可执行的特权指令,然后将正确的结果返回给虚拟机。这时虚拟机会认为自己的特权指令工作正常,可以使用。
全虚拟化的问题:上下文切换过多,性能损耗非常大。(不过现在已经解决了这个问题,后面再讲)

1.3 半虚拟化


半虚拟化:让虚拟机知道自己在虚拟机上跑,工作在非Ring 0 状态,那么它原先在物理机上执行的一些特权指令,就会修改为其他方式,这种方式是可以和VMM约定好的,就像暗号一样,运行在半虚拟化上的虚拟机需要对内核进行定制化,XEN这种就是半虚拟化技术,这样就不会有异常捕捉和翻译的过程了,性能损耗低。
半虚拟化问题:只支持虚拟Linux主机,无法虚拟化Windows,因为Windows不开源,无法修改代码。

1.4 主流的虚拟化模式?

现在主流的虚拟化模式应该是全虚拟化,为什么呢?看了前面的同学可能会有疑惑,为什么不是半虚拟化?全虚拟化不是对CPU性能消耗很大嘛?

是这样的,现在CPU厂商都开始支持虚拟化了,而且是默认支持的,如果不支持的话我们可以在BIOS里面开启,比如英特尔的Intel-VT还有ADM-v。

Intel-VT 技术,支持Intel-VT 的CPU,有VMX root operation 和 VMX non-root operation两种模式,两种模式都支持Ring 0 ~ Ring 3 这 4 个运行级别。这下好了,VMM可以运行在VMX root operation模式下,客户OS运行在VMX non-root operation模式下。

也就说,硬件这层做了些区分,这样全虚拟化下,有些靠“捕获异常-翻译-模拟”的实现就不需要了。而且CPU厂商,支持虚拟化的力度越来越大,靠硬件辅助的全虚拟化技术的性能逐渐逼近半虚拟化,再加上全虚拟化不需要修改客户操作系统这一优势,全虚拟化技术应该是未来的发展趋势。

其实就是使用硬件辅助加速。

Xen是典型的半虚拟化,不过现在也支持硬件辅助的全虚拟化了,而KVM和Vmware一直都是全虚拟化。

其他分类

  1. 服务器虚拟化
  2. 桌面虚拟化
  3. 硬件虚拟化
  4. 应用虚拟化

个人笔记观点,部分内容参考互联网,如有建议或指教,请留言。

arppinging技术社区
欢迎关注的我的个人微信公众号

原文地址:http://blog.51cto.com/xiaowangzai/2123414

时间: 2024-10-16 16:47:16

[KVM]云计算概述 - 虚拟化的相关文章

[KVM]云计算概述-什么是云计算?

云计算概述--什么是云计算 1 什么是云计算? 首先,必须要明确一点,云计算并不是一种具体的技术,而是一种模式,云计算为我们提供了网络访问,让我们能够快速提供资源,使资源易于管理. 云计算有一个非常显著的特点:弹性的.按需付费.怎么去解释这个特点呢,下面我引用某个观点去解释.(PS:我不知道哪本书写的,但是很多人在讲的时候也会引用这个观点,所以这里我无法标注出处,抱歉.) 没有云计算之前我们是这样的:我们把资源比喻为饮用水,传统的物理架构就相当于,以前我们在农村的时候,如果需要用饮用水的话,就得

[KVM]云计算概述-传统架构分析

云计算概述 1 传统数据中心面临的问题 1.1 网络设备(这里主要指的是服务器)资源利用率过低,导致资源浪费. 众所周知,服务器的性能相对较好,但是在传统的物理架构中,对服务器的使用无非是在服务器上安装一个操作系统(别扯多系统,在服务器上无意义).然后在服务器上跑点服务,比如Apache.数据库或其他.在大多数情况下,服务器的资源是空闲的,这也就意味着浪费.那么有人问了,为什么不买低配的服务器呢?这样又省钱又不会浪费,多好.但是大家要想到一个问题,比如一个公司的网站服务器,平时只有1000个访问

云计算概述与KVM

一.云计算概述 云计算主要是一种按需付费的网络模式,这种模式提供可用的.便捷的.按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互.分为三大层:IaaS(基础设施即服务,面向运维人员).PaaS(平台即服务,面向开发人员),SaaS(软件即服务,面向终端用户). 虚拟化分类:服务器虚拟化.桌面虚拟化.应用虚拟化,私有云 1.1 云计算的特点和优势 1)云计算是一种使用模式 2)云计

云计算与虚拟化概述-你不得不知的云计算与虚拟化基础知识

本文主要灵感来自老男孩架构师班-赵班长实战讲解KVM,以及speedy Cloud云公司CEO董伟(董总)云计算与虚拟化讲座,综合整理而来.--为表示感谢--特整理此文分享给大家. 1.1云计算概述 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用程序,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互. 在云计算之前的模式和技术 1.IDC托管 2.IDC租用 3.虚拟主机

科普:KVM与XEN虚拟化环境究竟有何不同?

虚拟化的概念在近些年收到了很大程度上的普及,求其原因很简单:虚拟化能够最大程度利用资源,为企业节约成本.目前市面较受欢迎的虚拟架构主要有KVM.XEN和VMware,其中,KVM和XEN都是免费开源的,而VMware则是付费的,所以,此次笔者只对比KVM.XEN之间的差别. 如果给KVM.XEN简单归类的话,KVM是完全虚拟化技术又叫硬件辅助虚拟化技术(Full Virtualization).相反,XEN是半虚拟化技术(paravirtualization),也叫做准虚拟化技术. KVM是在虚

了解云计算与虚拟化

(一)云计算介绍 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问,进入可配置的计算资源共享池,(资源包括网络.服务器.存储.应用软件.服务),这些资源能够被快速提供,需要投入很少的管理工作,或与服务供应商进行很少的交互. 1:云计算之前的使用模式 IDC 托管 IDC 租用 虚拟主机(买空间) VPS:虚拟专用主机 2:传统数据中心面临的问题 资源使用率低 资源分配不均 自动化能力差 3:云计算的优势 云计算是一种使用模式,不是一种技术 云计算的使用方式:通过网络访问

初识KVM之1——虚拟化介绍及创建KVM虚拟机

一.基础知识 CPU的工作机制 随着云计算的兴起,虚拟化作为云计算的组成部分也火了一把,但虚拟化并不是什么新技术,早在上世纪70年代虚拟化技术就已经出现.传统的CPU由4个环组成,分为:环0--环3,环0只与内核通信,执行特权指令,而环3工作在用户空间,环1.环2预留,每当用户空间发起特权请求时,会立即激活内核空间,此时用户与内核空间的切换称为软中断,用户空间的所有特权指令都必须通过系统调用的方式来完成 全虚拟化.半虚拟化和CPU辅助虚拟化 虚拟化按照实现方式分为:全虚拟化.半虚拟化和CPU辅助

云计算与虚拟化的区别0.0

1.传统数据中心面临的问题 在讲云计算和虚拟化之前,在没有云计算之前我们传统统数据中心面临的问题. 1.1.传统IDC托管 买台机器-放到IDC-安装系统-部署应用-买个域名-绑定上去-对外访问-ICP备案-ICP证(电子商务)-文网文(文化部备案)--公安局备案-接入备案(机房接入备案,备案现在机房管 ) 注销备案 -- 各种坑 北京不支持个人备案转公司备案. 域名转让(官方要求最多72小时)坑 72小时中有可能会出现 两方都给停了的风险. 一般招代理去做 1.2.IDC租用 IDC连续租三年

云计算与虚拟化快速发展下的产业断链

近几年来要IT行业什么东西最火,那莫过于虚拟化.云计算,但一个东西的快速发展,必然带来一系列的问题.而产业链断链是虚拟化与云计算最关键的一个问题,之所以断链的原因在于上层开发商的快速发展,下层系统集成商的响应速度过慢(这是说的过慢是指工程师知识面未能得到及时的填充)及开发商.培训厂商的系统培训与管理机制问题. 一.公司能力 自从虚拟化与云计算火了以后,所以的系统集成商都希望能够从这个大锅里面分到一羹汤,为此虚拟化公司如雨后春笋,增长速度之快让人愕然,他们自己本身公司有没有这个能力不管先做了再说.