文档章节

服务器虚拟化(二):KVM

诸葛孔明亮
 诸葛孔明亮
发布于 2016/10/27 18:16
字数 605
阅读 13
收藏 1

前言

    KVM(Kernel-based Virtual Machine):基于内核的虚拟机。

    是一种用于 Liunx 内核中的虚拟化基础设施,可以将 Linux 内核转化为一个 hypervisor(virtual machine monitor 虚拟机器监视器),KVM 在 07 年 2 月被导入 Linux 2.6.20 内核版本中。

 

虚拟技术分类

    VPS(Virtual Private Server,虚拟专用服务器),使用的虚拟技术有 openVZ、KVM、xen、VMware 等。

    而虚拟化又分全虚拟化和半虚拟化,区别在于是否有 API 让客户操作系统直接能调用硬件指令,半虚拟化因为可以绕过 hypervisor 直接作用与硬件(主要是 CPU),这样它的性能就会有所提高,不需要经过 hypervisor,而随着 Intel AMD 等硬件厂商对于硬件虚拟化技术的不断完善,对虚拟化的支持越来越好,以后虚拟化的性能将无限趋近与物理机。

    openVZ:一款开源的虚拟化框架,本身是运行在 linux 之上的,属于系统级的全虚拟化软件,openVZ 貌似不能安装 windows,由于是运行在操作系统之上的,也就意味着在系统级别的低权重开销和灵活的配置。

    xen:一款常见的半虚拟化技术(也可以支持全虚拟化,但是更新的时候需要重新编译整个内核),大都是使用半虚拟化的,运行在裸机上的 hypervisor,本身相当于独立运行的一是内核实例,可加载内核模块,虚拟的内存和 I/O,稳定性高,内存占用小。(VMware 的 ESXi 也是运行在裸机上的 hypervisor)

    kvm:基于内核的虚拟机,轻量级的虚拟化管理程序模块,全虚拟化的解决方案,需要 CPU 的虚拟化支持(intel-VT 和 AMD-V),嵌在 linux 内核里面(kvm 写入内核了,xen 估计就很难再写入内核了)。

    现阶段来说,xen 和 ESXi 等半虚拟化技术性能可能更高,稳定性也比较好,但是随着硬件加速(即命令不需要经过 hypervisor 转交直接作用与硬件)等新的技术出现之后,虚拟化也会接近物理机的性能了。

    由于 KVM 被写进内核,得到了开源社区的支持,应该会越来越好。

 

KVM 原理

 

 

© 著作权归作者所有

共有 人打赏支持
诸葛孔明亮
粉丝 2
博文 64
码字总数 53931
作品 0
浦东
运维
Openstack 云计算 (一): kvm 虚拟机配置

Openstack 云计算 (一): kvm 虚拟机配置 标签(空格分隔):openstack系列 一、 关于虚拟化 1.1、虚拟化的概念 2.它是由Quramnet 开发,该公司于2008 年被Redhat 收购。 支持X86(32 and ...

flyfish225
05/24
0
0
KVM虚拟机共享存储动态迁移与冷迁移

运行环境 一、 配置nfs共享服务器 二、 配置KVM虚拟化 三、 创建桥接网卡 四、 配置kvm服务器并实现动态迁移 五、 配置冷迁移 运行环境 KVM虚拟机两台(linux 7.4) IP地址:192.168.80.100(...

小珊瑚ss
04/13
0
0
在centos 6.2 安装kvm 虚拟化

kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少...

dmh324
2014/07/04
0
0
Xen、OpenVZ、KVM、Hyper-V、VMWare虚拟化技术介绍

国内外vps主机提供商所提供的主机大多是基于Xen、OpenVZ、KVM、Hyper-V、VMWare五种虚拟化技术。 一、Xen 官网:http://xen.org/ Xen 由剑桥大学开发,它是基于硬件的完全分割,物理上有多少...

itviewer
2015/08/10
0
0
redhat6.5下安装配置kvm虚拟机

-------------------------- 一、前言 二、环境 三、安装与配置 四、创建kvm虚拟机 五、管理kvm虚拟机 六、克隆kvm虚拟机 七、网络配置(bridge) 附1:宿主机执行以下指令(shutdown,reboot)虚...

_诺千金
2014/10/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Python基础案例教程

一、超市买薯片 # 用户输入薯片的单价danjia = float(input("薯片的单价"))# 用户输入购买袋数daishu = int(input("购买的袋数"))# 计算总价zongjia = danjia * daishu# 输出结果...

linuxprobe16
47分钟前
0
0
采用CXF框架发布webservice

package cn.it.ws.cxf.a;import javax.jws.WebParam;import javax.jws.WebResult;import javax.jws.WebService;@WebService(serviceName="languageManager")public interface ......

江戸川
49分钟前
0
0
HashMap工作原理及实现

HashMap工作原理及实现 1. 概述 什么时候会使用HashMap?他有什么特点? 知道HashMap的工作原理吗? 知道get和put的原理吗? 知道hash的实现吗?为什么要这样实现? 如果HashMap的大小超过了...

傅小水water
56分钟前
1
0
swagger如何屏蔽某些接口,不对外公开--使用@ApiIgnore

@ApiIgnore@RestController@RequestMapping(value = "/i18nTest")public class I18nTestController {// @Resource// private LocaleMessageSourceService localeMessageSourceSe......

karma123
今天
1
0
大数据技术学习,大数据处理为何选择Spark,而不是Hadoop

大数据处理为何选择Spark,而不是Hadoop。 一.基础知识 1.Spark Spark是一个用来实现快速而通用的集群计算的平台。 在速度方面,Spark扩展了广泛使用的MapReduce计算模型,而且高效地支持更多...

董黎明
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部