IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> HICP云计算---计算虚拟化 -> 正文阅读

[系统运维]HICP云计算---计算虚拟化

一.什么是虚拟化

  • 虚拟化是一个抽象层,它打破了物理硬件和操作系统之间的硬性连接。
  • 虚拟基础结构是一种企业级解决方案,可提供流畅、强大的计算能力,从而最大限度地利用资源和节约成本。
  • 虚拟机是虚拟基础结构的重要元素。虚拟化可以让您在同一台物理机上独立、并行运行安装不同操作系统和应用程序的多台虚拟机。
  • 使用虚拟化,您可以根据需要动态移动资源和处理能力。

虚拟化前:1.IT资源独立;2.操作系统必须与硬件紧耦合。

虚拟化后:1.资源抽像成共享资源池;2.上层操作系统与硬件解耦,操作系统从资源池中分配资源。

二.虚拟化的本质

  • 分区:在单一物理服务器上同时运行多个虚拟机
  • 隔离:在单一物理服务器上的多个虚拟机之间相互隔离
  • 封装:整个虚拟机执行环境封装在独立文件中,可以通过移动文件的方式来迁移该虚拟机。
  • 相对硬件独立:虚拟机无需修改,即可在任何服务器上运行

三.CPU虚拟化

  1. CPU虚拟化需要解决两个问题:

? ? A.如何模拟CPU指令 (所有敏感指令)

  • 敏感指令:可以读写系统关键资源的指令叫做敏感指令。
  • 特权指令:决大多数的敏感指令是特权指令,特权指令只能在处理器的最高特权级 (内核态)执行。

? ?B.如何让多个VM共享CPU

  • 利用与Native操作系统类似的机制—通过定时器中断,在中断触发时陷入VMM,从而根据调度机制进行调度。

? ? 2.FusionCompute计算虚拟化技术采用的是KVM技术。KVM的CPU虚拟化是基于CPU辅助的全虚拟化方案,它需要CPU虚拟化特性的支持。

  1. 虚拟机VM共享CPU
  • 利用与原始操作系统类似的机制—通过定时器中断,在中断触发时陷入VMM,从而根据调度机制进行调度。

?

四.内存虚拟化

1.Native操作系统对内存的认识与管理达成以下两点认识:

  • 内存都是从物理地址0开始的
  • 内存都是连续的

2.内存虚拟化需要解决两个的问题:

  • 从物理地址0开始的:物理地址0只有一个,无法同时满足所有客户机从0开始的要求;
  • 地址连续:虽然可以分配连续的物理地址,但是内存使用效率不高,缺乏灵活性。

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

4.KVM中,虚机的物理内存即为qemu-kvm进程所占用的内存空间。KVM使用CPU 辅助的内存虚拟化方式。在Intel平台,其内存虚拟化的实现方式为EPT ?(Extended Page Tables)技术。

?

五.I/O虚拟化

1.I/O虚拟化需要解决两个问题

  • 设备发现: 需要控制各虚拟机能够访问的设备;
  • 访问截获: 通过I/O端口或者MMIO对设备的访问;设备通过DMA与内存进行数据交换;
  1. I/O虚拟化可以被看作是位于服务器组件的系统和各种可用I/O处理单元之间的硬件中间件层,使得多个guest可以复用有限的外设资源。
  2. 设备虚拟化(I/O虚拟化)的过程,就是模拟设备的这些寄存器和内存,截获Guest OS对IO端口和寄存器的访问,通过软件的方式来
  3. 在QEMU/KVM中,客户机可以使用的设备大致可分为三类:
  • 模拟设备:完全由 QEMU 纯软件模拟的设备
  • Virtio 设备:实现 VIRTIO API 的半虚拟化设备
  • PCI 设备直接分配 (PCI device assignment)

5.用软件完全模拟一个特定的设备

  • 保持一样的软件接口,如:PIO、MMIO、DMA、中断等
  • 可以模拟出跟系统中的物理设备不一样的虚拟设备

6.每次I/O操作需要多次上下文切换

  • VM <-> Hypervisor
  • Qemu <-> Hypervisor

7.软件模拟的设备对不影响虚拟机中的软件栈

  • 原生驱动

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 12:04:23  更:2021-12-09 12:06:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:17:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码