为什么会出现云之传统数据中学面临的问题

物理服务器的利用率非常低,浪费资源,且资源分配不合理,比如一台服务器CPU使用率不到40%,或者某个应用需要的硬件配置低但是服务器硬件配置高等等。

云计算概念

云这个概念流行时间很久了,但是仍然很多人不懂不理解什么是云,所以在此先解释下什么是云:

云就是天上的云,天上的云由水蒸气遇冷凝聚而成,水蒸气由陆地或海洋等地表水蒸发而来,而地表水又通过大气降水的形式来获取,所以整个流程如下:

上图的特点就是:循环使用

那云还有一个功能就是动态分配:

我们指定地理环境导致降水不均,所以有时候需要人工参与降水,那么此时缺水的地方通过人工降水降水量会多点,这就形成了一个动态分配的功能,哪里需要多点就人工降雨,不需要的地方人工驱雨。

所以云计算它有以下三个特点:

  1. 它是一种模式
  2. 使用方法需要网络访问
  3. 按需付费,便捷的,可用的。

所以,综上所述,云的特点就是:按需分配(动态分配),循环使用。

云计算分类

  1. 私有云

    数据安全性高,但是需要公司人工来搭建。
  2. 公有云

    一般商业化,卖给个人或公司。特点就是数据不安全性,机密的数据不适合放在这里。
  3. 混合云

    既有自己的私有云,也有购买到的阿里云的,混合使用就是混合云。

云计算分层

  1. SaaS(Software as a service)

    软件服务,卖软件服务给用户,用户不需要关系软件版本升级,漏洞修补之类的信息,只需要学会使用就行了。
  2. Paas(platform as a service)

    平台服务,我们不需要关心系统,中间价等等系统和硬件之类的信息,我们只需要关心自己开发的代码和相关的数据。
  3. Iaas( Infrastructure as a service)

    基础设施服务,云供应商提供基础环境,比如确保网络畅通,云主机不会经常宕机等等,它就给你一个操作系统,操作系统下面的硬件我们作为使用者不需要关心。

SAAS,PAAS,IAAS的概念如下图所示:

云计算与虚拟化的关系

云计算依赖于虚拟化,虚拟化不等于云计算。

例如Openstack使用的KVM的技术。

所以下面说说KVM的虚拟化技术。

虚拟化技术-KVM(Kernel-based virtual machine)

虚拟化是一个广义的术语,是指计算机元件在虚拟的基础上而不是真实的基础上运行,是一个简化管理、管理资源的解决方案。

如上图所示,我们可以将一般的计算模型抽象成为一定的物理资源和运行于之上的计算元件,他们之间通过定义的物理资源接口进行交互。随着计算机硬件技术的发展,物力资源的容量越来越大而价格越来越低,在既有的计算元件架构下,物理资源不可避免地产生了闲置和浪费。为了充分利用新的物力资源,提高效率,一个比较直接的方法就是更新计算元件以利用更加丰富的物理资源。但是人们往往出于稳定性和兼容性的追求,并不愿意频繁地对已经存在的计算元件做大幅度的变更。虚拟化技术则是另辟蹊跷,通过引入一个新的虚拟化层,对下管理真实的硬件物理资源,对上提供虚拟的系统资源,从而实现了在扩大硬件容量的同时,简化软件的重新配置过程。

对于上端话说的资源这个词,我们可以理解为各式各样的形式,例如把系统以及提供的系统调用作为资源,那么虚拟化好就表现为操作系统虚拟化,在一台真实服务器上虚拟出多台linux系统。

在X86平台虚拟化技术中,新引入的虚拟化层通常称为虚拟机监控器(Virtual Machine Monitor),也叫做Hypervisor。虚拟机监控器运行的环境,也就是真实的物理平台,称之为宿主机。而虚拟出来的平台成为虚拟机,里面运行的系统对应地也成为客户端操作系统。

软件虚拟化和硬件虚拟化

在上面的虚拟化介绍基础之上,我们再说说软件虚拟化和硬件虚拟化。但是得首先了解一个概念:是不是什么物理资源都可以被虚拟化的。

如下图所示,实现虚拟化的第一步就在于,虚拟化层能够截获计算元件对物理资源的直接访问,并将其重定向到虚拟资源池中。根据虚拟化层是通过纯软件的方法,还是通过物理资源提供的机制来实现这种“截获并重定向”,我们可以把虚拟化划分为软件虚拟化和硬件虚拟化。

软件虚拟化

通过软件的方法在现有的物理平台上(往往不支持硬件虚拟化)实现物理平台访问的截获和模拟。

常见的软件虚拟机就是QEMU,它是通过软件的来仿真X86平台处理的取指,解码和执行,客户机的指令并不是在物理平台上的直接执行。由于所有的指令都是软件模拟的,因此性能往往较差,但是可以在同一平台上模拟不同的架构平台的虚拟机。

还有一种是VMware,VMware使用了动态二进制编译的技术。VMware软件在可控制的范围内,允许客户机的指令在物理平台上直接运行。但是客户机指令在运行前会被VMware扫描到,其中突破VMware限制的指令会被动态替换为可以在物理平台上直接运行的安全指令,或者替换为对VMware的软件掉哟个。这样做的好处就是比纯软件模拟有大幅提升。但是同时也失去了跨平台的能力。

硬件虚拟化

物理平台提供了对特殊指令的截获和重定向的硬件支持。甚至,新的硬件会提供额外的资源来帮助软件实现关键硬件资源的虚拟化,从而提升性能。

以X86平台的虚拟化为例,支持虚拟化技术的X86 CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集、VMM会容易将客户机置于一种受限制的模式下运行,一旦客户机试图访问物理资源,硬件会暂停客户机的运行,将控制权交回给VMM处理。VMM还可以利用硬件的虚拟化增加机制,将客户机在受限模式下对一些特定资源的访问,完全由硬件重定向到VMM指定的虚拟资源,整个过程不需要暂停客户机的运行和VMM软件参与。

由于虚拟化硬件提供全新的架构,支持操作系统直接在上面运行,无需进行二进制转换,减少了相关的性能开销,极大的简化了VMM设计,进而使VMM能够按通用的变准进行编写,性能更加强大。

硬件虚拟华技术是一套解决方案。完整的情况需要CPU,主板芯片组,BIOS和软件的支持。例如VMM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VMM软件的情况下,也会比完全不支持虚拟化技术的系统有更好的性能。

准虚拟化和全虚拟化

准虚拟化(半虚拟化 para-virtualization)

我们指定软件虚拟化可以在缺乏硬件虚拟化支持的平台上完全通过VMM软件来实现对各个虚拟机的监控,以保证他们之间彼此独立和隔离的。但是付出的代价是软件复杂度的增加和性能上的损失。减轻这种负担的一种方法就是,改动宿主机,使它以为自己运行在虚拟环境下,能够与虚拟机监控机(虚拟软件)来协同工作。这种方法就叫做准虚拟化,也叫做半虚拟化。本质上,准虚拟化弱化了对虚拟机特殊指令的被动截获或要求,将其转化宿主机操作系统的主动通知。但是,半虚拟化需要修改宿主机操作系统的源代码来实现主动通知。

XEN就是开源准虚拟化技术的一个例子。

全虚拟化(full virtaulization)

与半虚拟化技术不同,全虚拟化为宿主机提供了完整的虚拟X86平台,包括处理器,内存,外设,支持运行任何理论上可在真实物理平台上运行的操作系统,为虚拟机的配置提供了最大程度的灵活。不需要对客户机操作系统做任何修改即可正常运行任何非虚拟化环境中已存在基于X86平台的操作系统和软件,是全虚拟化最大的优势。

1 云计算系列之云计算概述和KVM虚拟化简介的更多相关文章

  1. KVM虚拟化——简介

    KVM 基于内核的虚拟机KVM(Kernel-Based Virtual Machine)是2007年问世的开源虚拟化解决方案.KVM需要两个条件: ①硬件支持全虚拟化 ②操作系统为Linux KVM ...

  2. KVM虚拟化简介及安装

    kvm是基于图形化的linux操作的 安装图形化界面的知识点: 磁盘空间有两个词: 精简置备:我先在我系统里面去声明我要一个50G的空间,但是呢,我不会把50G都分给你,你用多少,我分给你多少,但是做 ...

  3. 云计算概述和KVM虚拟化

    前言: 近些年一直听着 虚拟化.云计算.公有云.私有云.混合云这些个概念,一直想着....这些概念要用什么技术实现? 一.云计算的概念 1.传统IDC机房面都会临什么问题? 任何新事物都是由需求催生的 ...

  4. KVM -> 虚拟化简介&虚拟机安装_01

    什么是虚拟化? 在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU.内存.磁盘空间.网络适配器等),予以抽象.转换后呈现 ...

  5. [原] KVM 虚拟化原理探究(1)— overview

    KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...

  6. 安装配置KVM虚拟化

    安装KVM虚拟化 KVM需要硬件⽀持, 所以需要开启虚拟化⽀持 硬件设备直接在BIOS设置开启CPU虚拟化 个⼈电脑同样进⼊BIOS开启虚拟化⽀持 VM需要找到对应虚拟机开启对应的VT-EPT虚拟化技 ...

  7. 云计算大数据:Xen、KVM、VMware、hyper-v等虚拟化技术的比较

    1.Xen.KVM.VMware.hyper-v等虚拟化技术的比较,xen和kvm,是开源免费的虚拟化软件. vmware是付费的虚拟化软件. hyper-v比较特别,是微软windows 2008 ...

  8. 4 云计算系列之Openstack简介与keystone安装

    preface KVM 是openstack虚拟化的基础, 再介绍了kvm虚拟化技术之后,我们介绍下openstack和如何搭建. Openstack组件 openstack架构图如下所示 那么我们就 ...

  9. 云计算之KVM虚拟化实战

    1 基础环境规划 1.1 主机环境规划 系统版本 主机名 IP地址 内存 磁盘 CentOS6.9 kvm-node1 10.0.0.200 2G 20G CentOS6.9 kvm-node2 10 ...

随机推荐

  1. Excel画的图复制到Word中变形的解决办法

    在Excel里画好了图,复制到Word里面经常会变形变的一塌糊涂,面目全非,实在是不理解微软为什么要把自己家的软件搞成这样. 要想保持形状不变,需要这样做: 1. 在Excel里面复制图形,和往常一样 ...

  2. HTML入门篇

    HTML HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏 ...

  3. JavaScript的写类方式(6)

    时间到了2015年6月18日,ES6正式发布了,到了ES6,前面的各种模拟类写法都可以丢掉了,它带来了关键字 class,extends,super. ES6的写类方式 // 定义类 Person c ...

  4. Fetch:下一代 Ajax 技术

    Ajax,2005年诞生的技术,至今已持续了 10 年.它是一种在客户端创建一个异步请求的技术,本质上它不算创新,是一组技术的组合.它的核心对象是 XMLHttpRequest. 简单回顾下历史 19 ...

  5. 【转】App架构设计经验谈:接口的设计

    App架构设计经验谈:接口的设计 App与服务器的通信接口如何设计得好,需要考虑的地方挺多的,在此根据我的一些经验做一些总结分享,旨在抛砖引玉. 安全机制的设计 现在,大部分App的接口都采用REST ...

  6. 卡通图像变形算法(Moving Least Squares)附源码

    本文介绍一种利用移动最小二乘法来实现图像变形的方法,该方法由用户指定图像中的控制点,并通过拖拽控制点来驱动图像变形.假设p为原图像中控制点的位置,q为拖拽后控制点的位置,我们利用移动最小二乘法来为原图 ...

  7. 小讲堂:Mobox文档管理软件中的文件外链是什么?

    今天我们来讨论Mobox文档管理软件中的文件外链是什么?熟悉MOBOX的朋友们应该知道,如果有文件需要分享给其他同事,直接可以进行文件共享.对方会在AM的即时通讯客户端有消息提醒,点击消息提醒可以看到 ...

  8. springboot Serving Web Content with Spring MVC

    Serving Web Content with Spring MVC This guide walks you through the process of creating a "hel ...

  9. [No000075]有没有安全的工作?

    如果你经常使用互联网,可能知道有一种东西叫做Flash. 它是一种软件,用来制作网页游戏.动画,以及视频播放器.只要观看网络视频,基本都会用到它. 七八年前,它是最热门的互联网技术之一.如果不安装Fl ...

  10. 简单的angular购物车商品小计

    <!DOCTYPE html> <html lang="en" ng-app="shopApp"> <head> <m ...