精品课件-KVM虚拟化技术基础与实践-第五章
第5章 KVM内核模块解析
Guest OS执行一些特权指令或者外部事件时,比 如I/O访问、对控制寄存器的操作、MSR(Microsoft Reserved Partition)的读写数据包到达等,都会导致物理 CPU发生VM Exit,停止运行Guest OS代码。将Guest OS保存 到VMCS中,Host状态装入物理处理器中,处理器进入内核态, KVM取得控制权,通过读取VMCS中VM_EXIT_REASON字段得到 引起VM Exit的原因,从而调用kvm_exit_handler处理函数。 如果由于I/O获得信号到达,则退出到用户模式的QEMU进行 处理。处理完毕后,重新进入客户模式运行虚拟CPU。
第5章 KVM内核模块解析
5.2.4 VM ioctl调用 VM ioctl指令实现对虚拟机的控制,大多需要从 KVM_CREATE_VM中返回的fd来进行操作,具体操作包括:配置 内存、配置vCPU、运行虚拟机等,主要指令如下: (1) KVM_CREATE_VCPU为虚拟机创建vCPU。 (2) KVM_RUN根据kvm_run结构体信息,运行VM虚拟机。 (3) KVM_CREATE_IRQCHIP创建虚拟APIC,且随后创建的vCPU 都关联到此APIC。 (4) KVM_IRQ_LINE对某虚拟APIC发出中断信号。
第5章 KVM内核模块解析
开始
用户模式 Qemu
内核模式 KVM Driver
执行ioctl 系统调用
进入 客户模式
处理退出
客户模式 Guest OS
执行 客户代码
处理 I/O
Yes I/O? No
VMX Root Operation
信号到达
VMX Non Root Operation
图5-1 KVM工作原理
第5章 KVM内核模块解析
PIO的捕获:由硬件直接提供。当VM发出PIO指令时,导致VM Exit然后硬件会将VM Exit的原因及对应的指令写入VMCS控 制结构中,这样KVM就会模拟PIO指令。
MMIO的捕获:对MMIO页的访问导致缺页异常,被KVM捕获, 通过x86模拟器模拟执行MMIO指令。KVM中的I/O虚拟化都是 通过用户空间的QEMU实现的,而所有PIO和MMIO的访问也都 是被转发到QEMU的,QEMU模拟硬件设备提供给虚拟机使用。
例:以虚拟机接收数据包说明虚拟机和设备的交互 (1) 当数据包到达主机的物理网卡后,调用物理网卡的驱动 程序,在其中利用Linux内核中软件网桥,实现数据的转发。 (2) 在软件网桥这一层,会判断数据包是发往哪个设备的, 同时调用网桥的发送函数,向对应的端口发送数据包。 (3) 若数据包是发往虚拟机的,则要通过tap设备进行转发。 tap设备由两部分组成,网络设备和字符设备。网络设备负 责接收和发送数据包,字符设备负责将数据包往内核空间和 用户空间进行转发。
第5章 KVM内核模块解析 5.2.5 vCPU ioctl调用
表5-3 vCPU ioctl指令字(中断和控制类)
第5章 KVM内核模块解析
5.3 KVM 内核模块重要的数据结构
5.3.1 kvm结构 KVM虚拟机通过使用 /dev/kvm字符设备的ioctl的
System指令KVM_CREATE_VM来进行创建。对虚拟机来说,kvm 结构体是关键,一个虚拟机对应一个kvm结构体,虚拟机的 创建过程实质为kvm结构体的创建和初始化过程。
第5章 KVM内核模块解析
5.1.2 KVM的内核源码结构 KVM的基本工作原理:
用户模式的QEMU利用接口libkvm通过ioctl系统调 用进入内核模式。KVM Driver为虚拟机创建虚拟内存和虚拟 CPU后执行VMLAUNCH指令进入客户模式,装载Guest OS且执 行。如果Guest OS发生外部中断或者影子页表缺页之类的情 况,暂停Guest OS的执行,退出客户模式进行一些必要的处 理。处理完毕后重新进入客户模式,执行客户代码。如果发 生I/O事件或者信号队列中有信号到达,就会进入用户模式 处理。KVM采用全虚拟化技术,客户机不用修改就可以运行。
第5章 KVM内核模块解析
(5) KVM_GET_IRQCHIP读取APIC的中断标志信息。 (6) KVM_SET_IRQCHIP写入APIC的中断标志信息。 (7) KVM_GET_DIRTY_LOG返回脏内存页的位图。 (8) KVM_CREATE_VCPU和KVM_RUN是VM ioctl指令中两种重要 的指令字,通过KVM_CREATE_VCPU为虚拟机创建vCPU,并获得 对应的fd描述符后,可以对其调用KVM_RUN,以启动该虚拟机 (或称为调度vCPU)。
第5章 KVM内核模块解析
5.3.2 kvm_vcpu结构体 在用户通过KVM_CREATE_VCPU系统调用请求创建vCPU
之后,KVM子模块将创建kvm_vcpu结构体并进行相应的初始化 操作,然后返回对应的vcpu_fd描述符。在KVM的内部虚拟机 调度中,用kvm_vcpu和KVM中的相关数据进行操作。kvm_vcpu 结构体中的字段较多,其中重要的成员如下:
第5章 KVM内核模块解析
主要的指令字包括: (1) KVM_CREATE_VM创建KVM虚拟机。 (2) KVM_GET_API_VERSION查询当前KVM API版本。 (3) KVM_GET_MSR_INDEX_LIST获得MSR索引列表。 (4) KVM_CHECK_EXTENSION检查扩展支持情况。 (5) KVM_GET_VCPU_MMAP_SIZE运行虚拟机及获得用户态空间 共享的一片内存区域的大小。 (6) KVM_GET_VCPU_MMAP_SIZE也是其中比较重要的指令字, 返回vCPU mmap区域的大小。
第5章 KVM内核模块解析 5.2 KVM API
5.2.1 KVM API简介
表5-1 KVM API的三种类型
第5章 KVM内核模块解析
用户态程序对KVM API的操作是从打开kvm设备文件 开始的,通过调用open函数会获得针对kvm模块的一个句柄, 这个句柄其实是文件描述符。在系统调用ioctl执行的时候, 文件描述符指定当前设备为/dev/kvm。ioctl配合特定的控 制命令告诉kvm字符设备进行特定的操作,比如, KVM_CREATE_VM指令字表示创建一个虚拟机同时会返回此虚 拟机对应的fd文件描述符,利用此fd文件描述符可以执行VM 指令,对具体的虚拟机进行控制。例如KVM_CREATE_VCPU指 令字表示创建一个虚拟CPU并且返回此vCPU对应的fd文件描 述符。
第5章 KVM内核模块解析
KVM内核模块的实现主要包括三大部分:虚拟机的调度执行、 内存管理、设备管理。 1. KVM中的Guest OS的调度执行
VMM调度Guest OS执行时,QEMU通过ioctl系统调 用进入内核模式,在KVM Driver中通过get_cpu获得当前物 理CPU的引用。之后将Guest OS状态从VMCS(Virtual Machine Control Structure)中读出,并装入物理CPU中。 执行VMLAUNCH指令使得物理处理器进入非内核态,然后运行 客户代码。
第5章 KVM内核模块解析
VM
VM
Ethernet Driver
Ethernet Driver
Qemu
APP
tap0
tap1
eth0
LinuxKernel Mode
Bridge Host Ethernet Driver
Ethernet H/W
图5-2 KVM I/O模型
第5章 KVM内核模块解析
第5章 KVM内核模块解析
3. KVM中的设备管理 一个机器只有一套I/O地址和设备。设备的管理和
访问是操作系统中的突出问题,同样也是虚拟机实现的难题, 另外还要提供虚拟设备供各个VM使用。在KVM中通过移植 QEMU中的设备模型进行设备的管理和访问。操作系统中,软 件使用可编程I/O(Programmable Input/Output,PIO)和内 存映射I/O(Memory Mapping Input/Output,MMIO)与硬件交 互。而且硬件可以发出中断请求,由操作系统处理。
第5章 KVM内核模块解析
2. KVM中的内存管理 在KVM中提供了一个哈希列表和哈希函数,以客户机页表项 中的虚拟页号和该页表项所在页表的级别作为键值,通过该 键值查询,如不为空,则表示该对应的影子页表项中的物理 页号已经存在并且所指向的影子页表已经生成。如为空,则 需新生成一张影子页表,KVM将获取指向该影子页表的主机 物理页号填充到相应的影子页表项的内容中,同时以客户机 页表虚拟页号和表所在的级别生成键值,在代表该键值的哈 希表中填入主机物理页号,以备查询。但是一旦Guest OS中 出现进程切换。
第5章 KVM内核模块解析
5.2.3 System ioctl调用 ioctl是设备驱动程序中对设备的I/O通道进行管理
的函数。所谓对I/O通道进行管理,就是对设备的一些特性进 行控制,例如串口的传输波特率、电动机的转速,等等。它 的调用参数如下:
int ioctl(int fd, ind cmd, …); 其中,fd是用户程序打开设备时使用open函数返回 的文件标示符,cmd是用户程序对设备的控制命令,至于后面 的省略号,那是一些补充参数,一般最多一个,这个参数的 有无和cmd的意义相关。
第5章 KVM内核模块解析
(7) KVM_CREATE_VM是其中比较重要的指令字。通过该参数, KVM将返回虚拟机对应的一个文件描述符,文件描述符指向内 核空间中一个新的虚拟机。 (8) KVM_RUN ioctl通过共享的内存区域与用户空间进行通 信。 (9) KVM_CHECK_EXTENSION如果支持的话返回1,不支持的话 返回0。 (10) KVM_GET_API_VERSION返回常量 KVM_API_VERSION(= 12),此指令字会将API版本作为稳定的 KVM API,并且这个版本号的数字不会发生变化。如果通过 KVM_GET_API_VERSION得到的版本号不是12,那么应用程序将
虚拟化技术
虚拟化技术虚拟化技术是一种将物理硬件资源虚拟化为逻辑资源的技术。
它可以将一台物理服务器虚拟出多台逻辑服务器,从而提高硬件资源的利用率,降低IT成本,提高业务灵活性和可靠性。
虚拟化技术可以在服务器、存储、网络和桌面等多个领域应用。
虚拟化技术的重要性虚拟化技术在企业的IT架构中扮演了非常重要的角色,主要有以下几方面的重要性:1.资源最大化利用虚拟化技术可以将一台物理服务器虚拟化出多台逻辑服务器,从而将硬件资源最大限度地利用起来。
通过虚拟化技术,可以实现服务器的超卖,即将一定量的硬件资源分配给多个业务,以达到更高的资源利用率,降低企业的IT成本。
2.提高业务可靠性虚拟化技术可以将业务从物理硬件中解耦出来,使得业务不再依赖于特定的硬件。
这样,在服务器故障的情况下,虚拟化技术可以将业务迁移至其他服务器继续运行,从而有效地提高了业务的可靠性和可用性。
3.提高IT资源管理效率虚拟化技术可以通过中心化的管理工具实现IT资源的自动化管理和控制,极大地提高了IT资源管理的效率。
通过虚拟化技术,管理员可以在一个统一的界面中控制多个虚拟机的运行、监控和资源分配等操作,使得IT资源的管理变得更加简单和高效。
4.提高应用程序的可移植性和兼容性虚拟化技术可以将应用程序打包为虚拟机镜像,这样应用程序就不再依赖于特定的操作系统和硬件,具有更好的可移植性和兼容性。
通过虚拟化技术,可以解决应用程序在不同操作系统和硬件上的兼容性问题,使得应用程序可以更加广泛地运行在不同的平台上。
虚拟化技术的分类虚拟化技术可以按照不同的方式进行分类,常见的分类方式如下:1.服务器虚拟化服务器虚拟化技术是将一台物理服务器虚拟出多个逻辑服务器的技术。
常见的服务器虚拟化技术包括VMware、Hyper-V、KVM、Xen和VirtualBox等。
2.存储虚拟化存储虚拟化技术是将多个物理存储设备虚拟成一个逻辑存储设备的技术。
常见的存储虚拟化技术包括SAN、NAS和iSCSI等。
虚拟化技术培训教材(共135张PPT)
主要的虚拟化技术
存储池,高性能虚拟化引擎
采用NAS较多的功能是用来进行文件共享。
数据卷的共享, net/nav/java
可以在多个容器➢之间服共务享器数据虚卷拟化:一台服务器变成多台虚拟服务器。
也称为原始虚拟化技术, 该模型使用虚拟机协调客户操作系统和原始硬件。
服务目录管理服务提供服务目录➢和服存务储本身虚的拟管化理功:能整,合管理容员量可,以增提加高新性的服能务、,功或者能从,服统务目一录管中理除。去服务。
SAN实际是一种专门为存储建立的独立于TCP/IP网络之外的专用网络。
主它机提物 供理了地一址种(机制Ho,st使P得hysGicuaels➢At 端dd与网resH络so,s虚Ht 端P拟A可)化以::建宿立整主连机合接真不,实直同内接存类通地型信址,网,摒真络弃实,了可截提以获访供模问虚拟的这拟物种理化方内网式存,络空从间支而。持获得。较高的性能。
支持Intel VT和AMD-V技术
虚拟化的优势
➢ 整合资源、扩大资源容量、提高资源利用率。 ➢ 简化资源使用的复杂度,更快、更方便部署系统。 ➢ 简化资源管理,提供自动的资源分配、回收方式。 ➢ 提供统一的安全、备份、容灾方案。
虚拟化的缺点
➢ 性能:虚拟化是对计算资源的分割。 ➢ 错误:虚拟化层的引入增加了系统出错层面。 ➢ 安全:虚拟化会带来一些安全隐患。 ➢ 影响:一台服务器宕机会影响其上所有虚拟机。 ➢ 复杂:带来管理上的复杂性。
虚拟化技术
主讲人:王新磊
目录
主讲内容
01 虚拟化技术
云计算——虚拟化技术PPT课件
2021
29
4.4.3 硬件虚拟化的未来
2.异构硬件的融合和归一化
• 首先,异构硬件的融合将本着“优势互补”的原则,向应用提供优势 资源以满足极端化需求。
• 其次,不同的硬件需要采用不同的虚拟化方法,提供各异的接口以获 得最佳的性能。
• 因此,要通过虚拟化实现异构硬件归一化管理,向应用提供统一的编 程接口。可利用来自应用的需求信息动态判断实际的后台执行硬件, 实现应用需求指导的动态硬件选择技术。
• 目前,基于硬件辅助的虚拟化方法在CPU、内存、网络等传统硬 件资源上获得了成功,CPU 和内存虚拟化资源已经接近物理性 能。
2021
26
4.4.2 硬件虚拟化的代表
1.GPU虚拟化
• GPU是计算机的一个重要组成部分,但GPU这类重要资源虚拟化的性 能、扩展性和可用性相对于CPU还处于滞后的阶段。
2021
4
2.网络虚拟化
• 网络虚拟化以软件的形式完整再现了物理网络,应用在虚拟网 络上的运行与在物理网络上的运行完全相同。
• 网络虚拟化向已连接的工作负载提供逻辑网络连接设备和服务 (逻辑端口、交换机、路由器、防火墙、负载均衡器、VPN 等)。
• 虚拟网络不仅可以提供与物理网络相同的功能特性和保证,而 且具备虚拟化所具有的运维优势和硬件独立性。
图4.4 使用VMM二进制翻译客户操
2021
作系统的请求 12
4.2.3 半虚拟化
• 半虚拟化指的是虚拟机系统和虚 拟化软件层通过交互来改善性能 和效率。
• 半虚拟化涉及修改操作系统内核 来将不可虚拟化的指令替换为可 直接与虚拟化层交互的超级调用 (hypercalls)。
图4.5 将不可虚拟化的操作系统指令替
虚拟化技术基础原理
第3页
虚拟化之后实现了:上层操作系统与下次硬件的解耦,就是说 操作系统不再依赖物理的硬件,而是在VMM层上建立OS,由 VMM层来实现OS对硬件的需求。
3
QBG
描述:网卡实现完整的虚拟交换功能; 2 优点:性能高、节省服务器CPU资源;
缺点:依赖特殊网卡硬件;
描述:物理交换机实现虚拟交换功能; 3 优点:可继承交换机的二层特性;
缺点:规格小、扩展困难、Hypervisor均不支持。
第32页
网络设备的大二层技术
SPB/AQ
租户A
CVLAN=1 映射到I-SID=100
VMM截获客户操作系统对设备的访问请求,然后通过软件的 方式来模拟真实设备的效果
第17页
I/O虚拟化-前后端驱动模型
前端设备驱动将数据通过VMM提供的接口转发到后端驱动 后端驱动对VM的数据进行分时分通道进行处理
Domain 0 用户态 控制面板
内核
设备驱动 后端驱动
Domain U
用户态
内核
虚拟化
虚拟化层
资源池化
虚拟化层
虚拟化层
IT资源独立 操作系统与硬件紧耦合
资源抽象成共享资源池 操作系统与硬件解耦,从
资源池中分配资源
第6页
虚拟化的好处
提高硬件利用率 降低能耗,绿色节能 提高IT运维效率,系统管理人员减少 操作系统和硬件的解耦
第7页
虚拟化的本质
分区
隔离
云计算虚拟化技术基础与实践:虚拟化实现技术
虚拟化实现技术
目录
CONTENT
01.系统虚拟化架构 02.处理器虚拟化实现技术 03.内存虚拟化实现技术 04.I/O虚拟化实现技术
本章重点
1. 了解系统虚拟化架构。 2. 掌握Intel处理器虚拟化实现技术VT-x。 3. 了解AMD处理器虚拟化实现技术AMD SVM。 4. 熟悉Intel和AMD的两种内存虚拟化实现技术。 5. 熟悉Intel VT-d、IOMMU和SR-IOV的I/O虚拟化
实现技术。 6. 掌握Virtio的I/O虚拟化实现技术。
0 1 系统虚拟化架构
系统虚拟化架构
Intel VT是Intel在CPU层面提供的硬件虚拟化技术的 总称,主要提供下列技术: ➢ 在处理器虚拟化方面,提供了VT-x技术; ➢ 在 内 存 虚 拟 化 方 面 , 提 供 了 EPT ( Extended
➢ ADDR:下一级页表的物理地址。如果已经是最后一级 页表,那么就是GPA对应的物理地址。
➢ SP:超级页(Super Page)所指向的页是大小超过4KB的 超级页,CPU在遇到SP=l时,就会停止继续往下查询。 对于最后一级页表,这一位可以供软件使用。
➢ X:可执行,X=1表示该页是可执行的。
2. IOMMU
➢ 输 入 / 输 出 内 存 管 理 单 元 IOMMU ( Input/Output Memory Management Unit)是一个内存管理单元, 管理对系统内存的设备访问。
➢ 它位于外围设备和主机之间,可以把DMA I/O总线 连接到主内存上,将来自设备请求的地址转换为系统 内存地址,并检查每个接入的适当权限。
3. vCPU的退出:对vCPU退出的处理是VMM进行CPU虚 拟化的核心,例如模拟各种特权指令。
精品课件-KVM虚拟化技术基础与实践-第六章
QEMU概述 QEMU三种运行模式 QEMU软件架构 QEMU内存模型 QEMU的PCI总线与设备
第6章 QEMU软件架构分析
6.1 QEMU概述 QEMU是一个开源的模拟器项目,能够模拟整个系统 的硬件,在GNU/Linux平台上使用广泛,并不像VMware那样仅 仅针对x86体系架构。QEMU可以运行于多种操作系统和不同的 CPU体系架构中,允许在虚拟机运行时保存虚拟机的状态,进 行实时迁移与操作系统级别的调试。QEMU的安装包中提供了 qemu-img这个强大的工具来创建、转换或者加密虚拟机映像, 且支持从其他虚拟机格式中启动。qemu-nbd能够将QEMU的映 像文件通过NDB协议共享给其他机器。
第6章 QEMU软件架构分析
第6章 QEMU软件架构分析
3、TB链 在QEMU中,从代码CACHE到静态代码再回到代码CACHE,
这个过程比较耗时,所以在QEMU中涉及了一个TB链将所有TB连 在一起,可以让一个TB执行完以后直接跳到下一个TB,而不用 每次都返回到静态代码部分。具体过程如图6-4所示。
第6章 QEMU软件架构分析 图6-4 TB链的执行流程图
内建服务器
使用 -net user, tftp= 参数
图6-1 QEMU支持x86架构下的硬件设备
第6章 QEMU软件架构分析 6.1.3 QEMU特性
QEMU是一种快速的多体系结构仿真器,通过动态翻译的技 术达到了优异的仿真速度。目前,QEMU支持两种操作模式: (1) 全系统仿真模式。在这种模式下,QEMU完整地仿真目标平 台,此时,QEMU就相当于一台完整的PC机,包括了一个或多个 处理器以及各种外围设备。这种模式可以用来运行不同的操作 系统或调试操作系统的代码。 (2) 用户态仿真模式。在这种模式下,QEMU能够运行不同于主 机平台的其他平台的程序。另外,在这种模式下能够进行方便 的交叉编译和调试。
KVM虚拟化技术
KVM虚拟化技术能够在单个服务器硬件平台上运行多个虚拟机(vm)的能力在如今的it基础架构中实现了了成本、系统管理和灵活性等方面的优势。
在单个硬件平台上托管多个虚拟机,可减少硬件开支并帮助最大限度降低基础架构成本,比如能耗和制冷成本。
将操作方式不同的系统作为虚拟机整合在一个硬件平台上,可简化通过管理层(比如开源虚拟化库(libvirt))和基于它的工具(比如图形化的虚拟机管理器(vmm))对这些系统的管理工作。
虚拟化还提供了如今面向服务的高可用性it操作中所需的操作灵活性,支持将正在运行的虚拟机从一个物理主机迁移到另一个主机,以满足硬件或物理场所问题的需要,或者通过负载平衡最大限度提高性能,或者应对日益增长的处理器和内存需求。
开源桌面虚拟化应用程序(如VirtualBox)允许用户甚至小型企业(中小型企业单位或中小型企业)环境在单个物理系统上运行多个虚拟机。
然而,VirtualBox等虚拟化环境在桌面或服务器系统上作为客户端应用程序运行。
企业计算环境需要一个更接近物理硬件(“裸机”)的高性能、面向服务器的虚拟化环境,它支持虚拟机的执行,而操作系统开销要少得多。
裸机虚拟化机制可以更好地管理硬件资源,并充分利用大多数64位x86和PowerPC处理器内置的虚拟化硬件支持。
裸机虚拟化机制使用一个称为虚拟机管理程序的小操作系统,来管理和计划虚拟机以及相关的资源。
裸机虚拟机管理程序称为type1虚拟机管理程序。
两种最流行的裸机开源虚拟化技术是kernelvirtualmachine(kvm)和xen。
尽管xen和kvm各有自己的优点和爱好者,但kvm的流行度和复杂度在不断增加,它现在已成为大多数linux发行版的推荐默认虚拟化机制。
比较KVM和Xenxen虚拟化环境在传统上提供了linux系统上性能最高的开源虚拟化技术。
xen使用一个虚拟机管理程序来管理虚拟机和相关的资源,还支持半虚拟化,这可在“知道”自己已实现虚拟化的虚拟机中提供更高的性能。
虚拟化技术 教案
(分)
教学环节及教学内容
教学方式
90
50
20
掌握虚拟专用网络
了解虚拟局域网
总结
讲授法
实例法
作业
教学后记
检查
意见
签字:
序号
上课班级
授课
类型
上课
地点
20
上课日期
理论课
课
题
第十章 网络和存储虚拟化应用(下)
学时
4
教学
目标
知识目标:了解SAN和VSAN
能力目标:了解NAS
素质目标:了解SAN和VSAN
重点
序号
上课班级
授课
类型
上课
地点
14
上课日期
理论课
课
题
第七章 Docker容器化技术(下)
学时
4
教学
目标
知识目标:Docker容器化技术应用
能力目标:Docker容器化技术应用
素质目标:Docker容器化技术应用
重点
与
难点
重点:Docker容器化技术应用
难点:Docker容器化技术应用
时间
(分)
教学环节及教学内容
能力目标:掌握Citrix XenServer功能特性
素质目标:掌握Citrix XenServer功能特性
重点
与
难点
重点:Citrix XenServer概述
难点:掌握Citrix XenServer功能特性
时间
(分)
教学环节及教学内容
教学方式
70
70
20
Citrix XenServer概述
掌握Citrix XenServer功能特性
精品课件-云计算导论课件-第五章虚拟化技术
虚拟化的目的
(1)可以在一个特定的软硬件环境中去虚拟另一个不 同的软硬件环境,并可以打破层级依赖的现状。
(2)提高计算机设备的利用率。 (3)在不同的物理服务器之间会存在兼容性的问题。 (4)虚拟化可节约潜在成本。
虚拟化节约潜在的成本
类别
可节约潜在成本
硬件
不需要为每台服务器或桌面都配置硬件
view as highly
0
Servers
promising for
大多数设备的平均利用率只obbu有tsaiin5ne-is3ns0g%breenaelfits”,
总体拥有成本(TCO)
初期费用 硬件采购成本 软件使用授权 成本
后继 费培用训费用 管理 操作 维护 支持 了解当前架构的总体花费是估算整合后节约的费用的先决条件
内存虚拟化:专用、共享内存,内存交换文件
存储虚拟化:瘦供给(精简配置),群集文件系统
以太网虚拟化:共享以太网卡,虚拟以太网卡, 虚拟交换机
I/O虚拟化: Intel VT-d:提供DMA虚拟化、IRQ虚拟化、直接 I/O设备分配、I/O设备共享
NPIV:光纤HAB卡虚拟化
20/1 0
服务器虚拟化拓扑图
400根电源线
部署Vmware虚拟化之后
80 分层的SAN和NAS 300根线缆/端口 10台机架 20根电源线
下电
分布式电源管理 (DPM) 当整个群集需要资源减少
业务需求
时,整合所有负载到少数 几台服务器上
将不需要的服务器置于备 用模式
当负载增加时,DPM自动 将处于备用状态的服务器 唤醒
资源池
特点: ➢ 灵活的访问和使用 ➢ 广泛与简化的终端设备支持 ➢ 终端设备采购、维护成本大大降低 ➢ 集中管理、统一配置 ➢ 使用安全 ➢ 降低耗电、节能减排
kvm虚拟化介绍
kvm虚拟化介绍⼀、虚拟化分类1、虚拟化,是指通过虚拟化技术将⼀台计算机虚拟为多台逻辑计算机。
在⼀台计算机上同时运⾏多个逻辑计算机,每个逻辑计算机可运⾏不同的操作系统,并且应⽤程序都可以在相互独⽴的空间内运⾏⽽互相不影响,从⽽显著提⾼计算机的⼯作效率。
虚拟化使⽤软件的⽅法重新定义划分 IT 资源,可以实现 IT 资源的动态分配、灵活调度、跨域共享,提⾼ IT 资源利⽤率,使 IT 资源能够真正成为社会基础设施,服务于各⾏各业中灵活多变的应⽤需求。
2、虚拟化层次种类:(1)完全虚拟化 --- 最流⾏的虚拟化⽅法使⽤名为 hypervisor 的⼀种软件,在虚拟服务器和底层硬件之间建⽴⼀个抽象层。
VMware 和微软的VirtualPC 是代表该⽅法的两个商⽤产品,⽽基于核⼼的虚拟机 (KVM) 是⾯向 Linux 系统的开源产品hypervisor 可以捕获 CPU 指令,为指令访问硬件控制器和外设充当中介。
因⽽,完全虚拟化技术⼏乎能让任何⼀款操作系统不⽤改动就能安装到虚拟服务器上,⽽它们不知道⾃⼰运⾏在虚拟化环境下。
主要缺点是, hypervisor 给处理器带来开销(2)准虚拟化 --- 完全虚拟化是处理器密集型技术,因为它要求 hypervisor管理各个虚拟服务器,并让它们彼此独⽴。
减轻这种负担的⼀种⽅法就是,改动客户端操作系统,让它以为⾃⼰运⾏在虚拟环境下,能够与hypervisor 协同⼯作。
这种⽅法就叫准虚拟化 (para-virtualization)Xen 是开源准虚拟化技术的⼀个例⼦。
操作系统作为虚拟服务器在 Xen hypervisor 上运⾏之前,它必须在核⼼层⾯进⾏某些改变。
因此, Xen 适⽤于 BSD 、 Linux 、 Solaris 及其他开源操作系统,但不适合对像Windows 这些专有的操作系统进⾏虚拟化处理,因为它们⽆法改动。
准虚拟化技术的优点是性能⾼。
经过准虚拟化处理的服务器可与hypervisor 协同⼯作,其响应能⼒⼏乎不亚于未经过虚拟化处理的服务器。
