容器技术和虚拟机将会处于一个长期共存的状态。容器技术的技术出发点虽然更加轻量级,部署运行快速,但其共用了底层的kernel,因此与虚拟机方式在资源隔离性方面有先天的劣势,将暂时无法取代虚拟机模式。虽然每一个虚拟机都是一个完整的操作系统,却因为需要给其分配物理资源,当虚拟机数量增多时,操作系统本身消耗的资源势必增多。

所以容器可以和虚拟机结合在一起使用,而且这也是目前主流的做法:

虚拟化技术出现以后,虚拟化技术会在本地操作系统之上加多一层 Hypervisor层,Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可以虚拟化硬件资源,例如cpu、硬盘、内存资源等。然后我们可以基于通过虚拟化出来的资源之上安装操作系统,这也就是所谓的虚拟机。

通过Hypervisor层,我们可以创建不同的虚拟机,并且可以限定每个虚拟机的物理资源,并且每个虚拟机都是分离、独立的。例如A虚拟机给它使用2个cpu、8g内存、100g磁盘,B虚拟机给它使用4个cpu、16g内存、300g磁盘。。。等等,这样就可以实现物理资源利用率的最大化。

如此一来:

一台物理机就可以部署多个应用,每个应用都可以独立运行在一个虚拟机里。

虚拟化技术

有了上面的理念,就可以重新认识我们熟知的虚拟化技术:

虚拟机:存在于硬件层和操作系统层间的虚拟化技术。

虚拟机通过“伪造”一个硬件抽象接口,将一个操作系统以及操作系统层以上的层嫁接到硬件上,实现和真实物理机几乎一样的功能。

虚拟化技术的优点:

资源池——一个物理机的资源分配到了不同的虚拟机里

很容易扩展——增加物理机或者虚拟机即可,因为虚拟机是可以复制的

很容易云化——亚马孙AWS,阿里云,谷歌云等

即然虚拟化技术已经很强大了,为什么还需要容器技术呢?这就涉及到虚拟化技术所带来的局限性了:

每一个虚拟机都是一个完整的操作系统,所以需要给其分配物理资源,当虚拟机数量增多时,操作系统本身消耗的资源势必增多

容器:存在于操作系统层和函数库层之间的虚拟化技术。

容器通过“伪造”操作系统的接口,将API抽象层,函数库层以上的功能置于操作系统上,以Docker为例,就是基于Linux操作系统的Namespace和CGroup功能实现的隔离容器,模拟操作系统的功能,因为它比虚拟机高了一层,也就需要少一层东西,所以容器占用资源少。

容器可以帮我们把开发环境及应用整个打包带走,打包好的容器可以在任何的环境下运行,这样就可以解决开发与运维环境不一致的问题了,所以:

容器解决了开发和运维之间的矛盾

在开发和运维之间搭建了一个桥梁,是实现devops的最佳解决方案

以上只是描述是容器解决了什么问题,但是还没有说明什么是容器,不过其实简单几句话就可以说明容器了:

对软件和其依赖环境的标准化打包

应用之间相互隔离

共享一个OS Kernel

可以运行在很多主流操作系统上

JVM:存在于函数库层和应用程序之间的虚拟化技术。

Java虚拟机具有跨平台特性,所谓跨平台特性实际上就是虚拟化的功劳,我们Java语言是调用操作系统函数库的,然而不同操作系统的函数库互不相同,JVM就是建立一个虚拟化层,对下通过不同的版本适应不同的操作系统,对上提供统一的运行环境交给程序和开发者。通过虚拟化实现了如今蔚为壮观的Java生态圈以及建立在JVM基础上的其他语言,如Scala,Clojure,Kotlin等。

几乎所有的计算机遵守着相同的层级结构:硬件层>>硬件抽象层>>操作系统层>>API抽象层>>函数库层>>应用程序层

由此,我们可知虚拟化技术中,不管虚拟机,还是容器,还是JVM的跨平台,只是计算机不同层级结构间的虚拟化运用。在未来很长的一段时间里,它们会根据实际的应用场景,互相***,互相支持。

转载于:https://blog.51cto.com/13923196/2308726

虚拟化技术中,不同层级结构间的虚拟化运用相关推荐

  1. 虚拟化技术中,为什么说容器技术暂时将不会取代虚拟机模式

    容器技术和虚拟机将会处于一个长期共存的状态.容器技术的技术出发点虽然更加轻量级,部署运行快速,但其共用了底层的kernel,因此与虚拟机方式在资源隔离性方面有先天的劣势,将暂时无法取代虚拟机模式.虽然 ...

  2. Xen虚拟化技术中PV和HVM的区别

    原文地址:https://www.cnblogs.com/jiayy/p/3765591.html Xen是一个开源的type-1或者裸机管理程序,它使得一个物理主机能够同时并行运行多个相同的或者不同 ...

  3. mysql在手游中的作用_数据库虚拟化技术_手游业务MySQL数据库虚拟化漫谈 | By 肖力-云栖社区...

    作者简介 肖力, 资深运维专家,拥有15年运维经验,就职于金山西山居,担任系统运维经理,曾就职于盛大游戏,在运维圈有极大的影响力.国内最顶尖的KVM专家之一,从2009年开始研究KVM技术,是国内较早 ...

  4. Linux系统中的层级结构(二级目录)

    linux层级结构标准叫FHS,标准是3 Applications的附件文件中的其他位置中有电脑,其中有子目录如下: 这些子目录是在安装系统时自动建立出来的,称为二级目录,有自己独特的功能,这些独特功 ...

  5. 宏碁电脑开启虚拟化技术_开启windows电脑的cpu虚拟化(VT)图文操作步骤

    大家在电脑上用安卓模拟器的时候会发现,如果我们开启电脑cpu的虚拟化,安卓模拟器的性能可以成倍增加.其实所谓的CPU虚拟化技术就是指单CPU模拟多CPU运行,让一个平台同时运行多个操作系统,并且应用程 ...

  6. 锐捷服务器虚拟化技术_锐捷RG-12010交换机VSU虚拟化配置

    交换机虚拟化技术已越来越流行,各个厂商的名称叫法都不一样,但实现功能一样,都是将两台或者两台以上的交换机虚拟成一台.各厂商虚拟化名称如下表: 思科:VSS (Virtual Switching Sup ...

  7. 解决Unity3D中多层级结构子物体旋转受父物体尺寸影响的问题

    前言 在使用unity3D进行场景设计和物体控制的过程中,多层物体嵌套是经常会用到的一个结构.多层级物体中,每个层次的物体可能都会有子物体,这就导致了子物体的一些行为会收到父物体参数的影响.本文讨论子 ...

  8. 【论文解读】ICDM2020 | 挖掘异构图中的层级结构

    1. 基于层次聚合和关系度量学习的树结构感知图表示学习 Tree Structure-Aware Graph Representation Learning via Integrated Hierar ...

  9. 9_less中的层级结构

    如果在某一选择器的 {} 中直接写上了其他的选择器,会自动转换成后代选择器,如: .father{.son{} } 此时编译为css就是(好像这个有点废话了): .father .son{} & ...

  10. 服务器采用虚拟化应用漂移,虚拟化技术在数字化医院建设中的应用

    杜娟 摘 要 由于医疗业务系统的不断扩展,为了解决医院服务器基础架构利用率低,投入成本高,可扩展性差以及业务故障切换和灾难保护不足等问题,医院经过多方调研论证,在新址的数据中心建设中,我们引入了服务器 ...

最新文章

  1. ajax查找错误信息
  2. oracle 12c chad,ORACLE 12.2RAC之问题 ora.chad OFFLINE
  3. nodejs如何实现ajax,nodejs使用静态服务器处理ajax
  4. 基于FPGA的ADC数据采集蓝牙传输系统
  5. curl   liinux下http命令执行工具
  6. ASP.NET MVC5 之 分部页
  7. 揭秘 DockerCon 重量级演讲嘉宾(四)
  8. C#在控制台工程中嵌入winform窗体
  9. 合理安排计算顺序避免溢出
  10. SLAM 学习笔记 本质矩阵E、基础矩阵F、单应矩阵H的推导
  11. 【AI视野·今日NLP 自然语言处理论文速览 第十七期】Thu, 1 Jul 2021
  12. uni-app中使用HTML5 Plus
  13. 今日头条推广入门必懂知识简介
  14. 都在用DevOps,linux基础命令要是还没掌握就out了
  15. Rosetta Stone 罗赛塔 罗塞塔 石碑
  16. 兽语八级—使用机器学习解读鸡的“语言”
  17. 全球各国黑客网络犯罪形式概览
  18. mysql scn_关于scn的理解
  19. 三极管 和 场效应管 的工作原理 简要概述
  20. 省市二级联动数据库生成代码(JAVA)

热门文章

  1. 易筋SpringBoot 2.1 | 第廿一篇:SpringBoot的Mybatis生成工具Generator
  2. pandas实现分类汇总,查找不重复的一 一对应数据
  3. Just Say It!——DNN在语音识别系统中的应用
  4. 【16年浙江省赛H ZOJ 3965】Binary Tree Restoring 【两个dfs序还原】
  5. 【POJ 2785】【折半枚举】4 Values whose Sum is 0【暑期 No.6】
  6. 任一矩阵都可表为一对称矩阵和反称矩阵之和
  7. 1091.二进制矩阵中的最短路径(力扣leetcode) 博主可答疑该问题
  8. homestead.yaml配置详解
  9. Office - Excel 2013
  10. WPF:将Office文档、任意类型文件嵌入到EXE可执行文件中