虚拟化技术[1]之服务器虚拟化

文章目录

  • 虚拟化技术简介
    • 数据中心虚拟化
  • 服务器虚拟化
    • 服务器虚拟化层次
      • 寄居虚拟化
      • 裸机虚拟化
      • VMM无法直接捕获特权指令解决方案
    • 服务器虚拟化底层实现
      • CPU虚拟化
      • 内存虚拟化
      • I/O设备虚拟化
    • 虚拟机迁移
      • 虚拟机动态迁移
      • 迁移内容:内存迁移
      • 迁移内容:网络资源迁移
      • 迁移内容:存储设备迁移
    • 隔离技术
      • 内存隔离
      • 网络隔离

虚拟化技术简介

  • 虚拟化技术伴随着计算机的出现而产生和发展起来,虚拟化技术可以用来对数据中心的各种资源进行虚拟化和管理,可以实现服务器虚拟化、存储虚拟化、网络虚拟化和桌面虚拟化。虚拟化技术已经成为构建云计算环境的一项关键技术。
  • 虚拟化技术将数据中心的物理资源进行抽象整合。数据中心虚拟化可以实现资源的动态分配和调度,提高现有资源的利用率和服务可靠性;提供自动化的服务开通能力,降低运维成本;具有有效的安全机制和可靠性机制,满足公众客户和企业客户的安全需求;同时也可以方便系统升级、迁移和改造。

数据中心虚拟化

  • 服务器虚拟化:将一个或多个物理服务器虚拟成多个逻辑上的服务器
  • 存储虚拟化:把分布的异构存储设备统一为一个或几个大的存储池
  • 网路虚拟化:在底层物理网络和网络用户之间增加一个抽象层

服务器虚拟化

服务器虚拟化层次

寄居虚拟化

  • 寄居虚拟化的虚拟化层一般称为虚拟机监控器(VMM)。
  • 系统损耗比较大
  • 操作系统层的虚拟化,没有独立的Hypervisor层
  • 使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统
    在这里插入图片描述

裸机虚拟化

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

VMM无法直接捕获特权指令解决方案

在这里插入图片描述

  • 完全虚拟化具有较好兼容性,在服务器虚拟化中应用广泛
  • 半虚拟化技术降低由于虚拟化而引入的系统性能损失

服务器虚拟化底层实现

CPU虚拟化

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

在这里插入图片描述

内存虚拟化

  • 内存虚拟化技术:物理内存统一管理,包装成多个虚拟的物理内存提供给若干虚拟机使用,每个虚拟机拥有各自独立的内存空间。
  • 虚拟内存的管理包括3种地址:机器地址、物理地址、虚拟地址
    在这里插入图片描述
  1. 虚拟地址(Virtual Address):

    • 由应用程序生成的地址。虚拟地址空间独立于物理内存,因此每个进程认为自己拥有一个连续且独立的地址空间。
    • 虚拟地址通过内存管理单元(MMU)进行映射,转换为物理地址。
  2. 物理地址(Physical Address):

    • 实际存在于内存中的地址。物理内存是真实硬件提供的存储空间。
    • 操作系统和硬件联合负责将虚拟地址翻译成物理地址,以便进行实际的存储操作。
  3. 机器地址(Machine Address):

    • 机器地址有时也指物理地址,两者在大多数上下文中是同义的。
    • 在某些特定的硬件架构或文档中,机器地址可能特指硬件层面的一些特殊地址,然而普遍理解是物理地址。

I/O设备虚拟化

  • I/O设备虚拟化技术把真实的设备统一管理起来,包装成多个虚拟设备给若干个虚拟机使用,响应每个虚拟机的设备访问请求和I/O请求
  • I/O设备虚拟化同样是由VMM进行管理,主要有全虚拟化、半虚拟化和软件模拟三种思路。
  1. 全虚拟化(Full Virtualization):

    • 在全虚拟化中,VMM模拟真实的硬件设备,使得虚拟机中的操作系统和应用程序可以完全不知道自己运行在虚拟化环境中。
    • 优点是兼容性好,不需要修改客户操作系统。然而,由于需要模拟硬件,可能会导致性能下降
  2. 半虚拟化(Paravirtualization):

    • 半虚拟化通过修改客户操作系统,使其意识到自己运行在虚拟化环境中,并提供特殊的API来优化I/O操作。
    • 这种方法可以显著提高I/O性能,但需要对客户操作系统进行修改,这可能会限制其应用范围。
  3. 软件模拟(Software Emulation):

    • 软件模拟是通过软件完全模拟硬件设备的行为。这种方法可以在任何硬件上运行任何操作系统,但通常性能较低
    • 软件模拟常用于测试和开发环境,或者在需要支持多种不同操作系统的场景中

虚拟机迁移

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

虚拟机动态迁移

  • 实时迁移(LiveMigration):保持虚拟机运行的同时,把它从一个计算机迁移到另一个计算机,并在目的计算机恢复运行的技术。
  1. 当云计算中心的物理服务器负载过大时,管理员可以将其上面的虚拟机迁移到其他服务器,达到负载平衡
  2. 云计算中心的物理服务器需要定期进行升级维护,当升级维护服务器时,管理员可以将其上面的虚拟机迁移到其他服务器,等升级维护完成之后,再把虚拟机迁移回来
    在这里插入图片描述
    在这里插入图片描述
  3. 预迁移(Pre-Migration):主机A打算迁移其上的一个虚拟机VM,首先选择一个目的计算机。
  4. 预定资源(Reservation):主机A向主机B发起迁移请求,先确认B是否有必需的资源,若有,则预定这些资源;若没有,VM仍在主机A中运行,可以继续选择其他计算机作为目的计算机。
  5. 预复制(InterativePre-Copy):在这一阶段VM仍然运行,主机A以迭代的方式将VM的内存页复制到主机B上。在第一轮迭代中,所有的页都要从A传送到B,以后的迭代只复制前一轮传送过程中被修改过的页面。
  6. 停机复制(Stop-and-Copy):停止主机A上的VM,把它的网络连接重定向到B。CPU状态和前一轮传送过程中修改过的页都在这个步骤被传送。最后,主机A和主机B上有一致的VM映象。
  7. 提交(Commitment):主机B通知A已经成功收到了VM的映像,主机A对这个消息进行确认,然后主机A可以抛弃或销毁其上的VM。
  8. 启动(Activation):启动迁移到B上的VM,迁移后使用目的计算机的设备驱动,广播新的IP地址。

迁移内容:内存迁移

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

在这里插入图片描述

迁移内容:网络资源迁移

  • 虚拟机这种系统级别的封装方式意味着迁移时VM的所有网络设备,包括协议状态(如TCP连接状态)以及IP地址都要随之一起迁移。

  • 在局域网内,可以通过发送ARP重定向包,将VM的IP地址与目的机器的MAC地址相绑定,之后的所有包就可以发送到目的机器上。

迁移内容:存储设备迁移

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

隔离技术

  • 虚拟机隔离指虚拟机之间在没有授权许可的情况下,互相之间不可通信、不可联系的一种技术。
    • 从软件角度,互相隔离的虚拟机之间保持独立,如同一个完整的计算机
    • 从硬件角度,被隔离的虚拟机相当于一台物理机,有自己的CPU、内存、硬盘、I/O等,它与宿主机之间保持互相独立的状态
    • 从网络角度,被隔离的虚拟机如同物理机一样,既可以对外提供网络服务,也可以从外界接受网络服务
  • 虚拟机隔离是确保虚拟机之间安全与可靠性的一种重要手段,现有虚拟机隔离机制主要包括:网络隔离;构建虚拟机安全文件防护网;基于访问控制的逻辑隔离机制;通过硬件虚拟,让每个虚拟机无法突破虚拟机管理器给出的资源限制

内存隔离

在这里插入图片描述

  • MMU(Memory Management Unit 内存管理单元),它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,负责将虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权

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


  • 虚拟机监控器使用分段和分页机制对自身的物理内存进行保护。x86体系结构提供支持分段机制的虚拟内存,这能够提供另一种形式的特权级分离。

  • 基址:基址+虚拟地址=>线性地址
  • 段限:决定段中所能访问的线性空间的长度
  • 属性位:标记是否可读写、可执行、属于代码段还是数据段

网络隔离

  • 网络隔离:确保把有害的攻击隔离,在可信网络之外和保证可信网络内部信息不外泄的前提下,完成网间数据的安全交换。
  • 网络隔离关键:在于系统对通信数据的控制,即通过不可路由的协议来完成网间的数据交换

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

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

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

相关文章

小结5:朗读练习第二段

五、朗读练习2 2024-5-6始,5-14终,5-15写。 我渐渐体会到一些朗读的乐趣。但我还要考研,要写作业、期末考试。如果是在大一该多好。我可以就这样一天一天的写下去,慢慢地有一些自己的作品,还能录视频发到b站上。 上一篇…

codewars check_same_case 题解

题目 编写一个函数来检查两个给定的字符是否大小写相同。 如果任何字符不是字母,则返回-1如果两个字符大小写相同,则返回1如果两个字符都是字母且大小写不同,则返回0 例子 a并g返回1A并C返回1b并G返回0B并g返回00并?返回-1题解 1 此题主…

在Windows上创建RAM Disk

在Windows 10上创建一个与Linux中的tmpfs相似的内存文件系统(一个文件系统,它使用主内存作为存储)通常不是操作系统直接提供的功能。不过,有一些方法可以实现类似的效果。 使用软件创建RAM Disk 有一些第三方软件可以帮助在Wind…

自主创新助力科技强军,麒麟信安闪耀第九届军博会

由中国指挥与控制学会主办的中国指挥控制大会暨第九届北京军博会于5月17日-19日在北京国家会议中心盛大开展,政府、军队、武警、公安、交通、人防、航天、航空、兵器、船舶、电科集团等从事国防军工技术与产业领域的30000多名代表到场参加。 麒麟信安作为国产化方案…

2024年英国皇家学会新增院士名单和三位华人学者简介

近日,英国皇家学会公布了2024年新当选的院士及外籍院士名单,他们也是访问学者、博士后及联合培养博士们关注的目标导师。为此知识人网小编推出该文,以飨读者。 当地时间2024年5月16日,英国皇家学会(The Royal Society&…

这台电脑无法运行Windows11问题解决方案

今天就记录一下我使用VMware安装Windows11遇到的问题:这台电脑无法运行Windows11的解决方案。 经过排查发现是VMware需要给虚拟机添加 可信平台模块 要注意直接添加 可信平台模块 是添加不上的,需要先给虚拟机加密 以下是给虚拟机加密的流程 1、点击虚…

第12周作业--HLS入门

目录 一、HLS入门 二、HLS入门程序编程 创建项目 1、点击Vivado HLS 中的Create New Project 2、设置项目名 3、加入文件 4、仿真 3、综合 一、HLS入门 1. HLS是什么?与VHDL/Verilog编程技术有什么关系? HLS(High-Level Synthesis&#xff0c…

微服务雪崩问题、Sentinel(请求限流、线程隔离、服务熔断)、Seata分布式事务

文章目录 前言一、微服务保护二、Sentinel2.1 微服务整合2.2 簇点链路2.3 请求限流2.4 线程隔离2.5 服务熔断 三、分布式事务3.1 Seata3.1.1 Seata架构3.1.2 部署TC服务3.1.3 微服务集成Seata 3.2 XA模式3.3 AT模式 前言 微服务之间为什么会雪崩?怎么解决雪崩问题&…

AIGC基础教学:AI+建筑设计,一场划时代变革的序幕已经拉开

2015年9月,美的集团本着把艺术融入民间的理念,邀请了安藤忠雄设计正在筹建中的美术馆。 在历经长达近120天的设计工作之后,美术馆于同年12月动工。这座具有岭南建筑文化意境的美术馆,后来荣获2020年美国建筑大师奖(Architecture …

JUnit5标记测试用例

使用场景: 通过Tag对用例分组: 环境分组:测试环境、预发布环境阶段分组:冒烟用例版本分组:V1.1、V1.2 Tag标记用例: 设置标签根据标签执行 结合Maven执行结合测试套件执行 设置标签: 通过T…

图书管理系统(Java版本)

文章目录 前言要求1.设置对象1.1.图书1.2.书架2.管理员3.功能的实现 2.搭建框架2.1.登录(login)2.2.菜单2.3.操作方法的获取 3.操作方法的实现3.1.退出系统(ExitOperation)3.2.显示图书(ShowOperation)3.3.查阅图书(FindOperation)3.4.新增图书(AddOperation)3.5.借出图书(Borr…

Day38 贪心算法part05

LC435无重叠区间(未掌握) 思路:先对数组进行排序,找到非重叠的区间的个数,然后区间的总数减去非重叠区间的个数即是需要移除的区间的个数与LC452用最少数量的箭引爆气球类似,但是不同的是[1,2]和[2,3]在此题并不是重叠区间但是在…

【pyspark速成专家】3_Spark之RDD编程1

目录 ​编辑 一,创建RDD 二,常用Action操作 三,常用Transformation操作 一,创建RDD 创建RDD主要有两种方式,一个是textFile加载本地或者集群文件系统中的数据, 第二个是用parallelize方法将Driver中的…

vue-officef实现pdf文件在线预览

一、参考网址 https://www.cnblogs.com/guozhiqiang/p/17957288 1、引入依赖 npm install vue-office/pdf vue-demi2、编写组件 <template><vue-office-pdf :src"pdf"/> </template> <script> // import pdf from vue-pdf import VueOffice…

机器学习云环境测试

等待创建完成后&#xff0c;点击 PyTorch 打开&#xff0c;创建一个全新的 notebook 在 Cell 中输入如下代码&#xff0c;并点击 Run 完成后点击 New Cell &#xff0c;在 New Cell 中输入如下代码 输入完成后点击 Run &#xff0c;运行 New Cell 。&#xff08;每个 Cell 代…

云和恩墨海外首秀在吉隆坡召开的2024中国智能科技与文化展览会

作为中马建交50周年官方重点推荐的活动之一&#xff0c;2024中国智能科技与文化展览会&#xff08;第四届&#xff09;于5月20至21日在毗邻吉隆坡双子塔的吉隆坡国际会展中心举办。本次展览会获得马来西亚科学技术创新部、马来西亚通讯部、中国驻马来西亚大使馆和马来西亚中华总…

获得 AI Applied Skills 凭证:微软在线评估认证的注意事项

在你踏上微软的亚洲AI奥德赛之旅&#xff0c;完成基础课程学习后&#xff0c;你可以继续进行相应的评估&#xff0c;在交互式实验室体验中完成一系列任务&#xff0c;通过线上即时评估赢得认证。通过本文的介绍&#xff0c;可以帮助你了解评估认证的一些细节以及注意事项&#…

C++中的四种类型转换运算符

隐式类型转换是安全的&#xff0c;显式类型转换是有风险的&#xff0c;C语言之所以增加强制类型转换的语法&#xff0c;就是为了强调风险&#xff0c;让程序员意识到自己在做什么。但是&#xff0c;这种强调风险的方式还是比较粗放&#xff0c;粒度比较大&#xff0c;它并没有表…

[协议]stm32读取AHT20程序示例

AHT20温度传感器使用程序&#xff1a; 使用i2c读取温度传感器数据很简单&#xff0c;但市面上有至少两个手册&#xff0c;我这个对应的手册贴出来&#xff1a; main: #include "stm32f10x.h" // Device header #include <stdint.h> #includ…

【408精华知识】页、页面、页框、页帧、内存块、物理块、物理页面还傻傻分不清?

在做题过程中&#xff0c;我们经常能看到页、页框、块等概念&#xff0c;初接触时&#xff0c;常感觉傻傻分不清&#xff0c;这篇文章将简洁地介绍它们之间的联系与区别。 这些概念之间的根本区别&#xff0c;在于是物理上的概念还是逻辑上的概念&#xff0c;也即是虚地址还是实…