虚拟化技术(一)

目录

    • 一、虚拟化技术简介
    • 二、服务器虚拟化
      • (一)服务器虚拟化的层次
      • (二)服务器虚拟化的底层实现
      • (三)虚拟机迁移
      • (四)隔离技术
      • (五)案例分析


一、虚拟化技术简介

  虚拟化技术是伴随着计算机的出现而产生和发展起来的,虚拟化意味着对计算机资源的抽象。虚拟化技术已经成为构建云计算环境的一项关键技术。

在这里插入图片描述
  20世纪60年代,IBM公司推出虚拟化技术。主要用于当时的IBM大型机的服务器虚拟化。虚拟化技术的核心思想是利用软件或固件管理程序构成虚拟化层,把物理资源映射为虚拟资源。在虚拟资源上可以安装和部署多个虚拟机,实现多用户共享物理资源。

在这里插入图片描述
  传统的数据中心网络不能满足虚拟数据中心网络高速、扁平、虚拟化的要求。传统的数据中心采用的多种技术,以及业务之间的孤立性,使得数据中心网络结构复杂,存在相对独立的三张网,包括数据网、存储网和高性能计算网,以及多个对外I/O接口。 这些对外I/O接口中,数据中心的前端访问接口通常采用以太网进行互连,构成高速的数据网络;数据中心后端的存储则多采用NAS、FC SAN等接口;服务器的并行计算和高性能计算则需要低延迟接口和架构,如infiniband接口。以上这些因素,导致服务器之间存在操作系统和上层软件异构、接口与数据格式的不统一等问题。
  随着云计算的发展,传统的数据中心逐渐过渡到虚拟化数据中心,即采用虚拟化技术将原来数据中心的物理资源进行抽象整合。数据中心的虚拟化可以实现资源的动态分配和调度,提高现有资源的利用率和服务可靠性;可以提供自动化的服务开通能力,降低运维成本;具有有效的安全机制和可靠性机制,满足公众客户和企业客户的安全需求;同时也可以方便系统升级、迁移和改造。

在这里插入图片描述
  数据中心的虚拟化是通过服务器虚拟化、存储虚拟化和网络虚拟化实现的。服务器虚拟化在云计算中是最重要和最关键的,是将一个或多个物理服务器虚拟成多个逻辑上的服务器,集中管理,能跨越物理平台而不受物理平台的限制。存储虚拟化是把分布的异构存储设备统一为一个或几个大的存储池,方便用户的使用和管理。网络虚拟化是在底层物理网络和网络用户之间增加一个抽象层,该抽象层向下对物理网络资源进行分割,向上提供虚拟网络。

二、服务器虚拟化

  目前,服务器虚拟化的概念并不统一。实际上,服务器虚拟化技术有两个方向,一种是把一个物理的服务器虚拟成若干个独立的逻辑服务器,比如分区;另一个是把若干分散的物理服务器虚拟为一个大的逻辑服务器,比如网格技术。主要关注第一种, 即服务器虚拟化通过虚拟化层的实现使得多个虚拟机在同一物理机上独立并行运行。每个虚拟机都有自己的一套虚拟硬件,可以在这些硬件中加载操作系统和应用程序。不同的虚拟机加载的操作系统和应用程序可以是不同的。无论实际上采用了什么样的物理硬件,操作系统都将它们视为一组一致、标准化的硬件。

(一)服务器虚拟化的层次

1、寄居虚拟化

  • 寄居虚拟化的虚拟化层一般称为虚拟机监控器(VMM)。
  • 这类虚拟化架构系统损耗比较大。
  • 就操作系统层的虚拟化而言,没有独立的Hypervisor层。
  • 如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统。

在这里插入图片描述
2、裸机虚拟化

  • 架构中的VMM也可以认为是一个操作系统,一般称为Hypervisor。
  • Hypervisor实现从虚拟资源到物理资源的映射。
  • Hypervisor实现了不同虚拟机的运行上下文保护与切换,保证了各个客户虚拟系统的有效隔离。

在这里插入图片描述
在这里插入图片描述

(二)服务器虚拟化的底层实现

1、CPU虚拟化

在这里插入图片描述
  虚拟CPU的正确运行是要保证虚拟机指令正确运行,现有的实现技术包括模拟执行和监控执行。调度问题是指VMM决定当前哪个虚拟CPU在物理CPU上运行,要保证隔离性、公平性和性能。

2、内存虚拟化

  内存虚拟化技术把物理内存统一管理,包装成多个虚拟的物理内存提供给若干虚拟机使用,每个虚拟机拥有各自独立的内存空间。

在这里插入图片描述
3、I/O设备虚拟化

  I/O设备虚拟化技术把真实的设备统一管理起来,包装成多个虚拟设备给若干个虚拟机使用,响应每个虚拟机的设备访问请求和I/O请求。

在这里插入图片描述

(三)虚拟机迁移

  虚拟机迁移是将虚拟机实例从源宿主机迁移到目标宿主机,并且在目标宿主机上能够将虚拟机运行状态恢复到其在迁移之前相同的状态,以便能够继续完成应用程序的任务。

在这里插入图片描述
1、虚拟机动态迁移

  实时迁移(LiveMigration),就是保持虚拟机运行的同时,把它从一个计算机迁移到另一个计算机,并在目的计算机恢复运行的技术。第一,云计算中心的物理服务器负载经常处于动态变化中,当一台物理服务器负载过大时,若此刻不可能提供额外的物理服务器,管理员可以将其上面的虚拟机迁移到其他服务器,达到负载平衡;第二,云计算中心的物理服务器有时候需要定期进行升级维护,当升级维护服务器时,管理员可以将其上面的虚拟机迁移到其他服务器,等升级维护完成之后,再把虚拟机迁移回来。

在这里插入图片描述
2、迁移步骤

在这里插入图片描述
3、迁移的内容

1)内存的迁移

  内存的迁移是虚拟机迁移最困难的部分。理论上,为了实现虚拟机的实时迁移,一个完整的内存迁移的过程可以分为以下三个阶段。
  第一阶段,Push阶段。在VM运行的同时,将它的一些内存页面通过网络复制到目的机器上。为了保证内容的一致性,被修改过的页需要重传。
  第二阶段,Stop-and-Copy阶段。VM停止工作,把剩下的页面复制到目的计算机上,然后在目的计算机上启动新的VM。
  第三阶段,Pull阶段。新的虚拟机运行过程中,如果访问到未被复制的页面,就会出现页错误并从原来的VM处把该页复制过来。
  实际上,迁移内存没有必要同时包含上述三个阶段,目前大部分的迁移策略只包含其中的一个或者两个阶段。

在这里插入图片描述
2)网络资源的迁移

  虚拟机这种系统级别的封装方式意味着迁移时VM的所有网络设备,包括协议状态(如TCP连接状态)以及IP地址都要随之一起迁移。在局域网内,可以通过发送ARP重定向包,将VM的IP地址与目的机器的MAC地址相绑定,之后的所有包就可以发送到目的机器上。

在这里插入图片描述
3)存储设备的迁移

  迁移存储设备的最大障碍在于需要占用大量时间和网络带宽,通常的解决办法是以共享的方式共享数据和文件系统,而非真正迁移。目前大多数集群使用NAS(Network Attached Storage,网络连接存储)作为存储设备共享数据。NAS实际上是一个带有瘦服务器的存储设备,其作用类似于一个专用的文件服务器。在局域网环境下,NAS已经完全可以实现异构平台之间,如NT、UNIX等的数据级共享。基于以上的考虑,Xen并没有实现存储设备的迁移,实时迁移的对象必须共享文件系统。

(四)隔离技术

  虚拟机隔离是指虚拟机之间在没有授权许可的情况下,互相之间不可通信、不可联系的一种技术。

在这里插入图片描述
  虚拟机隔离机制:网络隔离;构建虚拟机安全文件防护网;基于访问控制的逻辑隔离机制;通过硬件虚拟,让每个虚拟机无法突破虚拟机管理器给出的资源限制;硬件提供的内存保护机制;进程地址空间的保护机制,IP地址隔离。

1、内存隔离

在这里插入图片描述
  Xen将这层中间地址真正地映射到机器地址上却可以是不连续的,这样保证了所有的物理内存可被任意分配给不同的Guest OS。其关系如图所示。

在这里插入图片描述
  虚拟机监控器使用分段和分页机制对自身的物理内存进行保护。x86体系结构提供了支持分段机制的虚拟内存,这能够提供另一种形式的特权级分离。每个段包括基址、段限和一些属性位。基址和虚拟地址相加形成线性地址,段限决定了这个段中所能访问的线性空间的长度,属性位则标记了该段是否可读写,可执行,是代码段还是数据段等。

2、网络隔离

  网络隔离的目标是确保把有害的攻击隔离,在可信网络之外和保证可信网络内部信息不外泄的前提下,完成网间数据的安全交换。
  网络隔离的关键在于系统对通信数据的控制,即通过不可路由的协议来完成网间的数据交换。安全要素包括机密性、完整性、可用性、可控性、抵抗性等,安全机制包括访问控制、身份认证、加密签名等。

在这里插入图片描述

(五)案例分析

  VMware公司推出了面向云计算的一系列产品和解决方案。

在这里插入图片描述
1、VMotion

  VMotion是VMware用于在数据中心的服务器之间进行虚拟机迁移的技术。虚拟机迁移过程中主要采用三项技术:

  • ① 将虚拟机状态信息压缩存储在共享存储器的文件中
  • ② 将虚拟机的动态内存和执行状态通过高速网络在源ESX服务器和目标ESX服务器之间快速传输
  • ③ 虚拟化网络以确保在迁移后虚拟机的网络身份和连接能保留

2、VMware Storage VMotion

  VMware Storage VMotion用于实时迁移虚拟机磁盘文件,以便满足对虚拟机磁盘文件的升级、维护和备份。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/746169.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【十六】【QT开发应用】Menu菜单,contextMenuEvent,setContextMenuPolicy,addAction

在 Qt 框架中,QMenu 类用于创建和管理菜单。菜单是用户界面的一部分,可以包含多个选项或动作,用户可以选择这些选项来执行特定的功能。菜单通常显示在菜单栏、上下文菜单(右键菜单)或工具栏中。 基本用法 创建菜单对象…

# Kafka_深入探秘者(5):kafka 分区

Kafka_深入探秘者(5):kafka 分区 一、kafka 副本机制 1、Kafka 可以将主题划分为多个分区(Partition),会根据分区规则选择把消息存储到哪个分区中,只要如果分区规则设置的合理,那么所有的消息将会被均匀的…

边缘混合计算智慧矿山视频智能综合管理方案:矿山安全生产智能转型升级之路

一、智慧矿山方案介绍 智慧矿山是以矿山数字化、信息化为前提和基础,通过物联网、人工智能等技术进行主动感知、自动分析、快速处理,实现安全矿山、高效矿山的矿山智能化建设。旭帆科技TSINGSEE青犀基于图像的前端计算、边缘计算技术,结合煤…

u盘插到另一台电脑上数据丢失怎么办?提供实用的解决方案

在现代数字化生活中,U盘作为一种便携式存储设备,承载着我们重要的数据和信息。然而,有时当我们将U盘插入另一台电脑时,可能会遇到数据丢失的棘手问题。这可能是由于多种原因造成的,那么,U盘插到另一台电脑上…

使用隐式事件执行控制图

什么是隐式事件? 隐式事件是图表执行时发生的内置事件: 图表唤醒 进入一个状态 退出状态 分配给内部数据对象的值 这些事件是隐式的,因为您没有显式地定义或触发它们。隐式事件是它们发生的图表的子级,仅在父图表中可见。 隐式事…

png格式快速压缩该怎么做?在电脑压缩png图片的方法

png格式的图片如何快速压缩变小呢?现在网络的不断发展,图片是日常用来分享展示内容的一种常用手段,其中使用最多的一种图片格式就是png,png格式具有无损压缩支持透明底的特性,在很多的场景下都会使用。 现在图片的清晰…

笔记-python reduce 函数

reduce() 函数在 python 2 是内置函数, 从python 3 开始移到了 functools 模块。 官方文档是这样介绍的 reduce(...) reduce(function, sequence[, initial]) -> valueApply a function of two arguments cumulatively to the items of a sequence, from left …

健身房管理系统

摘 要 随着人们健康意识的增强,健身房作为一种提供健身服务的场所,受到越来越多人的关注和喜爱。然而,传统的健身房管理方式存在诸多问题,如信息管理不便捷、会员管理不规范等。为了解决这些问题,本文设计并实现了一款…

分享一套基于SSM的九宫格日志网站(源码+文档+部署)

大家好,今天给大家分享一套基于SSM的九宫格日志网站 开发语言:Java 数据库:MySQL 技术:SpringSpringMvcMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 博主介绍: 一名Java全栈工程师,专注于Java全…

AI大模型日报#0626:首款大模型芯片挑战英伟达、面壁智能李大海专访、大模型测试题爆火LeCun点赞

导读:AI大模型日报,爬虫LLM自动生成,一文览尽每日AI大模型要点资讯!目前采用“文心一言”(ERNIE-4.0-8K-latest)生成了今日要点以及每条资讯的摘要。欢迎阅读!《AI大模型日报》今日要点&#xf…

vue elementui简易侧拉栏的使用

如图所示&#xff0c;增加了侧拉栏&#xff0c;目的是可以选择多条数据展示数据 组件&#xff1a; celadon.vue <template><div class"LayoutMain"><el-aside :width"sidebarIsCollapse ? 180px : 0px" class"aside-wrap">…

MD5加密接口

签名算法 app_key和app_secret由对方系统提供 MD5_CALCULATE_HASH_FOR_CHAR&#xff08;中文加密与JAVA不一致&#xff09; 代码&#xff1a; *获取传输字段名的ASCII码&#xff0c;根据ASCII码对字段名进行排序SELECT * FROM zthr0051WHERE functionid iv_functionidINTO …

AI音乐大模型:深度剖析创意与产业的双重变革

随着AI技术的飞速发展&#xff0c;音乐大模型在最近一个月内纷纷上线&#xff0c;这一变革性技术不仅颠覆了传统的音乐创作方式&#xff0c;更是对整个音乐产业及创意产业带来了深远的影响。本文将从多个维度出发&#xff0c;深度剖析AI音乐大模型对创意与产业的双重变革。 一、…

多模态能力评估新篇章:MMStar引领大型视觉语言模型评估新标准

随着大模型&#xff08;LLMs&#xff09;的快速发展&#xff0c;将视觉模态整合进LLMs以提升模型的交互能力已成为研究的热点。这些大型视觉语言模型&#xff08;LVLMs&#xff09;不仅展现出强大的视觉感知和理解能力&#xff0c;还能够通过对话与用户互动&#xff0c;提供更丰…

Matlab|【免费】含氢气氨气综合能源系统优化调度

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序参考《_基于氨储能技术的电转氨耦合风–光–火综合能源系统双层优化调度》模型&#xff0c;对制氨工厂、风力发电、电制氢、燃气轮机、火电机组等主体进行建模分析&#xff0c;以火电机组启停成本、煤耗…

尚硅谷vue2的todolist案例解析,基本概括了vue2所有知识点,结尾有具体代码,复制粘贴学习即可

脚手架搭建 1-初始化脚手架&#xff08;全局安装&#xff09; npm install -g vue/cli2-切换到创建项目的空目录下 vue create xxxx整体结构 整体思路 App定义所有回调方法 增删改查 还有统一存放最终数据&#xff0c;所有子组件不拿数据&#xff0c;由App下发数据&#xf…

Spring Boot 集成 H2 数据库

1. 引言 Spring Boot 以其简洁的配置和快速开发能力&#xff0c;成为现代微服务架构的首选框架之一。而H2数据库作为一个轻量级的内存数据库&#xff0c;非常适合开发阶段作为嵌入式数据库进行单元测试和功能验证。本文将手把手教你如何在Spring Boot项目中集成H2数据库&#…

Mybatis 到 MyBatisPlus

Mybatis 到 MyBatisPlus Mybatis MyBatis&#xff08;官网&#xff1a;https://mybatis.org/mybatis-3/zh/index.html &#xff09;是一款优秀的 持久层 &#xff08;ORM&#xff09;框架&#xff0c;用于简化JDBC的开发。是 Apache的一个开源项目iBatis&#xff0c;2010年这…

DC/AC电源模块一种效率与可靠性兼备的能源转换解决方案

DC/AC电源模块都是一种效率与可靠性兼备的能源转换解决方案 DC/AC电源模块是一种能够将直流电源&#xff08;DC&#xff09;转换为交流电源&#xff08;AC&#xff09;的设备。它在现代电子设备中扮演着非常重要的角色&#xff0c;因为许多设备需要交流电源才能正常运行。无论…

VS Code修改菜单栏字体大小

修改方法 打开VS Code&#xff0c;快捷键 CtrlShiftP&#xff0c;在弹出的输入框中输入 setting&#xff0c;找到带有JSON的一项&#xff0c;如图所示&#xff1a; 原文链接 window.zoomLevel 前后变化 终端字体大小 File -> Preferences -> Settings -> Features…