什么是虚拟化?

一、什么是虚拟化

虚拟化就是在计算机上虚拟化出另一套操作系统。让一台计算机上可以运行多个操作系统。

二、虚拟化的应用

虚拟化的出现解决了什么样的问题?

1、计算资源的浪费(云)

问题:美国环境保护署(EPA)报告的一组有趣的统计数据就证明了其好处。EPA研究服务器和数据中心的能源效率时发现,实际上服务器只有5%的时间是在工作的。在其他时间,服务器都处于“休眠”状态。
如何解决?
虚拟化的诞生将一台服务器虚拟化出多个操作系统,通过隔离机制,分成不同的操作系统供多人使用或多程序运行。

2、软件研发流程

传统的软件研发流程问题:

1、资源利用效率低
2、单物理机多应用无法有效隔离(进程空间,cpu资源,磁盘)
3、运维部署不便
4、测试、版本管理复杂
5、迁移成本高
6、传统虚拟机,空间占用大,启动慢,管理复杂

以docker为代表的容器虚拟化技术,解决研发软件过程中运行环境和配置问题,方便发布,也就方便做持续集成。

三、虚拟化的分类

分类架构图:
在这里插入图片描述

1、纯软件仿真

  • 通过模拟完整的硬件环境来化来宾平台。
  • 模拟X86、ARM、 Powerpc等多种CPU
  • 效率比较低
  • 产品或方案QEMU、 Bochs、 Pearpc

2、虚拟化层翻译

  • 多数的虚拟化而采用虛拟机管理程序 Hypervisor
  • Hypervisor是一个软件层或子系统
    也称为VMM( Virtual Machine Monitor,虚拟机监控器)
  • 允许多种操作系统在相同的物理系统中运行
  • 控制硬件并向来宾操作系统提供访问底层硬件的途径
  • 向来宾操作系统提供虚拟化的硬件
    在这里插入图片描述
了解 x86 cpu 保护环
  • 虚拟化时遇到了难题,多个操作系统抢占Ring0
  • 由于操作系统内核需要访问cpu、内存…(硬件)
  • 所以需要抢占Ring 0 这样子就使用特权指令
  • 解决方式:增加hypervisor

在这里插入图片描述

(1)无硬件辅助的全虚拟化

在这里插入图片描述

(2) 硬件辅助的全虚拟化

在这里插入图片描述

  • 由cpu增加一层Ring -1单独供 hypervisor 使用
  • 应用指令直接发往操作系统由操作系统调用cpu
  • 只有 sens… 特殊指令才会被发送到(hypervisor)vmm
    Intel VT-x:
    在这里插入图片描述
(3)半虚拟化

通过定制化的操作系统使得hypervisor与操作系统跑在ring0
优点:
部分指令省去hypervisor的翻译
性能得到增加
缺点:
需要定制化操作系统,不方便。
在这里插入图片描述

3、容器技术

使用 Linux container (内核容器虚拟化) 技术
使得容器使用一个内核,却隔离了环境

Docker 是什么?
1、Docker 是一个go语言遵从apache2.0协议开源的基于LXC的高级容器引擎
2、docker 想把我们的运行环境,通过标准化的手段自由的组装或封装
在这里插入图片描述
架构对比:
在这里插入图片描述

Hypervisor的分类

在这里插入图片描述

类型一:裸金属架构

没有单独的操作系统(或使用定制的操作系统)
优点:不用去维护中间不需要的操作系统
代表:Esxi

类型二:宿主机型

在操作系统上安装虚拟化的服务
基于底层的操作系统去虚拟化
缺点:底层的操作系统一旦奔溃上面的虚拟机也会停止运行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值