云计算(三)——虚拟化技术

虚拟化技术

虚拟化是云计算的核心技术,但不是其专用技术

本质是通过添加虚拟化层将原先的物理设备进行逻辑化,转化成一个文件夹或文件,实现软硬件的解耦

虚拟化层次

image-20221029161547028

虚拟机可以看作物理机的一种高效隔离的复制。

层次之间比较:

image-20221030221456633

硬件级虚拟化

​ 添加称为虚拟化层的软件管理客户操作系统,使其能够独立于主机操作系统同时运行在同一个硬件上(VMM:Virtual Machine Monitor)

​ 虚拟化层用于虚拟化基础设备:CPU、内存、存储、IO、网络

优势

  • 封装性
  • 多实例
  • 隔离
  • 硬件无关行
  • 特权功能

条件

  • 特权指令:管理和操作关键系统资源的指令,只有在最高特权级才能执行

  • 敏感指令:操作特权资源的指令

    • 修改虚拟机运行模式或者物理机状态
    • 读写敏感的寄存器或内存,如时钟或中断寄存器
    • 访问存储保护系统、内存系统或地址重定位系统

​ 客户机操作系统的敏感指令都是特权指令才能实现虚拟化——陷入VMM,或者客户机系统的所有指令全部由VMM执行

image-20221030221711433

硬件对象

CPU

  • 任意时刻一个物理CPU只能运行一个虚拟CPU
  • 每个客户操作系统可以使用一个或多个虚拟CPU
  • 各个操作系统之间虚拟CPU相互隔离,互不影响

调度:VMM决定当前哪个虚拟CPU在物理CPU上执行,保证隔离、公平和性能

执行:虚拟CPU正确运行是保证虚拟机指令正确运行,实现技术包括模拟执行和监控执行

虚拟化方式

  • 基于软件的完全虚拟化:一切为VMM掌控,底层硬件与上层客户操作系统互不知晓
  • 基于硬件辅助的虚拟化:硬件中加入针对虚拟化的支持,使得系统软件更加容易高效地实现虚拟化
  • 改操作系统的类虚拟化:修改暴露给虚拟机的硬件抽象和上层操作系统;修改后的操作系统能意识到虚拟环境的存在

image-20221030192935723

类虚拟化的三大优势:

  • 通过消减冗余代码、减少地址空间切换和跨特权级切换、减少内存复制等,优化虚拟化的性能开销
  • 一定程度上消除了虚拟层和上层操作系统间的语义鸿沟:操作系统内部运行状态能被VMM获得
  • 使得硬件抽象层的抽象高度更加灵活,为实现各种不同功能的硬件抽象探索出了可行的路径

操作系统级虚拟化

​ 在操作系统中插入一个虚拟化层,一个操作系统内核运行多个虚拟机。可以看作是“寄居虚拟化”的一种。

优点:

  • 最小的启动、停止开销,资源需求低,可扩展性强
  • 可同步虚拟机与宿主操作系统环境状态的变化
  • 允许虚拟机中进程访问尽可能多的主机资源

缺点:

  • 同一个容易中的操作系统级虚拟机必须使用相同的客户操作系统
  • 资源隔离性较差

云数据中心的虚拟化

服务器虚拟化

​ 虚拟机和容器共存,容器的地位不断提升,目前与虚拟机相当。

高效率的 unikernel 技术:

  • unikernel 是使用库操作系统(LibOS)构建的专用的、单一地址空间机器镜像。
  • LibOS 库操作系统:在应用程序层中实施访问控制和隔离,用户应用无需在用户模式和内核模式间切换,直接访问硬件;然而多个应用程序同时运行时隔离性不好。
  • 可使用操作系统虚拟化(虚拟机监控器 VMM)克服硬件资源隔离缺陷:LibOS 通过 VMM 驱动物理硬件,像虚拟机一样运行。

存储虚拟化

概念:存储虚拟化将系统中分散且异构的存储资源整合起来,形成一个统一的连续编址的逻辑存储空间。

具体实现

  • 基于主机的存储虚拟化
  • 基于存储设备的存储虚拟化
  • 基于网络的存储虚拟化

网络虚拟化

​ 云数据中心对网络的高带宽、低拥塞的要求更高。

​ 虚拟机网络的交互包括物理网卡的虚拟化产物和虚拟网络交换机,都是在服务器内部虚拟出相应的网卡功能和交换机功能。

  • 虚拟网卡:在一个物理网卡上虚拟出多个逻辑独立的网卡,使得每个虚拟网卡具有独立的MAC地址、IP地址
  • 虚拟交换机:使得主机内部如同存在一台交换机,为多个网卡提供互联,方便设置网卡连接的端口

虚拟机迁移策略

迁移需求

  • 云计算中心物理服务器负载处于动态变化中,当无法提供额外物理资源而为了负载平衡,可将占用热门物理资源的虚拟机迁移到其他物理服务器。

  • 物理服务器定期升级的需要,升级前将虚拟机迁移到其他物理服务器,等升级完成再迁移回来。

  • 云计算中关注的重点:实时迁移,保持虚拟机运行的同时,将其从一个计算机迁移到另一个计算机,并在目的计算机恢复运行。

内存迁移(*)

​ 第一阶段:Push;第二阶段:Stop-and-push;第三阶段:Pull

image-20221029160902391

网络迁移

​ 虚拟机所有网络设备,包括协议状态以及IP地址都要随之迁移;通过发送并修改相关配置实现

存储设备迁移

  • 迁移数据存储要占用大量时间和网络带宽,通常的解决办法是以共享的方式共享数据和文件系统,而非真正迁移
  • 目前大多数集群使用NAS(Network Attached Storage)作为存储设备共享数据
posted @ 2022-10-29 16:45  PTCGnaya  阅读(858)  评论(0)    收藏  举报