当前位置: 首页 > news >正文

你看到的都是错的!——虚拟化技术的真相

为什么这里写这个标题,最近和技术人员探讨中,我发现很多技术人员对虚拟化有一定的感性认识,但是对其内在逻辑还是不很清楚。所以有必要再更深入地介绍一下,尤其是前面比较系统地介绍了桌面虚拟化的相关技术,看过前面文章的朋友应该更容易理解 整个虚拟化的逻辑。
 
正如博客第一篇介绍什么是虚拟化:虚拟化技术就实现不同逻辑单元的松耦合。并且从计算机组成和技术演进角度介绍了以前的虚拟化技术。这里我会从更简介直观的角度介绍什么是当前广泛被关注的虚拟化技术:
 
我们常说我的电脑,语义里面其实包含着多层意思,即电脑是包含硬件,操作系统,还有应用与配置文件。这种可用的计算环境被笼统地概括为“我的电脑”。我们可以按照下图更直观地来看待我们现在正在面对的这个“神奇家伙”:
这个大家都很了解,但是对于硬件的组成我们还可以进一步拆分为:硬盘(存储);CPU与内存;显示器、键盘与鼠标等外设。大家会说了,我10年前就知道计算机有这些组成,还用你说。但是不知道大家想没有想过,一个机器是由这些部分组成得,形成一个机器,但是我们现在想要把一个机器拆开(当然是逻辑的拆开)分成:存储环境;运行环境;还有操作环境三个部分。如下图所示:
从上述两个维度上,横向是硬件的组成拆分,纵向是计算环境的逻辑构成,则我们获得如下的一个图:
从这样得切分角度来看,我们可以看到 服务器虚拟化(更确切的是操作系统虚拟化)是在纵向纬度上分隔了硬件和软件;而共享存储(有些存储虚拟化的味道)是实现了存储环境和计算环境的分离;而操作虚拟化实现了计算环境与操作环境的分隔。
 
  •         1  操作系统虚拟化是实现了硬件与软件的松耦合,这样操作系统不依赖于特定的硬件,都可以运行。在存储环境与运行环境没有分开得情况下,就是典型的使用VPC,或者Workstation的状态,我们必须把虚拟机拷来拷去,这样可以用不同得机器使用
  •         2  共享存储使得存储环境与计算环境分开,这样在操作系统虚拟化得前提下,我们可以更好地实现动态的系统调配,例如 正在运行的操作系统的漂移;以及硬件故障下的高可用性(HA,类似双机热备)。因为系统的镜像都存储在一个所有运行环境都可以访问的地方。
  •        3   操作虚拟化,实现了应用与桌面的远程访问,这里面不仅仅包括的是屏幕图像的重定向,还包括鼠标,键盘,打印机,扫描仪,usb设备等各种外设的重定向,使得我们使用计算环境的时候,就如同我们使用本地的一样。这个技术至关重要,我们可以理解是我们将外设通过很长很长的信号线与放在机房中的主机相连,不同的是所有得线都被一根网线代替,而那个所谓的主机也和其他无数个类似的主机合并到一个服务器中了(有可能是一个个单独的虚拟机)。而今天讲的云计算,操作的虚拟化是直观重要得一环,无论是BS还是虚拟应用与虚拟桌面,操作环境能够满足用户需要是最关键得。
 
服务器虚拟化也好,应用虚拟化也好,桌面虚拟化也好,我们所提得讲法都是从结果或者表象命名的。但表象下面的真相确实几个环境得拆分。



本文转自 大头蚕 51CTO博客,原文链接:http://blog.51cto.com/datoucan/166414,如需转载请自行联系原作者

相关文章:

  • C++大作页-数组运算.动态多维数组
  • 本期最新 9 篇论文,帮你完美解决「读什么」的问题 | PaperDaily #19
  • Matt DeBoard:我是如何成为程序员的
  • Java代理程序实现web方式管理邮件组成员
  • 产品与技术(人员)间的职责关系
  • 加强网站安全、重构公司的门户网站项目(C# VS2003)
  • 23张非常精美的圣诞桌面壁纸分享
  • 使用iperf工具进行带宽测试
  • css在线格式化工具/js在线格式化工具
  • nginx 服务器重启命令相关
  • java jni和android java ndk
  • 示例化讲解RIP路由更新机制
  • [Cocoa]iOS 开发者账户,联机调试,发布应用事宜
  • Apache Spark Streaming 使用实例
  • GUI鼠标相关设置
  • Angularjs之国际化
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • Java 最常见的 200+ 面试题:面试必备
  • 大整数乘法-表格法
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 力扣(LeetCode)965
  • 如何优雅地使用 Sublime Text
  • 用Visual Studio开发以太坊智能合约
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 追踪解析 FutureTask 源码
  • 字符串匹配基础上
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​虚拟化系列介绍(十)
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #1015 : KMP算法
  • #QT(TCP网络编程-服务端)
  • #微信小程序(布局、渲染层基础知识)
  • #微信小程序:微信小程序常见的配置传值
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)(1.11) SiK Radio v2(一)
  • (ZT)出版业改革:该死的死,该生的生
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (七)c52学习之旅-中断
  • (区间dp) (经典例题) 石子合并
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (十一)c52学习之旅-动态数码管
  • (顺序)容器的好伴侣 --- 容器适配器
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)visual stdio 书签功能介绍
  • (转)关于pipe()的详细解析
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .mysql secret在哪_MySQL如何使用索引
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .net经典笔试题
  • .net网站发布-允许更新此预编译站点