深入浅出讲云计算——虚拟化
本周我们继续回到云计算的主线,从2006年谷歌CEO埃里克 施密特算把云计算真正开始商业化至今,云计算已经发展处了1.0/2.0/3.0三个时代。1.0是云计算产品和服务的成熟阶段,这一阶段主要关注的是主机虚拟化技术,解决的是,如何把主机进行虚拟化,形成资源池。2.0时代是底层技术和行业解决方案的成熟阶段,这一阶段主要做的是对存储与网络设备实现了虚拟化,通过多种技术,将计算、存储、网络、安全等硬件资源整合为虚拟资源池,实现了云计算的方案完善。3.0时代是混合云及多云管理的阶段,是比拼服务的阶段,更是比拼产品和方案复制能力的阶段。

虚拟化作为云计算中最基础的关键技术,有必要对其有一定程度的理解。虚拟化的概念,在上一篇《关键技术》里已经做了描述,它的本质是利用一种逻辑将另一种逻辑进行抽象出来,也就是用某种技术,将硬件的算力逻辑化,再具象成能多个独立且相互隔离的逻辑主机,这些主机还能平滑地从一台硬件设备迁移到另一台硬件设备上,具备与硬件设备解耦的能力。

为了能够实现完善云平台基础技术,虚拟化包括要对计算、存储、网络三大件进行逻辑抽象。
计算虚拟化根据计算设备主要虚拟化需求,分成了CPU虚拟化、内存虚拟化、IO虚拟化。
CPU进行虚拟化,首先要解决一个问题,指令的执行有4种模式,ring0~3,数字越小,优先级越高,操作系统内核通常就是ring0级,操作系统服务用于ring1/2,程序用于ring3。而虚拟化后,出现一个中间层VMM,VMM应用于ring0级,但GuestOS也要运行在ring0级,这样就出现了冲突。这个问题的解决就是利用VMM来模拟特权指令的执行,让GuestOS认为工作在ring0级别就OK了。解决了使用的问题后,就需要解决商业模式的问题,硬件服务器的CPU通常是确定的,那能模拟出多少虚拟CPU呢?在云计算搭建时,将每线程或进程虚拟成一个vCPU。例如硬件服务器是1块4核超线程CPU,那就可以虚拟成1*4*2=8个vCPU。当然,现在随着虚拟化的火热,CPU厂家在设计时就已经通过芯片设计解决了多种
虚拟化漏洞,而这种从硬件层面上的解决,校里也是最高的。
内存虚拟化和CPU虚拟化的目的一样,都是让多个虚拟机能同时利用同一块内存,内存的使用时从0开始,并保持连续的,如果多台虚拟机同时使用,如何能保持虚拟机的内存符合规则,且硬件内存也符合规则?这里也是利用VMM来进行镜像页表映射,让客户机认为自己使用的是符合规则的内存。

(免费订阅,永久学习)学习地址: Dpdk/网络协议栈/vpp/OvS/DDos/NFV/虚拟化/高性能专家-学习视频教程-腾讯课堂

IO虚拟化是让多台虚拟机能共用一台IO设备,例如网卡、磁盘。解决办法的思路也和上述两种虚拟化类似,首先VMM为虚拟机划分出Domain,并模拟出一个用于管理其他Domain的特权域,这个特权域就是Domain0,Domain0具备IO设备的驱动和客户机的后端驱动,这样虚拟机就可以通过Domain0获取IO设备信息,继而完成访问和应用。

存储虚拟化是将存储能力进行逻辑抽象出来,整合成一个庞大的存储资源池,这样除了能提高存储利用率外,更能让用户抛掉硬盘规格的困扰。从这个角度来看,存储虚拟化的意义和计算虚拟化一样重要,共同构成了云计算的技术基础。

网络虚拟化其实不是为了云计算而诞生的,像我们常用的VPN、隧道技术等都属于网络虚拟化。而在云计算李的网络虚拟化,要解决的问题主要是各台虚拟机之间怎么通信、隔离,虚拟机迁移后,如何快速恢复网络配置,例如公网IP。在实际使用中,虚拟机会虚拟出包含自己MAC和IP的虚拟网卡,并可以用OVS技术虚拟出交换机,再利用虚拟交换机完成虚拟机的网络通信。

到这里,大家对云计算的技术理解可能就更深层次了,国内云计算的发展,现在已经呈现一超多强,阿里云就是那个超。但从各家公有云平台可以看出,云平台的基础服务基本没有太多变化,基本是以CPU计算实力为基础,其他新兴虚拟化补充,例如容器、裸金属、GPU、FPGA等。其他的,例如存储已经在块存储、对象存储和文件存储方面基本定型,备份等方面能力构建也相对成熟。

阿里云产品方面包括几个大类,从租用云平台的需求来说,首先需要弹性计算ECS实例,再配置好网络与CDN的VPC专有网络,迅速将业务展开。随后,如果数据量增大,就增加存储的对应能力,还可以增加网络与CDN的负载均衡SLB。再进一步发展,要考虑安全问题,可以在安全板块增加相应的安全产品,达到等到定级要求。

使用场景描述了这么多,好像还没有涉及到阿里云的很多产品,这就是阿里云商业模式开始转变的代表,这也是我在第一篇云计算文章里想要表达的观点:从全球云计算的发展来看,市场需求会推动云计算产业的价值核心逐步向SaaS业务迁移。行业市场不仅需要拥有云计算的基础设施资源,更追求有关资源对实际经营的支撑性应用。云计算企业要扩大软件技术开发优势,逐步确立自身的市场中心地位,避免在互联网时代电信运营商逐渐沦为互联网管道的类似结局——成为云计算时代的算力平台,而被迫放弃内容的高价值。

原文链接:https://zhuanlan.zhihu.com/p/412103325

深入浅出讲云计算——虚拟化相关推荐

  1. 围绕云计算 虚拟化技术又呈现新面貌

    本文讲的是围绕云计算 虚拟化技术又呈现新面貌,[IT168 资讯]虚拟化技术的三项基本使命-即作为客户端技术,作为服务器技术和作为网络技术,如今正在围绕云计算理念相结合在一起. 起源于X86服务器的虚 ...

  2. Kubernetes入门——深入浅出讲Docker

    作者简介: 李子昂 百度基础架构部研发工程师 负责百度分布式Redis平台的研发和运维 专注于基础架构中间件的研发和优化 本文基于『云原生基础知识概述及实践』系列视频课程--『Kubernetes入门 ...

  3. 云计算虚拟化技术会是企业安全黑洞?

    本文讲的是云计算&虚拟化技术会是企业安全黑洞,针对网络和安全设备的安全信息和事件监控(SIEM)和日志管理方法在云计算中其实没有实际意义. 在花费大量资金和大量人力资源在部署全面的安全信息和事 ...

  4. Linux云计算虚拟化-使用rancher搭建k8s集群并发布电商网站

    文章目录 Linux云计算虚拟化-使用Rancher搭建k8s集群并使用lnmp架构发布电商网站 1. Rancher介绍 2. 使用Rancher搭建k8s集群 2.1 实验环境介绍 2.2 在ra ...

  5. 视频教程-JAVAEE真实课堂系列之javaScript全讲-云计算基础架构

    JAVAEE真实课堂系列之javaScript全讲 刘志远,北京邮电大学硕士研究生, 北京育华志远科技有限公司创始人, 育华志远教育品牌负责人,育华志远课程体系打造者. 率领团队为互联网行业培训千余名 ...

  6. 视频教程-JAVAEE真实课堂系列之XML全讲-云计算基础架构

    JAVAEE真实课堂系列之XML全讲 刘志远,北京邮电大学硕士研究生, 北京育华志远科技有限公司创始人, 育华志远教育品牌负责人,育华志远课程体系打造者. 率领团队为互联网行业培训千余名学员,打造最高 ...

  7. 虚拟化基础-华为云计算虚拟化

    虚拟化基础-华为云计算虚拟化 一.什么是虚拟化 1.虚拟化的概念 2.虚拟化的理解 ①vmware官方描述 ②通俗理解 3.虚拟化的特点 二.虚拟化的重要发展历史 三.计算虚拟化发展图示 四.三种虚拟 ...

  8. XEN和KVM云计算虚拟化技术

    一.XEN和KVM云计算虚拟化技术 01_虚拟化技术基础原理详解 02_Xen虚拟化及DomU的实现 03_Xen基于iscsi共享实现实时迁移 04_kvm虚拟化 下载链接:链接:http://pa ...

  9. 云计算虚拟化环境下的安全防护

    转载自(比特网):http://www.chinabyte.com/114/12243614.shtml 云计算虚拟化环境下的安全防护 2012-01-13 15:03 比特网 H3C 关键字:网络管 ...

最新文章

  1. 《BI项目笔记》创建标准维度、维度自定义层次结构
  2. 牛津大学入学面试就这?组队选个颜色?背后的逻辑水深得很
  3. openresty开发系列11--openresty的api入门
  4. windows 编程 —— 消息与参数(定时器、初始化消息、改变大小)
  5. 【计算机组成原理】定点数的表示和运算
  6. LeetCode 862. 和至少为 K 的最短子数组(前缀和+deque单调栈)
  7. error: Please reinstall the libcurl distribution - easy.h should be in curl-dir/include/curl/
  8. 【华为云实战开发】6.Cocos游戏项目如何在云端开发
  9. 对Spring Boot还陌生吗?
  10. 堆排序(heap sort)
  11. C++11 thread_local
  12. 计算机硬件配置及安装,电脑硬件及电脑配置知识大全
  13. mysql关联力控_力控软件和三菱PLC的通讯模块通讯设定
  14. Java毕业设计(项目课程)大全
  15. 跳妹儿学编程之ScratchJr(三):什么是儿童编程语言?初识ScratchJr和Scratch
  16. 老男孩之《生日快乐》
  17. Github最新客户端的简单使用教程
  18. Boxy SVG for Mac版矢量图编辑软件
  19. shp系列(七)——利用C++进行Shx文件的写(创建)
  20. openGL,glut库安装(vs2013)

热门文章

  1. 手把手教你如何写出完美的JVM的Young GC
  2. 同人逼死官方系列!基于sddc 协议的SDK框架 sddc_sdk_lib 解析
  3. 无线网络优化工程师出差吗?
  4. html连接accdb文件,连接Access2007数所库(accdb格式数据库)需要另安驱动
  5. c语言篮球24秒计时器编程,篮球24秒比赛计时器功能简介
  6. ListBox 控件
  7. 微信小程序自定义输入框个数
  8. mac更新后部分提示是英文如何改成中文
  9. PMSM中常用的两种坐标变换——Park变换
  10. python3打开文件的代码_Python读写文件的代码示例