云计算学习笔记6——虚拟化技术

一、什么是虚拟化

  • 理解1:把一台物理计算机虚拟成多台逻辑计算机,每个逻辑计算机里面可以运行不同的操作系统,相互不受影响,这样就可以充分利用硬件资源。
  • 理解2:一种资源管理(优化)技术,将计算机的各种物理资源(eg.CPU、内存等)予以抽象、转换,然后呈现出来的一个可供分割并任意组合为一个或多个(虚拟)计算机的配置环境。
  • 可以根据不同的对象类型进一步细分:

                1. 平台虚拟化:针对计算机和操作系统的虚拟化。

                2. 资源虚拟化:很对特定的系统资源的虚拟化/

                3. 应用程序虚拟化:包括仿真、模拟、解释技术等,如JAVA虚拟机。

二、虚拟化准则

波佩克与戈德堡虚拟化需求:1974,提出了一组称为虚拟化准则的充分条件。

满足下列条件的控制程序才可以被称为虚拟机监控器(VMM)

  • 资源控制:控制程序必须能够管理所有系统资源
  • 等价性:在控制程序管理下运行的程序,除时序和资源可用性之外的行为应该与没有控制程序时的完全一致,且预先编写的特权指令可以自由地执行。
  • 效率性:绝大多数的客户机指令应该由主机硬件直接执行而无需控制程序的参与。

三、虚拟化类型

类型I:原生或裸机Hypervisor,虚拟机管理程序直接运行在宿主机硬件上,控制硬件和管理客户机操作系统。

——特点:需要硬件支持;VMM作为主操作系统;运行效率高。

类型II:寄居或托管Hypervisor,VMM运行在传统的操作系统上,就像其他计算机程序那样运行。

——特点:VMM作为应用程序运行在主操作系统环境内;运行效率一般较类型I低。

——必须彼此竞争使用资源。

常用X86虚拟机技术比较:

  • Xen
  • VMWare
  • KVM

四、容器(Docker)技术

1. 概念

  • Docker是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上,实现虚拟化。
  • 传统的虚拟化技术以操作系统为核心,建立一个可以用来执行整套操作系统的沙盒独立执行环境。
  • 容易则是以应用为中心,将应用程序所需的相关代码、函数库、环境配置文件打包起来建立沙盒执行环境。

操作系统虚拟化

  • 是一种在服务器操作系统中使用的、没有VMM层的轻量级虚拟化技术。
  • 内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程(容器)。
  • 操作系统虚拟化也称为容器化。
  • 操作系统虚拟化隔离操作系统资源,硬件虚拟化隔离计算机硬件资源。

2. Docker使用场景

  • 用户在某镜像基础上,在本地生产并表示新镜像;
  • 用户根据镜像标识从镜像仓库下载镜像到本地;
  • Docker引擎利用本地镜像创建出多个相互隔离运行的容器。

3. Docker原理

  • 基于操作系统虚拟化技术实现,是在共享宿主机内核的基础上,包装内核提供的一系列API来实现环境隔离,资源管控等。
  • Linux系统上所提供的相关API主要利用 CGroup 和 Namespace。
  • CGroup,核心在于对进程进行层次化分组,并能够以每个组的粒度实现诸如资源限制和策略控制功能。
  • Namespace,实现组之间的隔离。

4. Kubernetes(K8s)

  • Google开源的一个容器编排引擎。
  • 用于管理云平台中多个主机的容器化应用。
  • 目标是让部署容器化应用简单并且高效。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值