FC计算虚拟化初级阶段知识梳理

初级阶段知识梳理

云计算简介

什么是云计算

  • 定义
    • 云计算是一种服务模式,能够实现随时随地、便捷的、随需应变的从可配置的共享资源池中获取资源(网络、计算、存储、应用、服务),资源能够快速供给并释放,使用户和服务提供商之间的交互减小到最低限度

  • 优势
    • 按需自助服务
      • 用户可以自主的在云计算服务提供商的平台上选择自己所需的服务,不会与服务提供商有过多的交互
    • 广泛的网络交互
      • 只要接入互联网用户可以随时随地都可以使用云计算提供的服务
    • 资源池化
      • 资源都放在一个共同资源池中,用户可以更加便捷
    • 快速弹性收缩
      • 资源能够快速供给并释放
    • 可计量服务
      • 资源池中的资源可以被计量下来,管理员可以更具已经量化的资源扩充,资源量化更方便管理员管理以及进行计费
    • 云计算的发展史
      • 互联网发展史
        • 1956年-互联网前身“阿帕网”(ARPANET)诞生,在阿帕网之后才产生了改变了整个世界的互联网
        • 1981年-TCP/ID协议的完整规范建立
        • 1984年-NDS诞生
        • 1995年-亚马逊、eBay等平台成立
        • 2006年-亚马逊提供共有云服务
      • 计算发展史
        • 串行计算——>并行计算——>分布式计算——>网络计算——>云计算
      • 云计算发展史
        • 云计算1.0
          • 虚拟化提高资源利用率
        • 云计算2.0
        • 基础设置云化

FusionSphere计算虚拟化

FusionSphere计算虚拟化产品是华为的虚拟化解决方案

  • FusionSphere虚拟化套件介绍
    在这里插入图片描述

  • 底层架构

    • X86 Servers:这是一个支持X86架构的服务器
    • SAN存储:集中式SAN存储技术
    • Firewall(防火墙):保障用户内网络的安全
    • 3rd party Hypervisore:第三方的虚拟化套件,FusionSphere也可以管理第三方的虚拟化套件
  • FusionSphere虚拟化产品的核心FusionCompute,缺少了它整个产品架构就无法使用。

  • FusionManaher是整套虚拟化套件的管理工具,可以通过FusionManager来管理第三方的虚拟化环境

  • 为了保障平台的稳定运行,需要用其它重要的组件

    • UltraVR:用来容灾,容灾就是在灾难发生后的短时间内恢复业务运行。
    • eBackup :业务数据备份,可以将虚拟机传存到其它存储服务器中。
  • 在FusionSphere虚拟化套件之外的组件

    • FusionStorage Block:是华为的分布式存储组件,可以将服务器中剩余的存储资源管理起来,形成一个分布式的管理池
    • FusionCube
    • FusionAccess
    • Customer Apps:第三方的软件可以安装在FusionCompute之上

FusionSphere服务器虚拟化架构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l9V0yckU-1643871701605)(./3.png)]

  • FusionSphere虚拟化解决方案有服务器虚拟化产品(FusionCompute)\虚拟化管理软件(FusionManager)、备份软件(eBackup)和容灾软件组成(UltrVR)组成。主要是西安硬资源的虚拟化,以及对虚拟资源集中管理,提供基础备份、容灾、轻量级运营、云基础服务、性能管理等能力。

在这里插入图片描述

  • FusionSphere架构特点
    在这里插入图片描述

FusionSphere应用场景

  • 单虚拟化场景
    • 只采用FusionCompute作为统一的维护管理平台对整个系统进行操作与维护的应用场景
  • 多虚拟化场景
    • 多套虚拟化环境需要进行统一管理
      • 统一管理和维护:支持同时姐uFusionCompute和VMwate虚拟化环境,对多虚拟化环境的组员和业务进行统一的管理和维护
      • 统一监控告警:支持对多个虚拟化环境、多种物理设备的告警惊醒统一借入、监控和管理
  • 私有云场景
    • 多租户共享VPC场景
    • 多租户私有VPC场景

FusionCompute场景

  • FusionCompute 云操作系统软件,主要负责硬件资源的虚拟化,对虚拟资源、业务资源的集中管理
    在这里插入图片描述

FusionComput模块功能

在这里插入图片描述

FusionComput产品功能-虚拟化计算

  • fusionComput支持将x86服务器虚拟化为多台虚拟机,最终用户可以在这些虚拟机商安装各种软件,挂载磁盘,调整配置,调整网络,就像普通的x86服务器一样使用它。
    • 虚拟化计算:将物理服务器抽象成逻辑自愿资源,让一台服务器变成几台甚至几百台服务器

对于最终用户,虚拟机比物理机的优势在于它可以很快的发放很方便的调整配置和组网。对于维护人员来说,虚拟机复用了硬件,这样硬件更少,加上云平台的祖丁维护能力,维护成本显著降低。对于系统管理员,可以很直观的指导资源使用的总量及变化趋势,一边决策是否扩容。

FusionComput产品功能-虚拟化存储

  • FusionComput支持将SAN设备、计算节点本地存储以及FusionStorage提供的虚拟存储空间统一管理,以虚拟卷的形式分配给虚拟机使用。
    • 将存储设备抽象成数据存储,然后分配给虚拟机使用,虚拟机以文件的形式粗放在数据存储当中。
      在这里插入图片描述

FusionComput产品功能-虚拟化网络

  • 虚拟化网络:每个虚拟机都拥有虚拟网卡,虚拟网卡举报你IP/地址MAC.从虚拟机角度,虚拟网卡和物理网卡一致。虚拟网卡连接DVS的端口组,DVS使用上行链路和物理网络连接

虚拟化的价值

  • 提高资源的利用率:服务器资源共享、分时共享
  • 提高业务的可靠性

I/O虚拟化

  • I/O虚拟化可以被看作是位于服务器组件的系统和各种可用I/O处理单元之间的硬件中间件层,使得多个guset可以复用有限的外设资源
  • 设备虚拟化(I/O虚拟化)的过程,就是模拟设备的这些寄存器和内存,截获GuestOS对IO端口的寄存器的访问,通过软件的方式来模拟设备的行为。
  • 在QEMU/KVM中,客户机可以使用的设备大致可分为三类:
    • 模拟设备:完全由QEMU村软件模拟的设备
    • Virtio设备:实现VIRTIO API的半虚拟化设备
    • PCI设备直接分配(PCI device assignment)
I/O虚拟化-全模拟
  • 用软件完全模拟一个特定的设备
    • 保持一样的软件接口,如:PIO、MMIO、DMA、中断等

    在虚拟机上进行操作,虚拟机将运行指令给到Hypervisor由Hypervisor将指令传到QEMU去模拟这条指令给到Driver然后Driver给到下面的物理硬件去执行(Device),硬件执行完后同样的路径再返还回去给虚拟机。

    • 好处:软件模拟的设备对不影响虚拟机中的软件栈:原生驱动

    • I/O虚拟化-virtio
      在这里插入图片描述

    • 直接通过Shared Memory转换,前端驱动(虚拟机)——>Shared Memory(共享页)——>后端QEMU再到共享页中获取数据往后执行

    • PCI设备直接分配

在这里插入图片描述

  • PCI设备直接分配就不用经过KVM虚拟化层直接给Guest OS.(一般适用与显卡)

  • FusionCompute计算虚拟化管理

CPU虚拟化原理-虚拟化问题

  • CPU虚拟化需要解决两个问题
    • 如何模拟CPU指令(所有敏感指令)
      • 敏感指令:可以读写系统关键资源的指令叫做敏感指令。
      • 特权指令:绝大多的铭感指令是特权指令,特权指令只能在处理器的最高特权级(内核态)指向。
        • 列如:对虚拟机进行开机关机的指令就是特权指令,虚拟机的开机关机由Ring0执行
    • 如何让多个VM共享CPU
      • 利用与Native操作系统类似的机制一通过定时器中断,在中断触发时陷入VMM,从而更具调度机制进行调度。
  • FusionCompute计算虚拟化技术采用的时KVM技术。KVM的CPU虚拟化是基于CPU辅助的全虚化方案,它还需要CPU虚拟化特性的支持。
    • 硬件辅助虚拟化有两种模式root模式和非root模式,非rroot模式有Ring0到Ring3四个级别,root模式也有ing0到roo3四个级别
      在这里插入图片描述

Ring0是内核态,Ring3是用户态
在这里插入图片描述

- 在root模式下的Ring0的优先级更高 

虚拟机共享CPU

  • 利用原始操作系统类似的机制一通过定时器中断(VM exit),在中断触发时陷入VMM,从而根据调度机制惊醒调度。
    在这里插入图片描述

客户虚拟机运行在非root模式下,用户通过客户虚拟机下达敏感指令–>传到VCPU有VCPU判断指令是要进行I/O操作或是非I/O操作,如是I/O操作就会转到I/O操作模拟由(Qemu)User模式特权级3去处理,如果是非I/O操作可直接在VCPU中处理后返回给客户虚拟级,由(KVM)Kerne模式特权级0去执行

  • Qemu是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备。虚拟机以为自己是直接和硬件打交道,其实是和Qemu模拟出来的硬件打交道,Qemu将虚拟机中传过来的指令转义给正真的物理硬件去处理,物理硬件处理后返回给Qemu,再由Qemu返还给虚拟机

CPU与VCPU对应关系

在这里插入图片描述

  • 服务器有多个CPU每个CPU都有物理的核心数(如:4核、八核),每一个核心数都会对应二个线程,每一个线程对应一个虚拟CPU(VCPU),也就是说每个VCPU对应一个线程。

在这里插入图片描述

物理机的物理内存 HPA——物理机的虚拟内存 HVA——虚拟机的物理内存 GPA——虚拟机的虚拟内存 GVA

内存虚拟化

  • 内存虚拟化:把物理机的正式物理内存统一管理,包装成多个虚拟机的内存给若干个虚拟机使用。KVM通过内存虚拟化共享物理系统内存,动态分配给虚拟机

在这里插入图片描述

  • 如上图那样的内存映射关系GVA到GPA再到HPA的内存转换,由于经历的两次转换会导致内存映射路径过长从而效率低。这就有另一个机制能够实现从GVA到GPA再到HPA的内存转换,使用影子页映射,每个虚拟机都会有一个影子页表,影子页将加入到内存管理单元去转换,可以直接通过影子页表直接转移给HPA。

    由于宿主机MMU不能直接装载客户机的页表来进行内存访问,所以当客户机访问宿主机物理内存时,需要经过多次地址转换。也即首先根据客户机页表把客户机虚拟地址 (GVA)转换成客户机物理地址 (GPA),然后再通过客户机物理地址 (GPA)到宿主机虚拟地址 (HVA)之间的映射转换成宿主机虚拟地址,最后再根据宿主机页表把宿主机虚拟地址 (HVA)转换成宿主机物理地址 (HPA),由于经历的两次转换会导致内存映射路径过长从而效率低。而通过影子页表,则可以实现客户机虚拟地址到宿主机物理地址的直接转换。

    • 影子页面也有缺点:1、实现难度大,开发、维护、调试,1、如果主机上的虚拟机由100个虚拟机就会由100个影子页表,影子页表也会占用一点内存,如果虚拟机多虚拟机中的影子页表,就会占用主机上的物理内存开销大
      • 使用很多影子页表占用多物理内存,因为影子页面是由软件实现的,而使用软件会占用一定量的内存。这个问题的解决办法
        • Intei提供了扩屋页表技术

          Intel的CPU提供了EPT (Extended Page Tables,扩展页表)技术,直接在硬件上支持GVA->GPA->HPA的地址转换,从而降低内存虚拟化实现的复杂度,也进一步提升内存虚拟化性能

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值