计算虚拟化学习笔记(一)

计算虚拟化学习笔记(一),第1张

计算虚拟化学习笔记(一) 计算机虚拟化 什么是虚拟化?
  • 物理资源(CPU、硬盘)通过中间的软件层转化成虚拟资源(Vcpu、虚拟内存、虚拟硬盘)虚拟化资源会给虚拟机使用,虚拟化的优势

    • 提高资源利用率
    • 虚拟机可移植性强(实现对虚拟机的迁移也就是去迁移磁盘文件和配置文件)
  • 虚拟级的底层形式文件(主要:磁盘文件、配置文件)

    • 磁盘文件 虚拟机啊的磁盘在底层的存放形式,不同的虚拟化的格式
    • 配置文件 虚拟机的配置信息(网卡信息、cpu信息、系统的信息)

计算虚拟化发展史

物理服务器的架构和虚拟机的架构

虚拟化的分类
  • 1型虚拟化(裸金属型):是在应将之上直接虚拟化层在虚拟化层之上运行虚拟机(vmm(虚拟化层)高于硬件之上),比如Fusioncompute(华为),通常用于服务器上
  • 2型虚拟化(宿主型虚拟化): 虚拟化层是在 *** 作系统之上(软件实现)比如:VMware Workstation virtbox(甲骨文)软件,通常用于个人PC上

计算虚拟化 CPU虚拟化
  • CPU虚拟化 内存虚拟化 I/O设备的虚拟化
    • CPU虚拟化:硬件–>VMM(虚拟机监视程序)–>Guest os(虚拟机 *** 作系统)–>app
      • 当Guest OS执行到特殊指令的时候,系统会切换到VMM,让VMM来处理特殊指令
    • 经典虚拟化:基于Power pc cpu架构
      • Power pc cpu架构和传统的X86架构不同的是指令集的不同,有部分指令无法被虚拟化层拦截(X86架构的16条指令),没有通过虚拟化层的转译,硬件无法识别指令从而会引发一些错误,因此CPU虚拟化分为:全虚、半虚、硬虚
  • CPU虚拟化分为全需、半虚、硬虚
    • 全需:将所有指令都收集到虚拟化层进行处理
      • 优势:不需要修改Guest os
      • 劣势:虚拟化层开销大,从而导致CPU虚拟化的效率不高
    • 半虚:设计理念是将16条指令,由VMM(虚拟化层)移向Guest OS(虚拟机 *** 作系统)自身

      通过主动的方式由Guest OS去处理这些指令,而不是被移交给VMM做处理。在这种设计理念下,就需要修改Guest OS内核。
      使其在虚拟化进程中捕捉到特殊指令,并直接通过Guest os内核对CPU进行 *** 作,因为中间少了VMM的虚拟化封装解码等等 *** 作,所以对CPU性能的损耗会非常低从而使虚拟机效率高

      • 优点:虚拟化层的开销小
      • 劣势:需要修改虚拟机 *** 作系统
        • 因为一般Guet os虚拟机 *** 作系统,是不会直接交给虚拟化层,需要修改Guest os内核(目前支持x86、mips、arm这些内核版本)
    • 硬虚(硬件辅助虚拟化):Guest OS执行到特殊指令可以直接下达到计算机系统硬件去处理,而不需要通过VMM去处理
      • 优点:虚拟化效率最高
      • 缺点:需要CPU支持硬件辅助虚拟化
        • 如:Intel基于x86架构的硬件辅助虚拟化技术Intel VT(Intel Virtualization Technology)和Amd的and-v。
内存虚拟化
  • KVM(基于内核的虚拟机)是一种内建于Linux中的开源虚拟化技术,可将Linux转变为虚拟机监控程序,使主机计算机能够运行多个隔离的虚拟环境,即虚拟pc机或虚拟机(VM)。
    • 由标准的Linux程序进行调度,并且使用专门的虚拟硬件,如网卡、图形适配器、CPU、内存和磁盘等。
  • 要实现内存虚拟化,让客户机使用一个隔离的、从零开始且具有连续的内存空间,KVM引入一层新的地址空间,即虚拟pc机物理地址空间(GPA)。
    • 这个地址空间并不是真正的物理地址空间,它只是宿主机虚拟地址空间在虚拟PC机地址空间的一个映射。

    对虚拟PC机来说,PC机物理地址空间都是从零开始的连续的地址空间,但分布在宿主机上的物理内存来说这并不是连续的

I/o虚拟化
  • I/O设备是可对数据进行输入输出的如:磁盘、网卡
  • I/o虚拟化分为全虚、半虚、I/o透传
  • Qemu I/o虚拟化 是个软件

后续 会继续完善!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5351218.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-09
下一篇 2022-12-09

发表评论

登录后才能评论

评论列表(0条)

保存