1、虚拟机的实现层次

虚拟化技术通过在同一个硬件主机上多路复用虚拟机的方式来共享昂贵的硬件资源,

虚拟化的基本思想是分离软硬件以产生更好的系统性能

VMM代表虚拟机监视器,操作有:复用、挂起、供应(恢复)、动态迁移

1、1虚拟化实现层次

1、1、1指令集体系结构级:代码解释和动态二进制翻译

1、1、2硬件抽象级:虚拟化一个计算机硬件资源

1、1、3操作系统级:在单一物理服务器上创建隔离的容器和操作系统实例

1、1、4库支持级:库接口的虚拟化

1、1、5应用程序级:进程级虚拟化、高级语言

1、1、6指标

1、2VMM设计需求与供应商

硬件级虚拟化在真实硬件和传统操作系统之间插入一层软件,该层软件通常称为虚拟机监视器(VMM)

对VMM有三个需求。

第一,VMM应该为程序提供与原始硬件机器基本一致的环境;

第二,运行在该环境中的程序的性能损失应较低;

第三,系统资源应处于VMM的完全控制之中。

由VMM完全控制这些资源包括以下方面:

(1) VMM负责为应用程序分配硬件资源;

(2) 程序不能访问任何未分配给它的资源;

(3) 在某些情况下,VMM可以获得对已分配资源的控制权。

1、3操作系统虚拟化支持

操作系统级虚拟化在一个操作系统中插入一个虚拟化层来划分机器的物理资源。

它使得在一个操作系统内核中可以同时运行多个隔离的虚拟机。这种虚拟机也称为VE(Virtual Execution Environment)、VPS(Virtual Private System,虚拟专用系统)或容器。操作系统级虚拟化也称为单操作系统镜像虚拟化。

1、3、1为什么在操作系统级虚拟化
1、3、2操作系统扩展优点
1、3、3操作系统扩展缺点
1、3、4Linux或Windows平台上的虚拟化

1、4虚拟话中间间支持:

VGPU:功能

2、虚拟化的结构/工具与机制

根据虚拟化层的位置,虚拟机的体系解结构分为:

hypervisor体系结构(也称为:VMM 即全虚拟化)

半虚拟化

基于主机虚拟化

2、1hypervisor与Xen体系结构

1hypervisor就是指VMM。

Xen系统的核心组件是hypervisor、内核和应用程序。

Xen提供了一个处于硬件和操作系统之间的虚拟环境。

客户操作系统可以直接访问物理设备的机制。

具有控制特权的客户操作系统称为Domain 0,其他客户操作系统则称为Domain U。

Domain 0被首先启动。Domain 0可以直接访问硬件和管理设备。因此,Domain 0的一个任务是为所有Domain U分配和映射硬件资源。

2、2全虚拟化的二进制翻译

根据实现技术的不同,硬件虚拟化可以分为:全虚拟化和基于主机的虚拟化。

2、2、1全虚拟化

全虚拟化不需要修改主机操作系统。

它依赖于二进制翻译来陷入和虚拟化一些敏感、不可虚拟化的指令的执行。

优点:客户操作完全与底层解耦。

缺点:二进制翻译耗时、消耗内存。

2、2、2VMM中对客户操作系统请求的二进制翻译

2、2、3基于主机的虚拟化

主机操作系统和客户操作系统同时存在,虚拟化软件层处于两者之间,即主机系统上按安装一个虚拟化层。

该主机操作系统仍旧负责管理硬件。

2、3翻译器支持的半虚拟化技术

半虚拟化需要修改客户操作系统。

半虚拟化虚拟机在用户程序中提供了特殊的API,要求真正修改操作系统。

2、3、1半虚拟化结构体系

2、3、2 KVM

一个基于Linux的半虚拟化的系统。

2、3、3带有编译器支持的半虚拟化

半虚拟化编译时控制这些指令。

3、CPU 、内存 I/O虚拟化

处理器利用硬件辅助虚拟化,引入一种特殊的运行模式和指令。

3、1    虚拟化硬件支持

虚拟技术:VT-x、VT-i、EPT、DMA和中断重映射、可共享。

3、2    CPU虚拟化

关键指令可以分为三类:特权指令、控制敏感指令和行为敏感指令。

当在特权模式之外执行特权指令时会发生陷入。

陷入遇到非特权指令VMM进行虚拟化。

3、3    内存虚拟化

客户操作系统和VMM分别维护从虚拟内存到物理内存的映射和从物理内存到机器内存的映射,共两级映射。

EPT内存虚拟化(影子页表)。

3、4    I/O虚拟化

I/O虚拟化包括管理虚拟设备和共享的物理硬件之间I/O请求的路由选择。

全设备模拟:

一个设备的所有功能或总线结构(如设备枚举、识别、中断和DMA)都可以在软件中复制。

半虚拟化:

是Xen所采用的方法,是广为熟知的分离式驱动模型,由前端驱动和后端驱动两部分构成。前端驱动运行在Domain U中,而后端驱动运行在Domain 0中,它们通过一块共享内存交互。

直接I/O虚拟化:

让虚拟机直接访问设备硬件。它能获得近乎本地的性能,并且CPU开销不高。

3、5    多核处理器虚拟化

主要有两个困难:

一是应用程序编程者必须完全并行地使用所有处理器核,

二是软件必须明确地为处理器核分配任务。

3、5、1    物理处理器核与虚拟处理器核

当实际只有三个核存在时给软件暴露4个VCPU

3、5、2    虚拟层次结构

就是在原有物理处理器上覆盖一层或多层一致的、缓冲的层次结构。

目的:自动自动调整空间共享负载的方式获得更好的性能和性能的隔离性。

4 虚拟集群和资源管理

4、1物理集群与虚拟集群

虚拟集群由多个客户虚拟机构成,这些客户虚拟机安装在由一个或多个物理集群构成的分布式服务器上。在逻辑上,处于一个虚拟集群的客户虚拟机通过一个跨越了多个物理网络的虚拟网络互连在一起。

为虚拟集群提供虚拟机的过程可以动态进行:

虚拟集群节点可以是物理机器或虚拟机器。

主机操作系统管理物理机器的资源,虚拟机运行其上,并且可以运行与主机相异的操作系统。

使用虚拟机的目的是合并同一台物理服务器的多个功能。

虚拟机可以在多个物理服务器上备份,以提高分布式并行度、容错性,加快灾难恢复速度。

虚拟集群的节点数可以动态增减,与P2P网络中覆盖网络的规模变化类似。

物理节点的失效会使得运行在其上的虚拟机也失效,但是虚拟机的失效不会影响主机系统。

虚拟集群中应用程序的负载均衡。

4、1、1快速部署及有效的调度

要求如下两点:

一是在集群内的物理节点上尽快构建和发布软件栈(包括操作系统、库、应用程序);

二是运行时环境可以从一个用户虚拟集群快速切换至另一个用户虚拟集群。

4、1、2高性能虚拟存储

4、2在线迁移虚拟机的步骤与性能影响

虚拟集群可根据用户需求或节点失效后快速提供动态资源。

发生失效时,一个虚拟机可被另一个虚拟机替代。

管理虚拟集群共有四种方式:

第一种方式是基于客户的管理器,其中集群管理器处于客户系统中。在这种管理方式中,多个虚拟机形成一个虚拟集群。
第二种方式是基于主机的集群管理器。监督客户系统且能在另一个物理机器上重启客户系统。
第三种方式是在主机系统和客户系统中使用相互独立的集群管理器来管理虚拟集群。然而,这会使基础设施管理变得更为复杂。

第四种方式是在主机系统和客户系统中使用集成的集群。这表示管理器能区分虚拟资源和物理资源。

在线虚拟机迁移方案的设计目标是最小化如下三个指标:微小的停机时间、最低的网络带宽消耗及合理的总迁移时间。

一台虚拟机可能处于如下四种状态之一:非活跃状态、活跃状态、中止状态、挂起状态。

在线迁移虚拟机包括如下6个步骤(书上概括成四个步骤) :

1、开始迁移——2、传输内存——3、挂起虚拟机并复制最后的内存数据——4、提交并激活新主机

4、3内存、文件、网络资源的迁移

4、3、1内存迁移

将虚拟机的内存实例从一个物理节点迁移至另一个物理节点

4、3、2文件系统迁移

为每个虚拟机提供一个一致的、位置无关的、在所有物理主机上都可访问的文件系统

4、3、3网络迁移

迁移虚拟机时应维持所有开放的网络连接,不应依赖原始主机转发或者依赖移动性或重定向机制的支持。

4、3、4在线迁移Xen虚拟机

RDMA:(远程定向内存访问)技术进行迁移。

4、4虚拟集群的动态部署

5、数据中心的自动化与虚拟化

5、1数据中心服务器的合并

服务器合并采用减少物理服务器数目的方法,是改进硬件资源低利用效率的有效途径。

在许多服务器合并技术(如集中合并和物理合并)中,基于虚拟化的服务器合并是最有效的合并方式。

服务器虚拟化带来的额外效果:

合并增强了硬件利用效率
使资源得到更灵活的配置和调度
总体拥有成本得到降低。
可以改进可用性和业务连续性

5、2虚拟存储管理

虚拟存储包括由VMM和客户操作系统管理的存储。

存储在该环境中的数据可被分为两类:虚拟机镜像和应用程序数据。

系统虚拟化最重要的方面是封装和隔离。

系统虚拟化允许多虚拟机同时运行在一个物理机器上并且虚拟机之间完全隔离。

5、3虚拟化数据中心的云操作

5、4虚拟化数据中心的可信管理

VMM可提供安全隔离性,虚拟机访问任何硬件资源时都需要通过VMM的审核,因此VMM是一个虚拟系统的安全基础。

虚拟机、集群、数据中心虚拟化相关推荐

  1. 数据仓库搭建1-Virtual-box虚拟机集群搭建

    数据仓库搭建1-Virtual-box虚拟机集群搭建 前言 Virtual-box遇到的问题 虚拟机安装 虚拟机网络配置 安装必要的软件 前言 我的电脑内存16G,尽量大一点吧,太小的话会在使用的时候 ...

  2. 数据中心虚拟化的7大考量要素

    本文已经发表在: [url]http://www.doserv.com/focus/2007-07-05/0016033573.shtml[/url] 服务器虚拟化并非全新的感念,40多年前IBM就在 ...

  3. CIO们对数据中心虚拟化心存的六大疑虑

    本文摘自:[url]http://industry.ccidnet.com/art/3915/20070428/1072803_1.html[/url] 巴塞罗那超级计算中心 数据中心虚拟化正在势不可 ...

  4. 【vSphere故障案例】案例七:数据中心虚拟化网络故障

    [vSphere故障案例]案例七:数据中心虚拟化网络故障 2013-03-29 16:59:02标签:vSphere 网络故障 ESXi原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处  ...

  5. 08 Confluent_Kafka权威指南 第八章:跨集群数据镜像

    文章目录 CHAPTER 8 Cross-Cluster Data Mirror 跨集群数据镜像 Use Cases of Cross-Cluster Mirroring 跨集群镜像用例 Multic ...

  6. CISCO数据中心虚拟化之VDC技术和配置

    CISCO数据中心虚拟化之VDC技术和配置 目录如下: 文章目录 CISCO数据中心虚拟化之VDC技术和配置 前言 VDC技术介绍 虚拟出的VDC有以下特点: VDC的配置 前言 由于现在数据越来越庞 ...

  7. Nacos集群数据同步

    引言 在Nacos属于集群时,当服务器收到服务注册请求后,发生了ClientEvent.ClientChangedEvent事件,就会触发将注册的服务信息同步给集群中的其他Nacos-server节点 ...

  8. EVB数据中心虚拟化应用模型

    EVB数据中心虚拟化应用模型 2012-07-06 17:44 比特网 刘新民 关键字:EVB 数据中心 网络 虚拟化 EVB(Edge Virtual Bridging)是IEEE标准化组织针对数据 ...

  9. 数据中心虚拟化不是IT变革的终点

    [导读]如今,越来越多的企业注意到传统数据中心的局限性,开始向更高层次的架构与理念转移,而"迈向云计算"无疑是众多用户的理想. 走向云计算的途径 如今,越来越多的企业注意到传统数据 ...

  10. 《数据中心虚拟化技术权威指南》一2.2 数据中心网络拓扑

    本节书摘来自异步社区<数据中心虚拟化技术权威指南>一书中的第2章,第2.2节,作者[巴西]Gustavo A. A. Santana,更多章节内容可以访问云栖社区"异步社区&qu ...

最新文章

  1. STM8学习笔记---串口uart1
  2. java的annotation_Java Annotation认知(包括框架图、详细介绍、示例说明)
  3. 平台用户实名认证设计流程
  4. 天弘余额宝发布2018年报:规模1.13万亿 平均每天赚1.39亿元
  5. 自制计算机语言,3个步骤实现简单语言解释器(自制简易编程语言)
  6. 20190911:(leetcode习题)计数质数
  7. graphx 基础算法
  8. Flink Weekly | 每周社区动态更新(附5月活跃榜单)
  9. jmeter快速修改协议、服务器名称或IP、端口号的方法
  10. Matlab根据特征值排序特征向量
  11. java数学运算(Math类)
  12. linux 7.5防火墙配置,Centos7.5 firewalld防火墙配置
  13. Flutter 利用 FFI,绕过 Android JNI 直接调用 C++ 层!
  14. 用api提取ip的优点
  15. Maven3.6.3 下载与配置
  16. 微信小程序开发笔记 进阶篇⑤——getPhoneNumber 获取用户手机号码(基础库 2.21.2 之前)
  17. 路由之间的转跳及传参
  18. 基于python的土壤细菌在kobas库的功能预测代码
  19. hid read c Linux,linux/windows hid
  20. python用可变参数求积_流畅的python读书笔记-第八章-对象引用、可变性和垃圾回收...

热门文章

  1. R语言中按某个符号来分割字符串
  2. hihocoder第218周:AC自动机
  3. 由m种数字组成的n位数有多少个
  4. python3.x中pip升级报错
  5. Altium AD20原理图从库中更新变动,库中模型修改后同步到原理图中
  6. MQTT 控制报文类型、功能及格式(报文结构) - 第2章
  7. maven的setting文件简单配置
  8. 基于SpringBoot从零构建博客网站 - 整合ehcache和开发注册登录功能
  9. TCP的流量控制和阻塞控制
  10. E. Mahmoud and Ehab and the function Codeforces Round #435 (Div. 2)