首页 > 编程知识 正文

cpu虚拟化超分化,kvm虚拟化与vmware区别

时间:2023-05-05 12:29:04 阅读:164781 作者:2678

这里是目录标题1、虚拟化概述1.1虚拟化定义1.2虚拟化发展历程1.3虚拟化类型1.4虚拟化特征2、KVM概述2.1 kvm定义2.2 KVM虚拟化体系结构/三种型号2.3 kvm原理2.4 KVM工作流

一、虚拟化概述1.1虚拟化定义1.1虚拟化技术将一台计算机虚拟化为多台逻辑计算机,在一台计算机上同时运行多台逻辑计算机,同时每台逻辑计算机可以运行不同的操作系统。 由于APP消除可以在互不影响的相互独立的空间中执行,所以提高计算机生产性的CPU虚拟化技术可以与多个CPU并行模拟单一的CPU。 可以在一个平台上同时运行多个操作系统,并且可以在独立的空间中执行APP,而不会相互影响,从而大大提高计算机的工作效率。 1.2虚拟化历史

雏形:

1961年,IBM709机器实现了时分系统,将CPU占用划分为多个极短的时间片(1/100sec )分别执行不同的工作,轮询这些时间片

将一个CPU伪装成多个CPU

1972年,IBM正式将system370机器的分时系统命名为虚拟机

1990年,IBM推出的system390机器支持逻辑分区。 (将一个CPU分割为多个,相互独立,即逻辑分割) )。

Xen于2003年推出,是一种外部虚拟机管理程序(hypervisor ),可以控制虚拟机并为多个客户机分配资源

KVM:2007年登场,现在嵌入kernel内核

1.3虚拟化类型1、全虚拟化:用软件抽象所有物理硬件资源,最后调用

的方法:来使用虚拟机管理程序(VMM )软件。 其原理是在底层硬件和服务器之间构建抽象层。 另一方面,基于核心的虚拟机的虚拟机管理程序(VMM ) (面向Linux系统的开源产品)捕获CPU指令,并协调对指令硬件控制器和外围设备的访问。

2、半虚拟化:需要更改操作系统

3、直通:直接使用物理硬件资源(需要支持,尚不完善) )。

Xen支持的虚拟化技术:全虚拟化、半虚拟化KVM :支持的虚拟化技术:全虚拟化1.4虚拟化优势:

(1)集中管理(远程管理、维护) )。

)2)提高硬件利用率(物理资源利用率较低(例如,在高峰时间,虚拟化将解决“可用”容量) ) ) ) ) )。

)3)动态调整机器/资源配置(虚拟化将系统的APP应用程序与服务硬件分离,提高了灵活性) )。

)4)高可靠性)可以引入额外的功能和方案,提高透明的负载均衡、迁移、复制等应用环境)劣势:

)1)前期高额费用(初始硬件支持) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

)2)降低硬件利用率(特定情形-例如,资源密集型APP应用不一定适合虚拟化)。

)3)更大的错误影响(如果本地物理机宕机,虚拟机将无法使用,并且虚拟机中的所有文件可能会损坏)。

(4)部署复杂、管理复杂(管理人员csdc、故障困难) ) ) )。

(5)一定限制:虚拟化技术涉及各种限制,必须与支持/兼容虚拟化的服务器、APP应用程序和供应商结合使用)。

(6)安全:虚拟化技术本身的安全风险) 2、KVM概述2.1 kvm定义)1) KVM基于内核的虚拟机

)2) KVM是一种基于X86硬件的开源Linux本机全虚拟化方案(cpu必须支持Intel-VT-x或AMD-V ) ),通过虚拟化进行了扩展

)3) KVM内置在核心模块中,模拟处理器和内存以支持虚拟机的运行

)4)虚拟机被实现为普通的Linux进程,通过标准的Linux调度程序进行调度;

5 )虚拟机的各虚拟CPU作为普通的Linux进程安装。 这允许KMV使用Linux内核的现有功能,但KVM本身不运行模拟。 客户端空间程序(虚拟机)通过/dev/kvm )接口设置客户端虚拟服务器的地址空间,并通过Qemu模拟I/o ) (ioctl )管理资源和维护

Libvirt:KVM的管理工具。 不仅是KVM这样的VMM,Xen、VirtualBox甚至OpenStack的基础Libvirt还包括后台daemon程序libvirtd、API库和命令行工具virshKVM

QEMU

功能—控制I/O虚拟化并调用硬件资源

KVM

功能:虚拟化2.2 KVM虚拟化体系结构,为虚拟机提供CPU、内存和硬件资源;3种型号1;来宾型号(guestOS ) :VM的操作系统为guestOS

客户端在操作系统上运行的模式。 客户端分为内核模式和用户模式,其功能如下:

2、用户模式:

为用户提供管理虚拟机的用户空间工具,并代表用户执行I/O。 Qemu在此模式下工作。 (Qemu的主要功能)

3、linux内核模式

当模拟CPU、内存,实现客户模式切换,处理来自客户模式的发售时,KVM将以此模式运行

2.3 kvm原理1、来宾系统、CPU(vcpu )、内存、驱动程序)控制台、网卡、I/O设备驱动程序等)、

KVM在有限的CPU模式下工作。

2、为了支持虚拟机的运行,KVM内核模块仿真处理器和内存

3、Qemu

主要处理I/O以及为客户提供一个用户空间/dev/kvm 工具libvirt 来进行虚拟机管理

ioctl(定义):专用于设备输入输出操作的系统调用libvirt:KVM管理工具简单理解:
KVM驱动提供处理器、内存的虚拟化,以及客户机I/O的拦截,guest的I/O被拦截后,
交由Qemu处理Qemu利用接口libkvm调用(ioctl)虚拟机设备接口/dev/kvm来分配资源、管理、维护虚拟机 2.4 KVM工作流程

用户模式的 Qemu 利用接口 libkvm 通过 ioctl 系统调用进入内核模式。 KVM驱动为虚拟机创建虚拟 CPU 和虚拟内存,然后执行 VMLAU·NCH 指令进入客户模式,装载 Guest OS 并运行。Guest OS 运行过程中如果发生异常,则暂停Guest OS的运行并保存当前状态同时退出到内核模式来处理这些异常。 内核模式处理这些异常时如果不需要 I/O则处理完成后重新进入客户模式。如果需要 I/O 则进入到用户模式, 则由 Qemu 来处理 I/O,处理完成后进入内核模式,再进入客户模式

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。