硬件虚拟化

虚拟化技术

匿名 (未验证) 提交于 2019-12-02 23:43:01
虚拟化类型   在虚拟化蓬勃发展的这些年里,虚拟化可以根据不同划分标准进行分类,包括全虚拟化,CPU 虚拟化,硬件虚拟化,服务器虚拟化,桌面虚拟化等等。我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用 Hypervisor,隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(即虚拟机)。   这种分类并不是绝对的,一个优秀的虚拟化软件往往融合了多项技术。例如 VMware Workstation 是一个著名的全虚拟化的 VMM,但是它使用了一种被称为动态二进制翻译的技术把对特权状态的访问转换成对影子状态的操作,从而避免了低效的 Trap-And-Emulate (陷入-模拟)的处理方式,这与半虚拟化相似,只不过半虚拟化是静态地修改程序代码。对于半虚拟化而言,如果能利用硬件特性,那么虚拟机的管理将会大大简化,同时还能保持较高的性能。   下面分别介绍四类主流的分类方法: 从虚拟化的层次划分,主要分为软件辅助的虚拟化和硬件辅助的虚拟化。 软件辅助虚拟化:通过软件的方法,让客户机的特权指令陷入异常,从而触发宿主机进行虚拟化。主要使用的技术就是优先级压缩和二进制代码翻译。 硬件辅助虚拟化:是指在 CPU 中加入新的指令集和处理器运行模式,完成虚拟化操作系统对硬件资源的的直接调用。典型技术指的是 Intel VT,AMD-V。 从虚拟平台角度分为全虚拟化和半虚拟化

云数据中心架构

匿名 (未验证) 提交于 2019-12-02 23:35:02
云数据中心架构 最近一次更新博客是去年5月份,到现在已经8个月了,不找借口了就是懒。我一直认为只有 能够分享出来的知识才真正属于自己,分享出去的才是自己的。最近在学华为数据中心认证课程 ,之前也有拜读过《银行信息系统架构》和《商业银行私有云设计与实现》系列丛书, 对于现代 云数据中心架构有了一些自己的想法,每个人在这个世界上都在不断探索,学习的过程就是在不 断刷新自己的认知域,也许在某一天或豁然开朗,也希望这次分享能够对学习感兴趣的兄产生一 些启发。 数据中心分为传统数据中心IDC和现代数据中心CDC(云数据中心),现在绝大多数数据中心 已经由IDC向CDC转变。这些转变在底层的基础设施部分并没有太多体现,不同的是CDC是将底 层的计算、网络、存储等各类资源用软件纳管起来,之后纳入同一个云资源池。说白了把各类资 源聚集到一起从而形成了云。(目前纳管CDC各类资源的系统软件是openstack,由于代码开源 故各个厂商都在openstack的基础上更新优化出符合自家产品特性的云管软件,如华为的“Fusion Sphere OpenStack”。) 传统数据中心遇到了很多问题,如“资源利用率下降、设备种类多且分 散各地难以管理、业务上线速度慢等特点。而云数据中心引入了“资源池化“和”自动化”2个概念, 将各类资源先资源池化,再在次基础上做资源自动化。自动化从本质上提升了新业务上线速度

基于ubuntu 14.04 kvm虚拟化部署

匿名 (未验证) 提交于 2019-12-02 21:53:52
1. 宿主机环境(dell备份服务器) Ubuntu 14.04 LTS 64位 内存:16G 硬盘:2T 2. 确认CPU是否支持硬件虚拟化 root@shwilling:~# egrep -o '(vmx | svm)' /proc/cpuinfo vmx vmx 如果有结果显示就OK 2. 安装相关软件包 apt-get install qemu-kvm qemu-system libvirt-bin bridge-utils qemu-kvm是虚拟机 bridge用于网络桥接虚拟机和宿主机之间通信 apt-get install virt-manager python-spice-client-gtk virt-manager为虚拟机管理程序(在x window中运行,需要用到python-spice-client-gtk) 3. 执行下面的命令查看kvm是否安装成功 root@shwilling:~# kvm-ok 输出如下: INFO: /dev/kvm exists KVM acceleration can be used 如果输出是这样: INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used 表明CPU不支持硬件虚拟化,还可以跑虚拟机不过非常慢

KVM虚拟机的认知

人盡茶涼 提交于 2019-12-01 19:35:43
Kernel-based Virtual Machine简称KVM,是一个开源的 系统虚拟化 模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于 Xen ,其核心源码很少。KVM目前已成为学术界的主流 VMM 之一。 使用virt-what,查看具体的虚拟化技术, KVM的虚拟化需要硬件支持(如 Intel VT 技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的 进程调度 器, 存储管理 模块等,所以代码较为庞大。广为流传的 商业系统 虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。 在计算机技术中,虚拟化意味着创建设备或资源的虚拟版本,如服务器,存储设备,网络或者操作系统等等 虚拟化技术分类: a.系统虚拟化(我们主要讨论的反向) b.存储虚拟化(raid,lvm) c.网络虚拟化(sdn) d.GPU虚拟化(比特币) e.软件虚拟化 f.硬件支持虚拟化 系统虚拟化 来源: https://www.cnblogs.com/cxq20190307/p/11714821.html

qemu,kvm,qemu-kvm,xen,libvirt的区别

百般思念 提交于 2019-12-01 18:55:00
KVM: (Kernel-based Virtual Machine)基于内核的虚拟机 KVM是集成到Linux内核的Hypervisor ,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。 从存在形式看, KVM是两个内核模块kvm.ko和kvm_intel.ko(对AMD处理器来说,就是kvm_amd.ko),这两个模块用来实现CPU的虚拟化。 如果要让用户在KVM上完成一个虚拟机相关的操作,显然需要用户空间的东西,同时还包括IO虚拟化,所以KVM的解决方案借鉴了QEMU的东西并做了一定的修改,形成了自己的KVM虚拟机工具集和IO虚拟化的支持,也就是所谓的qemu-kvm. (KVM is a fork of QEMU, namely qemu-kvm) Xen Xen是第一类运行再裸机上的虚拟化管理程序(Hypervisor)。它支持全虚拟化和半虚拟化,Xen支持hypervisor和虚拟机互相通讯,而且提供在所有Linux版本上的免费产品,包括Red Hat Enterprise Linux和SUSE Linux Enterprise Server。Xen最重要的优势在于半虚拟化,此外未经修改的操作系统也可以直接在xen上运行

qemu,kvm,qemu-kvm,xen,libvir 区别

杀马特。学长 韩版系。学妹 提交于 2019-11-30 14:28:45
KVM:(Kernel-based Virtual Machine)基于内核的虚拟机 KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。 从存在形式看, KVM是两个内核模块kvm.ko和kvm_intel.ko(对AMD处理器来说,就是kvm_amd.ko),这两个模块用来实现CPU的虚拟化。 如果要让用户在KVM上完成一个虚拟机相关的操作,显然需要用户空间的东西,同时还包括IO虚拟化,所以KVM的解决方案借鉴了QEMU的东西并做了一定的修改,形成了自己的KVM虚拟机工具集和IO虚拟化的支持,也就是所谓的qemu-kvm. (KVM is a fork of QEMU, namely qemu-kvm) Xen Xen是第一类运行再裸机上的虚拟化管理程序(Hypervisor)。它支持全虚拟化和半虚拟化,Xen支持hypervisor和虚拟机互相通讯,而且提供在所有Linux版本上的免费产品,包括Red Hat Enterprise Linux和SUSE Linux Enterprise Server。Xen最重要的优势在于半虚拟化,此外未经修改的操作系统也可以直接在xen上运行

深度实践KVM(1-8章)

浪子不回头ぞ 提交于 2019-11-30 12:33:47
第一章  企业虚拟化选型与KVM介绍 1.1 KVM的前世今生   1.虚拟化技术的演进过程     软件模拟——>虚拟化层翻译——>容器虚拟化         虚拟化层翻译可以分为:       (1)软件捕捉翻译,即软件全虚拟化       (2)改造虚拟机系统内核加虚拟化层翻译,即半虚拟化       (3)硬件支持的虚拟化层翻译,即硬件支持的全虚拟化 软件模拟技术:通过软件完全模拟CPU、芯片组、磁盘、网卡等计算机硬件,如下图所示: 软件模拟的特点:可以模拟任何硬件,但非常低效,一般只用于研究测试的场景。 虚拟化层翻译技术: (1)软件全虚拟化方案:通过虚拟化引擎,捕捉虚拟机的指令并进行处理。当然也会和物理机指令是区分开的。(效率低) (2)半虚拟化方案:对虚拟机的操作系统内核进行改造,是虚拟机自己对特殊的指令进行更改,然后和虚拟化层一起工作。 (效率一般) (3)硬件支持的全虚拟化技术方案:对CPU指令进行改造,即VT-x或AMD-v, 对I/0通信的硬件解决方案,即VT-d, 对网络通信的硬件解决方案,即VT-c. 容器虚拟化技术:基于CGroups、Namespace等技术将进程隔离,每个进程就像一台单独的虚拟机一样,有自己被隔离出来的资源,也有自己的根目录、独立的进程编号、被隔离的内存空间。   2. KVM的架构             如上图所示:       

优秀的运维

二次信任 提交于 2019-11-30 05:46:10
硬件,网络,存储,数据库,操作系统,虚拟化系统,中间件程序 ,业务应用程序 1,部署规划,部署文档,配置记录 2,监控系统,报警 3,故障解决记录,文档 , 巡检,安全检查 ,运维报告 4,日志系统 5,数据备份,数据恢复,数据恢复演练 6,自动扩容,自动缩容 7,系统优化,架构优化 8,运营数据 来源: https://www.cnblogs.com/li-tian-jun/p/11563831.html

QEMU和QEMU-KVM的关系

丶灬走出姿态 提交于 2019-11-30 04:17:58
不同的基于KVM的虚拟化平台,可能会采用不同的虚拟化组件,目前主流的采用QEMU-KVM组件,但在不同的产品里版本有所不同,功能也有差异,下面就几个概念进行梳理下 KVM:Kernel-Based Virtual Machine 基于内核的虚拟机,是Linux内核的一个可加载模块,通过调用Linux本身内核功能,实现对CPU的底层虚拟化和内存的虚拟化,使Linux内核成为虚拟化层,需要x86架构的,支持虚拟化功能的硬件支持(比如Intel VT,AMD-V),是一种全虚拟化架构。KVM在2007年年2月被导入Linux 2.6.20内核中。从存在形式来看,它包括两个内核模块:kvm.ko 和 kvm_intel.ko(或kvm_amd.ko),本质上,KVM是管理虚拟硬件设备的驱动,该驱动使用字符设备/dev/kvm(由KVM本身创建)作为管理接口,主要负责vCPU的创建,虚拟内存的分配,vCPU寄存器的读写以及vCPU的运行。 QEMU:是一套由Fabrice Bellard编写的模拟处理器的自由软件,它是一个完整的可以单独运行的软件,可以独立模拟出整台计算机,包括CPU,内存,IO设备,通过一个特殊的“重编译器”对特定的处理器的二进制代码进行翻译,从而具有了跨平台的通用性。QEMU有两种工作模式:系统模式,可以模拟出整个电脑系统,另一种是用户模式

Xen虚拟化之一:Xen环境组件详解

末鹿安然 提交于 2019-11-29 17:16:39
Xen 是一个开放源代码虚拟机监视器 (Virtual Machine Monitor ,简称为 VMM) ,由剑桥大学开发,它致力于实现在单个计算机上运行多达 128 个有完全功能的操作系统。 Xen 通过一种叫做半虚拟化 (paravirtualization) 的技术获得高效能的表现(较少的效能损失,典型的情况下大约损失 2% ,在最糟的情况下会有 8% 的效能耗损;与其它使用完全的虚拟化却造成最高到 20% 损耗的其他解决方案形成一个明显的对比),甚至在某些与传统虚拟技术极度不友好的架构上( x86 ), Xen 也有极佳的表现。 Xen 虚拟化环境由几个虚拟化组件协同实现: Xen Hypervisor 、 Domain 0 和 Domain U 。 Xen 架构 ( 图片来源: http://wiki.xen.org/wiki/Xen_Overview ) 1.1 Xen Hypervisor Xen Hypervisor 是计算机硬件的软件抽象层,它直接运行于硬件之上,并将其计算能力通过抽象接口 ( 虚拟机 ) 提供给运行于其上的任何操作系统。它的首要任务在各虚拟机之间进行 CPU 资源调度、内存资源分配及中断请求管理,并负责控制共享处理环境的各虚拟机的执行。但它并不负责实现计算机系统应该具备的网络、外部存储设备、显示设备或其它通用 I/O 功能等。 1.2 Dom0