KVM虚拟化技术学习笔记
「已注销」
这个作者很懒,什么都没留下…
展开
-
KVM功能概览
在KVM架构中,虚拟机实现为常规的Linux进程,由标准Linux调用程序进行调度。事实上,每个虚拟CPU显示为一个常规的Linux进程。需要注意的是,KVM本身不执行任何模拟,需要用户空间程序通过/dev/kvm接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序就是大名鼎鼎的QEMU。KVM的功能特性: (1)内存管理 KVM从L原创 2015-05-07 19:02:13 · 1702 阅读 · 0 评论 -
模块化设计的Linux
操作系统内核设计一直分为两个阵营:微内核和单内核。 单内核是两大阵营中一种较为简单的设计,指的是整个内核从整体上作为一个单独的大过程来实现,并且同时运行在一个单独的地址空间内。所有的内核服务都在这样一个大的内核空间运行,内核之间的通信可以简单地实现的函数调用 。这样的设计具有简单高效的特点。但是,如果使用单内核设计,每次对内核作出修改(比如增加或者删除驱动程序),都必须重新编译源代码,生成新的二进原创 2015-05-07 20:21:08 · 1474 阅读 · 1 评论 -
虚拟化技术
虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理优化资源的解决方案。 一般的计算模型抽象成为一定的物理资源和运行于之上的计算元件,它们之间通过定义的物理资源接口进行交互。 虚拟化技术则是通过引入一个新的虚拟化层,对下管理真实的物理资源,对上提供虚拟的系统资源。在实际应用中,资源可以表现为各种各样的形式。例如,如果把操作系统及其提供的系统调用作用资源,那原创 2015-05-07 16:09:04 · 704 阅读 · 0 评论 -
云计算技术
1. Map/Reduce Map/Reduce是Google开发的编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。严格的编程模型使云计算环境下的编程十分简单。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果原创 2015-05-07 15:12:41 · 551 阅读 · 0 评论 -
EPT和VPID简介
EPT(Extended Page Tables,扩展页表),它是针对内存管理单元(MMU)的虚拟化扩展。EPT降低了内存虚拟化的难度(与影子页表相比),也提升了内存虚拟化的性能。 在硬件EPT特性加入之前,影子页表(Shadow Page Tables)是从软件上维护了从客户机虚拟地址(Guest Virtual Address,GVA)到宿主机物理地址(Host Physical Addres原创 2015-05-11 17:07:52 · 6052 阅读 · 0 评论 -
内存配置
内存设置基本参数 在通过QEMU命令行启动客户机时设置内存大小的参数如下:-m megs #设置客户机的内存为megs MB大小默认的单位为MB,也支持加下“M”或“G”作为后缀来显式指定使用MB或GB作为内存分配的单位。如果不设置-m参数,QEMU对客户机分配的内存大小默认值为128MB。free命令显示的总内存是除去了内核执行文件占用内存和一些系统保留的内存之后能使用的内存。原创 2015-05-11 11:22:44 · 472 阅读 · 0 评论 -
CPU模型
每一种虚拟机管理程序(Virtual Machine Monitor,VMM或Hypervisor)都会定义自己的策略,让客户机看起来有一个默认的CPU类型。有的Hypervisor会简单地将宿主机中CPU的类型和特性直接传递给客户机使用,而QEMU/KVM在默认情况下会向客户机提供一个名为qemu64或qemu32的基本CPU模型。QEMU/KVM的这种策略会带来一些好处,如可以对CPU特性提供原创 2015-05-10 21:56:46 · 2850 阅读 · 0 评论 -
vCPU的概念
QEMU/KVM为客户机提供一套完整的硬件系统环境,在客户机看来其所拥有的CPU即是vCPU(virtual CPU)。在KVM环境中,每个客户机都是一个标准的Linux进程(QEMU进程),而每一个vCPU在宿主机中是QEMU进程派生的一个普通线程。在普通的Linux系统中,进程一般有两种执行模式:内核模式和用户模式。而在KVM环境中,增加了第三种模式:客户模式。vCPU在三种执行模式下的不原创 2015-05-10 11:30:21 · 24993 阅读 · 0 评论